今日はこんなお困りごとを解決します。
Excelエクセルで使う「ワイルドカードとは何か?また使い方(一致パターン別の記述方法)」について例題付きで解説していきます。
- STEP1:ワイルドカードとは?
- STEP2:ワイルドカードの一致パターンと記述方法
ワイルドカードを覚えると関数式で処理できることの幅がグンッと広がります。
本記事を最後まで読んでいただくと、2つのワイルドカードついて「どんな記述の仕方をすると、どんなワードに一致するのか?」一致パターンがわかるようになります。
Excel(エクセル)のワイルドカードとは?
まずは「ワイルドカードってなに?」というところから少し説明したいと思います。
●ワイルドカードとは
ワイルドカードは、不特定の文字列であることを示す特殊記号で
文字列の一部のみを一致条件として指定して(部分一致で)関数式処理や検索したい時に使われる
- Excelで使われるワイルドカードは「*(半角アスタリスク)」「?(半角クエスチョンマーク)」の2種類
- 文字列には一致するが数値や数式などには一致しない
- 文字列やセル番号にくっつけて使うことができる
- 関数式内に組み込む場合は、両端を「"」で囲む必要がある
ワイルドカードは、元々コンピュータ・IT関連でよく使用される言語なんですよね。プログラミングやエクセルのVBAマクロでも同じような意味合いで使用されます。
この2つのワイルドカードがどんな使い方ができるかというと・・・
「*(半角アスタリスク)」の使い方
不特定の0文字以上の文字列と置き換えることができる
「*」を使うと『 どんな文字でもいいし何文字でもいいから何か文字列 』という指定になる
「*(半角アスタリスク)」の使い方
不特定の1文字と置き換えることができる
「?」を使うと『 どんな文字でもいいから何か1文字 』という指定になる
表にまとめるとこんな感じです。
*(半角アスタリスク) | ?(半角クエスチョンマーク) | |
---|---|---|
入力方法 | 半角英数字のキーボード設定でshift+「け」キー | 半角英数字のキーボード設定でshift+「め」キー |
示す意味 | 「任意の0文字以上」を表す | 「任意の1文字」を表す |
かんたんに言うと | どんな文字でも何文字でもいいから何か文字列・また0文字でもよい | どんな文字でもいいから何か1文字 |
ワイルドカードがどんなものなのか何となくわかりましたか?ワイルドカードは文字やセル番号と組み合わせて部分一致できる便利な記号なのです。
Excelワイルドカードの使い方(一致パターン別の記述方法)
ではこのワイルドカードをどうやって使えばいいのか?基本的な使い方を解説していきます。
ですが、適当にワイルドカードをくっつければいいわけではありません!
ワイルドカードをつける位置によって意味合いは異なるので
「*」を使うのか「?」を使うのか
またワイルドカードをくっつける位置はどこにするのか
を使い分けて記述する必要があります。
以下の表のように、ワイルドカードをつける位置によって指定パターンが4つに分かれます。
ワイルドカードの種類と位置による意味合いの違い
検索パターン | *(アスタリスク) | ?(クエスチョンマーク) |
---|---|---|
前方一致させたい | 文字* | 文字? |
後方一致させたい | *文字 | ?文字 |
中間一致させたい(=○○を含む) | *文字* | ?文字? |
前後一致させたい | 文*字 | 文?字 |
ちょっとわかりづらいと思うので具体例で説明していきますね。
例えば・・・
「ねこ」というキーワードを使ってどんな部分一致ができるかを説明していきたいと思います。
「*」半角アスタリスクの一致パターン
アスタリスクを使った部分一致パターンをみてみましょう。
①検索条件を「ねこ*」で前方一致にする
この場合は、「ねこ」「ねこ〇〇」に一致します。
〇一致する
「ねこ」「ねこまむし」「ねこじゃらし」「ねこ科」
×一致しない
「まねきねこ」「くろねこ」「子ねこ」「ねずこ」「ねっこ」
②検索条件を「*ねこ」で後方一致にする
この場合は「ねこ」「〇〇ねこ」に一致します。
〇一致する
「ねこ」「まねきねこ」「くろねこ」「子ねこ」
×一致しない
「ねこまむし」「ねこじゃらし」「ねこ科」「ねずこ」「ねっこ」
③検索条件を「*ねこ*」と中間一致にする
この場合は、「ねこ」「〇〇ねこ〇〇」に一致します。
〇一致する
「ねこ」「まねきねこ」「くろねこ」「子ねこ」「ねこまむし」「ねこじゃらし」「ねこ科」「ねこのこ」
×一致しない
「ねずこ」「ねっこ」
④検索条件を「ね*こ」と前後一致にする
その場合は「ねこ」「ね〇〇こ」に一致します。
〇一致する
「ねこ」「ねずこ」「ねっこ」「ねこのこ」
×一致しない
「まねきねこ」「くろねこ」「子ねこ」「ねこまむし」「ねこじゃらし」「ねこ科」
●「*」は0文字以上の文字を意味し、前後中間に何も文字が無くても一致するため「ねこ」にも一致する
●関数と組み合わせて使うときは「"*ねこ"」などのように両端を「"」で囲む必要がある
「?」半角クエスチョンマークの一致パターン
次は、クエスチョンマークを使うとどんな部分指定ができるかみてみましょう。
①検索条件を「ねこ?」で前後一致にする
この場合は「ねこ〇」だけに一致します。
〇一致する
「ねこ顔」「ねこ目」「ねこ科」
×一致しない
「ねこまむし」「ねこじゃらし」など後ろに1文字以上くっつくものや「まねきねこ」「くろねこ」「子ねこ」「ねずこ」「ねっこ」
②検索条件を「?ねこ」で後方一致にする
この場合は「〇ねこ」だけに一致します。
〇一致する
「子ねこ」「黒ねこ」
×一致しない
「まねきねこ」「くろねこ」など手前に1文字以上くっつくものや「ねこまむし」「ねこじゃらし」「ねこ科」「ねずこ」「ねっこ」
③検索条件を「?ねこ?」で中間一致にする
この場合は「〇ねこ〇」だけに一致します。
〇一致する
「超ねこ顔」「かねこ君」
×一致しない
「まねきねこ」「くろねこ」「ねこまむし」「ねこじゃらし」など前後に1文字以上くっつくものや「子ねこ」「ねこ科」「ねずこ」「ねっこ」
④検索条件を「ね?こ」で前後一致にする
その場合は「ね〇こ」だけに一致します。
〇一致する
「ねずこ」「ねっこ」
×一致しない
「ねこのこ」のようにねこの間に2文字以上挟むものや「まねきねこ」「くろねこ」「子ねこ」「ねこまむし」「ねこじゃらし」「ねこ科」
⑤検索条件を「ね??こ」のように2つ以上?をいれる
この場合には「ね〇〇こ」だけに一致します。
〇一致する
「ねこのこ」
?は任意の1文字を意味するので??とすると2文字を指定する使い方もできますよ。「???ねこ」なら「まねきねこ」に一致し、「ねこ????」なら「ねこじゃらし」に一致します。
●「?」は1文字の文字を意味するので、前後中間に何も文字の無い「ねこ」には一致しない点に注意しましょう
●アスタリスクと同様に、関数と組み合わせて使う際には「"?ねこ"」などのように両端を「"」で囲むこと
また、「?(半角クエスチョンマーク)」は指定したい文字数だけ「????・・・」と?の数を重ますが、「*(半角アスタリスク)の場合は「*」をいくつ重ねても意味合いは変わらないためこういった使い方はしない点にも注意が必要です。
ワイルドカードは文字列だけではなくセル番号にも組み合わせられる
ワイルドカードは文字列だけでなく、セル番号にもくっつけて部分一致指定をすることができます。
文字列にワイルドカードをつける場合には、「"*文字列*"」のように直接ワイルドカードとつなぐことができました。
一方で、セル番号にワイルドカードをつける場合は「&」と「"」を使って「&"*"」の形でつなぎ合わせる必要があります。
セル番号へのワイルドカードのつけ方
- 例)D4を前方一致にしたい
×「D4*」 〇「D4&"*"」 - 例)A1を中間一致にしたい
×「*A1*」 〇「"*"&A1&"*"」 - 例)A1を後方一致、かつ隣接するのは1文字に限定したい
×「?A1」 〇「”?”&A1」
「*」も「?」も文字列扱いになるため、「"」で囲んだうえで「&」とつなげる必要があるわけです。
例えばVLOOKUP関数で使うときはこんな感じになります。
=VLOOKUP("*"&A1&"*",$B$1:$E$9,2,0)
以上、今日はワイルドカードとは?についてと一致パターンの記述方法を解説してきました。
ワイルドカード実践編(SUMIF・COUNTIF・VLOOKUP関数での実践解説)はこちら
Excel(エクセル)関数でワイルドカードを使えば簡単に部分一致での検索ができることを知っていますか?本ページでは、よくワイルドカードを使うSUMIF関数、COUNTIF関数、VLOOKUP関数の使用事例を用いながらワイルドカードの使い方を解説しています。ワイルドカードを使えば、手間のかかっていた作業も効率化できるかもしれませんよ。
この記事を読んだ人におすすめの本(Amazonレビュー:)