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

if,検索

もりの

スープって名前のメニューを検索したいんだけ、できるかな?

やまの

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

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

スポンサーリンク

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

もりの
 
 

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

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

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

たとえばフルネームの名簿からCOUNTIF関数を使って、佐藤さんの件数を調べたいとき。

また「あの人……佐藤なんとか子さん!」と、途中だけ分からない文字列を検索したいとき。

そんな時に、まるでトランプのジョーカーのように何にでもなれる文字が使えたらどんなに便利か!
その文字が、ワイルドカードなのです!

やまの

ちなみにワイルドカードは数値には対応してないよ。

もりの

文字列だけなのか。

ワイルドカードは「*(アスタリスク)」か「?」で表します。

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

ワイルドカードの「*(アスタリスク)」と「?」、それぞれの違いはこんな感じ。

?何にでもなれる文字、一文字分
*何にでもなれる文字、0~何文字でもOK
もりの

はて?

「あお」の場合、「あ1お」や「あお」など、あとおの間が1文字のものに対応します。

「あ*お」の場合、「あお」でも「あいうえお」でも「あお」でも対応します。

*と?の違いを表した表
*と?の違い
やまの

どっちも半角で入力してね。

?は文字数を指定したいときに使えそうですね。

例えば“???スープ"とした場合、「トマトスープ」や「コーンスープ」といった、スープの前に3つだけ文字が入るものだけを対象にできます。

もりの

闇スープ。

またワイルドカードは、文字の頭や末尾にも使えます。

*スープトマトスープ、彩り野菜の冷製スープ、など
スープ*スープカレー、スープレックス、など
*スープ*フカヒレスープと彩り野菜、味噌スープ、スープスパ、など
もりの

ワイルドカード、壱の型、アスタリスク!

やまのの困った顔
やまの

マジ怒られるで。

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

ワイルドカードは検索や置換、関数でよく使われます。

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

このメニューの中から何とかスープと、スープの前に何かしら言葉が付くセルを検索したいと思います。

もりのの笑った顔
もりの

ワイルドカードを使うと「*スープ」でできそうだね!

ワイルドカードであいまい検索の練習問題
ワイルドカードを使って検索したい

ステップ1

検索するにも置換するにも、まずはショートカットキー「Ctrlキー+Fキー」を押してください。

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

ステップ2

検索する文字列に「*スープ」と入力し、「オプション」をクリックします。

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

危うく検索するところだった……

ステップ3

オプション部分が現れました。

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

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

完成!

検索結果が出てきました!

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

スープは含まれているけどスープで終わっていない、「スープスパ」なんかは除外されています。

もりの

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

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

やまの

先に範囲選択して検索すれば、範囲内検索ができるんよ。

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

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

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

たとえばCOUNTIF関数。条件に合うものの個数を確認する関数ですね。

COUNTIF関数の書き方

=COUNTIF(範囲,検索条件)

COUNTIFこの中でこの条件に合うセルは何個ある?
範囲「この中で」の部分
検索条件「この条件」の部分

先ほどのメニューの中にスープメニューがいくつあるのか?

スープと名がつくメニュー数を、ワイルドカードとCOUNTIF関数を使って調べたいと思います。

COUNTIF関数とワイルドカードの組み合わせ練習問題
COUNTIF関数とワイルドカードの組み合わせ
もりのの笑った顔
もりの

名前にスープって書いてあればいいから、「*スープ*」だね!

やまのののんびりした顔
やまの

ご名答!

ステップ1

というわけで、セルE2に「=COUNTIF(A2:A11,"*スープ*")」と入力してみてください。

ワイルドカードを使ったCOUNTIF関数
ワイルドカードを使ったCOUNTIF関数の式

完成!

無事、名前にスープと付くメニューの数がカウントできました!

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

スープと名がつくメニューは「トマトスープ」「スープスパ」「冷製スープスパ」「卵スープ」の4つなので、4ですね。

やまの

COUNTIF関数については、こっちのページで詳しくお話しするね。

練習問題

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

やまの

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

答え

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

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

ほかにもSUMIF関数の検索条件やVLOOKUP関数の検索値なんかは、ワイルドカードが使えます。

【Excel・エクセル】IF関数でワイルドカードを使うには?

こんな便利なワイルドカードですが、意外なことにIF関数では使えません

もりの

使う気満々だったのに!

さっきの表だと「=IF(A2="*スープ*","○","")」でスープメニューに○が付きそうですが、全部空白になってしまいます。

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

万事休す!?

やまの

諦めないでー!

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

やまの

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

もりの

あ、難しそう……

やまの

あ、諦めないでー!

IF関数の書き方

=IF(理論式,値が真の場合,値が偽の場合)

IFもし
理論値この数式が
値が真の場合当てはまったらこうしてね
値が偽の場合当てはまらなかったらこうしてね

IF関数の理論値に、ワイルドカードを使ったCOUNTIF関数を使います。

ステップ1

まずはIF関数から書いていきます。

セルB2に「=IF(」まで入力してください。

「=IF(」まで入力した画像
まずは関数名

ステップ2

さっそく理論値なので、COUNTIF関数の出番です。

「COUNTIF(」まで入力します。

COUNTIF(まで入力した画像
次にCOUNTIF関数

ステップ3

セルA2に「*スープ*」は何個あるか?を数えます。

「A2,"*スープ*")」とすれば良さそうですね。

COUNTIFU関数部分
A2の中の*スープ*の個数をカウントする
やまの

1以上なら正の場合、0なら偽の場合になるんよ。

ステップ4

COUNTIF関数が1以上、つまり*スープ*が含まれていたら○、なかったら空白にしたいので、「,"○",""」と入力します。

ワイルドカードを使ったIF関数
ワイルドカードを使ったIF関数の完成!

=もし(セルA2に,"0以上の文字、スープ、0以上の文字"がある場合),"○"を表示してね,違う場合"(空欄)"にしてね)ってことですね!

完成!

エンターキーで確定して、オートフィルでコピーすると……スープメニューに○印が付きましたね!

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

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

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

数式・関数,Excelif,検索

Posted by morino