【*(アスタリスク)の置換】うまくいかない原因と対処法!*ワイルドカードを無視

関数・操作応用

エクセルには置換の機能があります。
置換の記事についてはこちらから☟

【置き換え】文字・数値の置換をシート・ブック内で様々な条件で行う ► 独学エクセル塾 (dokugakuexcel.com)

この記事をご覧になられた方は「*(アスタリスク)」を置き換えてもうまくいかなかったのではないでしょうか。


*(アスタリスク)はワイルドカードという効果を持っており、置換にもその効果を発揮します。

そこで今回は*(アスタリスク)を1つの文字として置き換える方法について紹介します。
それでは見ていきましょう。




■ワイルドカードとは

ではまず、*(アスタリスク)の持つワイルドカードという機能について紹介します。
*(アスタリスク)は簡単に説明すると「文字・数値何にでも変化する」機能です。

例えば

「 * ○×△であれば「○×△で終わるすべての数値・文字」
○×△ * 」であれば「○×△で始まるすべての数値・文字」
「 * ○×△ * 」であれば「○×△を含むすべての数値・文字」

というイメージです。

さらにイメージしやすいように見本を用意しました。

・「123456789」の「*5をaaaに置き換え」

結果は5を含んだそれ以前の数値をすべてaaaに置き換えています。

・「123456789」の「5*をaaaに置き換え」

結果は5を含んだそれ以降の数値をすべてaaaに置き換えています。

・「123456789」の「*5*をaaaに置き換え」

結果は5を含むすべての数値をaaaに置き換えています。

ワイルドカードの理解はできたでしょうか。
正確に使えばとても便利な置換の手法です。

ちなみに置換に限らずワイルドカードは様々な場面で使用できます。

■*(アスタリスク)の置換で起こる問題点

先ほどは(アスタリスク)のワイルドカードについて紹介しました。 しかし*(アスタリスク)を文字として置き換えたいときには問題が生じます。

下図の見本をご覧ください。

「500*10」の計算をしたいとします。 なので「=500*10」と打ち込みました。

結果は500*10で5000になります。

しかしここで「10」で10をかけていた結果を「/10」で10で割るように変更したいとしましょう。 今回は置換で*10」から「/10」に変更してみましょう。

置き換えた結果はこのようになります。

「=500/10」の結果である「50」ではなく「/10」となってしまいました。
こちらの現象として「*10」の(*アスタリスク)がワイルドカードと判定され、
10を含んだ10以前のすべての文字数値を”/10″に置き換える」といったことになります。

*(アスタリスク)を文字として置き換えたい場合はワイルドカードが厄介ですね。
では対策を見ていきましょう。

■*(アスタリスク)を1つの文字として置き換える

では*(アスタリスク)を文字として置き換えてみます
使用するのは「~(チルダ)」という記号です。
~(チルダ)はワイルドカードを打ち消す機能があります。

○○から××を 「○○~××」で表す際に使用する記号ですね。

使用方法は簡単です。
*(アスタリスク)の前に「~(チルダ)」を入力するとワイルドカードを打ち消してくれます

なので先ほどは検索する文字列を「*10」としていましたが「~*10」に変更すればいいです。
では実際の結果を見ていきましょう。

置き換えた結果はこのようになります。

無事ワイルドカードを無視して*(アスタリスク)を文字で置き換えることができました

■公式の説明

わかりやすいように説明したため公式と使用する語句が異なりますが

マイクロソフト公式の説明については下記のリンクを参照してください。☟

ワイルドカード文字の例 (microsoft.com)

■まとめ

いかがだったでしょうか。
*(アスタリスク)のワイルドカードはとても便利ですが
文字で判別するとなると対応方法を考えなければなりません。

ぜひ今回の記事を参考に*(アスタリスク)とワイルドカードを
うまく活用してみてください。

それでは次回の記事でお会いしましょう。

コメント