皆さん、Excelでデータを扱う際に、特定のキーワードが含まれる情報を探したいと思ったことはありませんか?例えば、商品リストの中から「iPhone」に関連するすべての商品を見つけたい場合などです。今日は、そんな時に役立つ、VLOOKUP関数を使った部分一致検索の方法をご紹介します。
VLOOKUP関数とは?
まず、VLOOKUP関数について簡単におさらいしましょう。VLOOKUPは、指定した値を表の最初の列で探し、見つかった行から指定した列の値を返す関数です。通常、完全一致の検索に使用されますが、少し工夫することで部分一致の検索も可能になります。
部分一致検索を可能にするワイルドカード
部分一致検索を実現するためには、ワイルドカードを使用します。Excelでは、以下のワイルドカードが利用できます
- アスタリスク(*)任意の数の文字に一致します。
- クエスチョンマーク(?)任意の1文字に一致します。
今回は、アスタリスク(*)を使用して、任意の文字列を含むデータを検索します。
VLOOKUP関数で部分一致検索を行う方法
それでは、具体的な方法を見ていきましょう。以下の手順で進めます。
- 検索したい部分文字列を含むセルを指定します。
- その文字列の前後にアスタリスク(*)を追加して、検索値を作成します。
- その検索値をVLOOKUP関数のlookup_valueとして使用します。
- table_array、col_index_num、range_lookupの各引数を設定します。
具体的な例を見てみましょう。以下のような商品リストがあるとします。
| 商品名 | 価格 |
|---|---|
| iPhone 12 | ¥80,000 |
| iPhone 12 Pro | ¥100,000 |
| Galaxy S21 | ¥90,000 |
| Xperia 5 | ¥85,000 |
この中から、「iPhone」を含む商品の価格を取得したい場合、以下のようにします。
1. 検索値を含むセル(例`G2`)に「iPhone」と入力します。
2. VLOOKUP関数を使用して、部分一致検索を行います。
具体的なVLOOKUP関数の式は以下のようになります。
=VLOOKUP("*"&G2&"*", A2:B5, 2, FALSE)
この式では、`G2`の値「iPhone」の前後にアスタリスク(*)を追加し、`A2:B5`の範囲で部分一致検索を行っています。これにより、「iPhone」を含む最初の商品の価格が返されます。
部分一致検索を行う際の注意点
部分一致検索を行う際には、以下の点に注意が必要です
- 最初に見つかった一致VLOOKUP関数は、最初に見つかった一致を返します。複数の一致がある場合、最初の結果のみが取得されます。
- 大文字と小文字の区別VLOOKUP関数は、大文字と小文字を区別しません。
- 余分なスペース検索値やデータ内に余分なスペースがあると、期待通りの結果が得られない場合があります。データのクリーニングを行いましょう。
よくある質問や疑問
Q1. VLOOKUP関数で部分一致検索を行う際、複数の結果を取得することはできますか?
残念ながら、VLOOKUP関数自体は最初に見つかった一致のみを返します。複数の結果を取得したい場合、FILTER関数(Excel 365以降)やINDEX関数とMATCH関数を組み合わせる方法があります。
Q2. 部分一致検索で大文字と小文字を区別することはできますか?
標準のVLOOKUP関数では、大文字と小文字を区別しません。区別したい場合、EXACT関数を組み合わせる方法がありますが、複雑になるため注意が必要です。
まとめ
今回は、ExcelのVLOOKUP関数を使った部分一致検索の方法をご紹介しました。ワイルドカードを活用することで、柔軟なデータ検索が可能となります。ぜひ、日々の業務で活用してみてください。



コメント