Excelで「*」を置換したいけどワイルドカードで困っちゃう
Excelでお仕事
MicrosoftのExcelって、仕事をする上では欠かせないツールだと思うんです。
Excel無しで事務仕事するって、もはや罰ゲームなんじゃないかって思うレベルで、みんな使ってるツールだと思うんです。
で、自分だけで仕事するんだったら、どんなにわがままなシートの設計をしても問題ないんですけど、他の人とシートを共有したり、共同で仕事したりすることってありますよね。
そんなときに、ありえない設定を押し付けられたりすること、あるんです。困っちゃうんです。
上のシート、見てください。
氏名の横に得点が入ってます。
40点未満は「赤点」です。それはいいです。
見てすぐ分かるようにするため、「赤点」の点数には、点数の前に「*」が付いてるんです。
ちょっとでもパソコン詳しい人なら、これがどんだけありえない設計なのかがお分かりいただけると思います。
ありえない設計の説明
これがどんだけありえない設計なのか、できるだけ詳しくお話します。
まずね。これってテストの点数だったりするんですよ。
ってことは、数字として処理しなきゃならなかったりするんですよ。
平均出したり、順位出したり、他の科目との合計出したり。
でも、「*」が付いているデータは「文字列」の扱いなんです。
「84」や「70」は、数としての「はちじゅうよん」「ななじゅう」として取り扱われるんです。
でも、「*27」は「こめ・に・なな」なんです。
足し算や引き算などの計算はできないし、大小の比較もできない。
データとして使い物にならないんです。
「*」がめっちゃ邪魔なんです。消したいんです。
アスタリスク
パソコンを使う上で、「*」は特別な使い方をする文字なんです。
「*」は「アスタリスク」って呼びます。一般的によく知られた使い方は、かけ算ですね。
かけ算以外の側面
アスタリスクには、かけ算以外の側面があります。
「ワイルドカード」っていうんですけど。
「なんでもいいよ」っていう意味なんです。
検索とか置換をするときに、検索窓に文字を入力して検索しますよね。
そのときに、「*」を入力すると、「なんでもいい」っていう意味になります。
例えば、「*太郎」って検索すると、「山田太郎」「田中太郎」「たこ焼き太郎」「ジャストシステム・一太郎」「桃から生まれた桃太郎」なんかが全部ヒットします。
「『太郎』の前はなんでもいいよ」って意味になるんです。
「*」を空白に置換
とにかく「*」が邪魔です。
だから、置換して消したい。
「CTRL+H」で「置換」です。画像のような窓が出ます。
検索する文字列のところに「*」を入力し、置換後には何も入れません。
普通なら、これで「*」が「何もなし」に置換されます。
でも、「*」は意味が違うんです。
はい。こうなります。
「*」は「なんでもいい」でしたよね。
つまり「なんでもいい」を「何もなし」に置換すると、すべてのデータが「何もなし」に書き換えられちゃうんです。
どうですか。
数値が文字列になってるから使い物にならない。
だから、邪魔な印を消したいのに、
よりによってアスタリスクなんか使ってるもんだから、
ワイルドカードで全部消えちゃう。
もうね。どこの素人が作ったんだ、と。
ちなみに、これってリアルにわたしの職場でやってる仕事なんです。
上層部のお偉いさんが作ったシステムで、これを使うことが義務付けられてるやつ。
もう、邪魔でしかない。
ワイルドカードをキャンセル
お待たせしました。「*」をワイルドカードではなく、単なる文字としての「*」として扱う方法を紹介します。
「エスケープシーケンス」っていうんですけど、直後の文字の特別な機能をキャンセルする方法があるんです。
広く使われている方法では「¥(円マーク)」とかバックスラッシュを使うんですが、Excelでは違うようです。
Excelではエスケープシーケンスに半角の「~」を使います。
「SHIFT+『へ』」のキーで入力できます。
このように検索する文字列に入力し、置換後には何も入れません。
「すべて置換」をクリックすると
はい、見事に「*」だけ消すことができました。
どうぞお試しください。