Excelでデータを検索する際、完全一致だけでなく、部分一致での検索が必要な場面があります。特に、商品名や名前の一部しか覚えていないときに便利なのが、XLOOKUP関数とワイルドカードの組み合わせです。今回は、初心者の方にもわかりやすく、実際の例を交えて解説します。
ワイルドカードとは?
ワイルドカードとは、文字列の一部を不明な部分として扱うための記号です。Excelでは主に以下の2種類が使われます
- *(アスタリスク)任意の文字列を表します。
- ?(クエスチョンマーク)任意の1文字を表します。
例えば、「*リンゴ*」と検索すれば、「青リンゴ」や「赤リンゴ」など、「リンゴ」を含むすべてのデータを検索できます。
XLOOKUP関数でワイルドカードを使う方法
XLOOKUP関数は、指定した範囲から条件に一致するデータを検索する関数です。ワイルドカードを使用するには、match\_mode引数を2に設定します。これにより、部分一致検索が可能になります。
例えば、以下のような商品データがあるとします
| 商品コード | 商品名 | 価格 |
|---|---|---|
| 001 | 青リンゴ | 100円 |
| 002 | 赤リンゴ | 120円 |
| 003 | 黄リンゴ | 110円 |
この中から「リンゴ」を含む商品を検索するには、以下のように入力します
=XLOOKUP("*リンゴ*", B2:B4, C2:C4, "該当なし", 2)
この式では、「リンゴ」を含む商品名を検索し、対応する価格を返します。
複数の一致するデータを取得する方法
XLOOKUP関数は、デフォルトでは最初に一致したデータのみを返します。複数の一致するデータを取得したい場合は、FILTER関数を併用します。
例えば、以下のようなデータがあるとします
| 商品コード | 商品名 | 価格 |
|---|---|---|
| 001 | 青リンゴ | 100円 |
| 002 | 赤リンゴ | 120円 |
| 003 | 黄リンゴ | 110円 |
| 004 | 青リンゴジュース | 150円 |
この中から「青リンゴ」を含む商品をすべて取得するには、以下のように入力します
=FILTER(B2:C5, ISNUMBER(SEARCH("青リンゴ", B2:B5)))
この式では、「青リンゴ」を含むすべての商品名と価格を取得します。
注意点とトラブルシューティング
- データの前後に余分なスペースがあると一致しない場合があります。TRIM関数を使用して余分なスペースを削除してください。
- 大文字と小文字は区別されません。ワイルドカード検索はケースインセンシティブです。
- 複数の一致するデータがある場合、XLOOKUPは最初の一致のみを返します。すべての一致するデータを取得するには、FILTER関数を使用してください。
よくある質問や疑問
Q1: XLOOKUP関数でワイルドカードを使うにはどうすればよいですか?
XLOOKUP関数でワイルドカードを使用するには、match_mode引数を2に設定します。例えば、「*リンゴ*」を検索する場合、以下のように入力します
=XLOOKUP("*リンゴ*", B2:B4, C2:C4, "該当なし", 2)
Q2: 複数の一致するデータを取得するにはどうすればよいですか?
複数の一致するデータを取得するには、FILTER関数を使用します。例えば、「青リンゴ」を含むすべての商品を取得する場合、以下のように入力します
=FILTER(B2:C5, ISNUMBER(SEARCH("青リンゴ", B2:B5)))
Q3: ワイルドカード検索で注意すべき点はありますか?
ワイルドカード検索を使用する際は、以下の点に注意してください
- データの前後に余分なスペースがないか確認してください。
- 大文字と小文字は区別されません。
- 複数の一致するデータがある場合、XLOOKUPは最初の一致のみを返します。
まとめ
XLOOKUP関数とワイルドカードを組み合わせることで、部分一致検索が可能になり、データの検索がより柔軟になります。FILTER関数を併用すれば、複数の一致するデータも取得できます。ぜひ、実際のデータで試してみてください。



コメント