【Excel・エクセル】ワイルドカードとは?あいまい検索や関数での使い方

2020/9/25

もりの

メニューの中でスープだけ探したいんだけど、できるかな?

やまの

それなら、ワイルドカードを使うといいんよ!

今回のポイント

  • ワイルドカードは、一文字だけは「?」複数文字は「*」
  • 検索や置換で使うには、オプション→セル内容が完全に同一であるものを検索するにチェック
  • IF関数で使うには、理論値にCOUNTIFなどを使う

 ワイルドカードの練習ファイルダウンロード

もりの
 
 

一緒にやってみませんか?

【Excel・エクセル】ワイルドカードとは?

あいまい検索したいときってありませんか?

たとえばCOUNTIF関数を使って、メニューの中のスープにだけ○印をつけたい場合。
“スープ"と指定しても、トマトスープやスープスパなど、スープ以外の文字列があるとうまくできません。

たとえば検索機能を使って、メニューの中の○○スープだけ検索したい場合。
スープと検索しても、スープと書いていあるすべてのセルがヒットしてしまいます。

そんな時に、何でもいいから何か文字があれば、という指定ができる、それがワイルドカードなのです!

【Excel・エクセル】ワイルドカードの使い方

やり方のイメージ

ワイルドカードの「?」と「*」の違い

ワイルドカードは「*(アスタリスク)」か「?」で表します
それぞれの違いはこんな感じ。

?何かしらの一文字だけ
*何かしらの文字列、一文字だけも対象
やまの

ちなみにどちらも半角で入力してね。

ここにメニューの一覧があります。

例題
例題

「*(アスタリスク)」のワイルドカード

この中で、例えば〇〇スープと、スープの前に何かしらの文字が入り、最後はスープで終わるものを調べたいとき、ワイルドカードを使うとこうなります。

“*スープ"

これで、「卵スープ」も「トマトスープ」も、「生姜薫る体の芯まで温まる優しいスープ」だって対象になります。
逆に、「スープスパ」や「冷製スープカレー」など、スープで終わらないものは対象外です。

もりの

食べる人を選びそうなスープだ。

ざっくりまとめると、こんな感じです。

*スープ味噌スープ、トマトスープ、彩り野菜の冷製スープ、など
スープ*スープスパ、スープで食べる彩り野菜、スープレックス、など
*スープ*冷製スープスパ、フカヒレスープと彩り野菜、味噌スープ、スープスパ、など
やまの

*(アスタリスク)は、何も文字がない場合でも拾ってくれるんよ。

「?(クエスチョンマーク)」のワイルドカード

対して、例えば○○○スープと、スープの前に何かしらの3文字が入り、最後はスープで終わるものなど、文字数を指定したいとき、ワイルドカードを使うとこうなります。

“???スープ"

もりの

闇スープ。

これで、「トマトスープ」や「コーンスープ」といった、スープの前に3つだけ文字が入るものだけを対象にできます。
スープで終わる文字でも、3文字ではない「フカヒレスープ」や「みそスープ」は対象外です。

ざっくりまとめるとこんな感じです。

???スープトマトスープ、コーンスープ、など
????スープフカヒレスープ、あんかけフープ、彩り野菜スープ、など
??スープ??冷製スープスパ、このスープうま、など
スープ????スープのカレー、スープレックス、など
もりの

彩り野菜推し。

やまの

きっとスープレックスの方が自信あるんだよ、拾ってあげて。

実際にどんな時に使えるか、見てみよう。

ワイルドカードの使い方・検索や置換の場合

探すイメージ

実際に例題のA列から、スープと書いてあるセルを検索するには、スープと検索すればいいですが、最後がスープで終わるセルを検索する場合は、ワイルドカードを使います。

もりの

検索や置換については、こっちで教わったよ。

ステップ1

Ctrlキー+Fキー」で、検索と置換ダイアログボックスを出してください。

検索のショートカットキー
検索のショートカットキー

ステップ2

検索する文字列に「*スープ」を入力します。
あ、まだ検索は押さないで!このままだとスープが入ったセルすべてが検索されてしまいます。

ステップ3

右下にある「オプション」をクリックしてください。

検索と置換ダイアログボックス
*スープと書いてオプションを開く

ステップ4

オプションの画面が現れました。
この中の「セル内容が完全に同一であるものを検索する」をクリックしてチェックを入れて、すべて検索をしてみてください。

検索と置換ダイアログボックスのオプション画面
完全一致にチェックを!

完成!

すると、検索結果が3つ出てきました。
どれもスープで終わっているものばかりで、スープは含まれているけどスープで終わっていない「スープスパ」なんかは除外されています。

ちなみに、○○スープは練習用ファイルで使うものなので、気にしないでください……

検索結果の画面
3つの検索結果が出てきた
もりの

???スープにすると、トマトスープだけ検索されるんだね!

置換も同じ要領でできます。

ワイルドカードの使い方・関数の場合

ワイルドカードは関数でも使えます。

たとえばCOUNTIF。範囲の中で、条件に合うものが何個あるかを確認する関数ですね。

下図は、とあるお店のメニュー一覧です。

例題
例題

この中で、スープメニューがいくつあるのか調べたいと思います。

セルE2に、メニューの中にスープがいくつあるのか出したいと思います。
「=COUNTIF(A2:A11,"スープ")」でできそうな気もしますが、それでは0になってしまいます。

間違ったカウントイフの使い方
“スープ"だと0になる
やまの

「スープ」って書いてあるセルはいくつ?ってことになるからね。

そこで、ワイルドカードの出番です。

ステップ1

スープの両端に「*(アスタリスク)」を付けてみてください。
=COUNTIF(A2:A11,"*スープ*")」ですね。

完成!

すると、なんということでしょう!
スープメニューの件数が出たではありませんか。

ワールドカードを使った関数の使い方
スープの件数が出た!
もりの

タララーン、ターターターン♪

A列には「スープ」とだけ書かれたセルはありませんが、「何かしらの文字、スープ、何かしらの文字」で書かれたスープはありますよね。
ワイルドカードのおかげで、それを数えられたということです。

何かしらの文字とありますが、スープで終わるセルもしっかりカウントされています。
*(アスタリスク)のワイルドカードは、何もない場合でも対象になるんですね。

練習問題

セルE3以降は、条件にあったスープメニューを数える必要があります。
COUNTIF関数とワイルドカードで出せるので、ぜひチャレンジしてみてください!

やまの

答えは上から2,1,1になるよ。

答え

セルE3→=COUNTIF(A2:A11,"*スープ")
セルE4→=COUNTIF(A2:A11,"*スープ")
セルE5→=COUNTIF(A2:A11,"?スープ")

※絶対参照($)が入っていてもOKです。

ほかにもSUMIF関数なんかは、ワイルドカードが使えます。

【Excel・エクセル】ワイルドカードが使えない関数がある?

分からないイメージ

こんな便利なワイルドカードですが、どんな関数にも使える、というわけではありません。
意外なことに、一番使えそうなIF関数では使えないのです。

もりの

使う気満々だったのに!

例題のB列に、スープメニューだったら○と表示されるように、IF関数を入れてみます。
セルB2に「=IF(A2="*スープ*","○","")」と入力してみてください。

ワイルドカードを使ったIF関数の画像
IF関数にワイルドカードを使ってみる

まぁ、ナポリタンにはスープ入ってないので空欄でいいのですが、オートフィルで下まで引っ張ってみても……
スープと名が付くメニューに、ことごとく〇が付きません。

ワイルドカードを使ったIF関数の画像2
スープ料理に〇が付かない

そう、IF関数ではワイルドカードを認識しないのです!

もりの

万事休す!?

やまの

諦めないでー!

IF関数でワイルドカードを使うには

IF関数ではワイルドカードは使えませんが、COUNTIF関数なら使えましたよね。
ということは、COUNTIF関数を使ってIF関数を作ればいいんです!

やまの

=IF(COUNTIF(A2,"スープ“)>0,"○","")でできるよ。詳しく見ていくね。

もりの

あ、難しそう……

やまの

諦めないでー!

ステップ1

IF関数の理論値に、ワイルドカードを使ったCOUNTIF関数を使います。
先ほど入力した「=IF(A2="スープ“,"○","")」の、「A2="スープ"」が理論値ですね。
この部分をバッサリ消しちゃってください。

ステップ2

そして、「COUNTIF(A2,"*スープ*")>0」と入力します。
式が「=IF(COUNTIF(A2,"スープ“)>0,"○","")」になりました。

これを日本語訳すると、

=もし(セルA2に,"何かしらの文字、スープ、何かしらの文字"が0個より多くある場合),"○"を表示してね,違う場合"(空欄)"にしてね)

となります。

ステップ3

エンターキーで確定して、オートフィルで下まで引っ張ってみると……スープのメニューに○印が付きましたね!

ワイルドカードを使ったIF関数の画像3
スープ料理に〇が付いた

ワイルドカードを使いこなせば、幅広い対応が可能になりますね!
それでは、お疲れさまでした!

今回のおさらい

  • ワイルドカードは、一文字だけは「?」複数文字は「*」
  • 検索や置換で使うには、オプション→セル内容が完全に同一であるものを検索するにチェック
  • IF関数で使うには、理論値にCOUNTIFなどを使う