エクセルで*を置換するのがむつかしかった

エクセルは長年使っているので、おおよそのことは知っているつもりなのですが、思いがけずわからないことが出てくるものです。
今回も、やりたかったことは「置換」なのですが、思いのほかはまってしまいました。
備忘録として記録いたします。
今回の現象
以下のような、計算式(*2)を置換で変換(*3に変換)しようと思いました。

実際にやってみるとこうなりました。


=A1が消えて、*3だけになりました。
当然計算式が壊れた状態です。
【疑問】なんで「=A1」が消えてしまったのか?

*2を置換しただけなのに、ほかの部分まで置換されてしまいました。
なんでだろうと思って調べてみたら、以下のような理由でした。
- エクセルの置換で「*」を入れるとワイルドカード扱いになる
つまり、「*2」を指定すると、2の前全部を置換という意味になります。
なので、=A1ごと置換されてしまったのです。
理屈はわかりましたが、全く知りませんでした。
ではどうすればよいのでしょうか?
「*」の前に~(チルダ)をつけて検索する
*を置換する場合は、~をつけると*だけを置換できます。
具体的には以下のようにします。

実際にやってみると正しく置換できました

やりたいことができました。
【疑問】~をつけるとなぜ置換できたのか?
置換で*は、エクセルではワイルドカードになります。
つまり文字でなく、記号としてエクセルが認識しています。
~(チルダ)をつけると、強制的に文字として認識します。
ちなみに「次の文字を強制的に文字として扱う」という意味になります。
例えば「~あ」と「あ」はどちらも同じ意味になります。
以下のものを「~あ」で置換してみると、「あ」だけ変換され~は変換されませんでした。

何でわざわざ置換でやろうとしたのか?
賢い方なら疑問に思われたと思います。
なんでわざわざ置換で*を変換しようとしたのか?
そもそも置換せず、手動で書き換えれば早いじゃないのか?
まったくもってその通りなのですが、今回は特殊な事情がありました。
- 計算式を書き換える箇所が100か所ほどあった
エクセルでの計算式のシートで、計算式の間違いを修正する必要があったのですが、百か所ほどありました。
手で1個ずつ直すのは大変だったので、置換で一括書き換えをしようと思ったのです。
数か所だったら、今回の疑問は沸きませんでした。
ちなみに置換後に~をつけてやっみると次のようになりました。
置換前に~(チルダ)をつけると*を置換できることがわかりました。
ならば、置換後にも~をつければいいのではないか?
と思い試してみました。


結果はエラーとなりうまく置換できませんでした。
置換の際には、置換前にだけ~(チルダ)を指定するもののようです。
まだまだ知らないことはたくさんあります

エクセルは使い始めてかなり年数がたちましたが、今回まだまだ知らないことがあるものだと思いました。
知っているつもりになっていると、そこで成長が止まるものです。
知らないことを見つけたら、知ることでさらなる成長ができるものです。























