• 公開日:

ExcelのVLOOKUP関数で部分一致(を含む)検索する方法

この記事では、ExcelのVLOOKUP関数で部分一致(を含む)検索する方法をご紹介します。

部分一致(を含む)検索する場合、「ワイルドカード」を使うと不特定の文字列を検索することができます。

以下では、ワイルドカードを使った検索方法とVLOOKUP関数と組み合わせる際の注意点をご紹介します。

ExcelのVLOOKUP関数で部分一致(を含む)検索する方法

部分一致(を含む)検索をする際はワイルドカードを使うと便利です。

ワイルドカードとは、不特定の文字の代わりに代替する特殊文字のことです。 特殊文字を指定した文字列の前後に付けることで条件を絞って検索をすることができます。

以下では、ワイルドカードを使って部分一致(を含む)検索する方法を2種類ご紹介します。

*を使って不特定の文字数を含む文字列を検索する

「*」(アスタリスク)は部分一致したい文字列の前後に付けることで、不特定の文字数を含む文字列を検索することができるワイルドカードです。

以下では、部分一致したい文字列をセル参照している場合の検索値の入力例と検索条件を示しています。

検索値の入力例検索条件
"*"&D2D2セルの値で終わる文字列
D2&"*"D2セルの値で始まる文字列
"*"&D2&"*"D2セルの値を含む文字列

実際に、「*」を使ってExcelのVLOOKUP関数で部分一致(を含む)検索する方法をご紹介します。

データを用意する

上記の画像のようなデータを用意します。

検索値の前に*を付ける

上記の左側にある表から検索値の一部をA4として、「高品質紙 A4」の単価を抽出するには、E2セルに=VLOOKUP("*"&D2,A2:B5,2,FALSE)」を入力してEnterを押します。

E2セルに、不特定の文字列から始まりA4で終わる「高品質紙 A4」の「単価」¥550が抽出できました。

検索値の後に*を付ける

上記の左側にある表から検索値の一部をA4として、「A4 光沢紙」の単価を抽出するには、E2セルに=VLOOKUP(D2&"*",A2:B5,2,FALSE)」を入力してEnterを押します。

E2セルに、A4から始まり不特定の文字列で終わる「A4 光沢紙」の「単価」¥1,800が抽出できました。

特定の文字列の前後に*を付ける

上記の左側にある表から検索値の一部を500として、「再生紙 A4 500枚入り」の単価を抽出するには、E2セルに=VLOOKUP("*"&D2&"*",A2:B5,2,FALSE)」を入力してEnterを押します。

E2セルに、500を含む不特定の文字列「再生紙 A4 500枚入り」の「単価」¥350が抽出できました。

?を使って特定の文字数を含む文字列を検索する

「?」(クエスチョン)を部分一致したい文字列の前後に付けることで、特定の文字数を含む文字列を検索することができるワイルドカードです。

以下は、部分一致したい文字列をセル参照している場合の検索値の入力例と検索条件を示しています。

検索の入力例検索条件
"???"&D23文字の文字列+D2セルの値
D2&"???"D2セルの値+3文字の文字列
"???"&D2&"???"3文字の文字列+D2セルの値+3文字の文字列

実際に、「?」を使ってExcelのVLOOKUP関数で部分一致(を含む)検索する方法をご紹介します。

データを用意する

上記の画像のようなデータを用意します。

検索値の後に?を付ける

上記の左側にある表から検索値の一部をA4として、「高品質 A4」の単価を抽出するには、E2セルに=VLOOKUP("?????"&D2,A2:B5,2,FALSE)」を入力してEnterを押します。

全角スペースも1文字としてカウントするので、「?」は5つ入力します。

E2セルに、不特定の5文字から始まりA4で終わる「高品質紙 A4」の「単価」¥550が抽出できました。

検索値の前に?を付ける

上記の左側にある表から検索値の一部をA4として、「A4 光沢紙」の単価を抽出するには、E2セルに=VLOOKUP(D2&"????",A2:B5,2,FALSE)」を入力してEnterを押します。

全角スペースも1文字としてカウントするので、「?」は4つ入力します。

E2セルに、A4から始まり不特定の4文字で終わる「A4 光沢紙」の「単価」¥1,800が抽出できました。

特定の文字列の前後に指定した文字数の?を付ける

上記の左側にある表から検索値の一部をA4として、「再生紙 A4 500枚入り」の単価を抽出するには、E2セルに=VLOOKUP("????"&D2&"???????",A2:B5,2,FALSE)」を入力してEnterを押します。

全角スペースも1文字としてカウントするので、「?」はD2セルの値の前に4つと、D2セルの値の後に7つ入力します。

E2セルに、A4を含む不特定の文字列「再生紙 A4 500枚入り」の「単価」¥350が抽出できました。

ワイルドカードを使う際の注意点

ワイルドカードは、特殊文字を組み合わせることで不特定の文字列を検索できる便利な機能ですが、VLOOKUP関数と組み合わせる場合は注意点があります。

VLOOKUP関数は、該当する値が複数ある場合に1番上の値しか抽出できないため、該当する値が2つ以上ある場合は正しい値が表示されない可能性があります。

検索値の前に*を付ける際の注意点

「A4 光沢紙」の単価を取得したい場合に、検索値を「D2&"*"」に指定すると¥450が返されました。

ワイルドカード「*」は、文字数を指定しないので、後ろに文字列がない場合でもA4から始まる値を抽出してしまい、検索条件に該当する1番上のA2セルの値が返されました。

VLOOKUP関数は該当する値が複数ある場合に1番上の値しか返すことができないため注意が必要です。