ExcelやスプレッドシートのVLOOKUP関数で検索値を設定する際、完全に一致する文字列を用意するのが難しい場合もあると思います。
そのような時に役立つのが、部分一致で検索できる「あいまい検索」です。
この記事では、ExcelやスプレッドシートのVLOOKUP関数で文字列を含む部分一致の検索方法をご紹介します。
VLOOKUP関数で文字列を含む部分一致の検索方法
VLOOKUP関数で文字列の部分一致を含むあいまい検索を行うには、検索値である文字列の前後に「*」(アスタリスク)を付けます。
- 書式
=VLOOKUP(*文字列*, 検索範囲, 列番号, 検索の型)
例
次のシートでは、商品番号に「007」を含む商品の「商品分類」をB2セルに表示してみます。
検索値は文字列であると認識させる必要があるので、数字の場合は両端を「”」(ダブルクォート)で囲む点に注意してください。
- 使用例
=VLOOKUP("*007*", A6:E14,2,FALSE)
B2セルで使用すると、商品「A007」の商品分類「セーター」が表示されました。
アスタリスクの付け方で検索方法を変更できる
VLOOKUPの検索値に付けるアスタリスクの位置よって検索方法を変更することができます。
- 前方一致:文字列*
「007*」であれば「007」で始まる文字列を検索します。例えば「0078」や「007-A1567」などです。こちらは「前方一致検索」と呼ばれます。 - 後方一致:*文字列
「*007」であれば「007」で終わる文字列を検索します。例えば「A007」や「0120007」などです。よく「後方一致検索」と呼ばれます。 - 部分一致:*文字列*
「*007*」とした場合は前後の文字列を問わず、「007」が含まれている文字列を検索します。もちろん「007」で始まる文字列や終わる文字列であっても、単純に「007」であってもヒットします。
あいまいな文字列にセルの値を利用する場合は以下のように「&」で結合します。
- 使用例
=VLOOKUP("*"&B1&"*", A6:E14,2,FALSE)
以上、VLOOKUP関数で文字列を含む部分一致の検索方法でした。
コメント