ワイルドカードで曖昧検索!XLOOKUP/VLOOKUP/HLOOKUPの使用例と注意点 DL可

本記事では、XLOOKUP/VLOOKUP/HLOOKUP関数のワイルドカード使用に関して、説明します。ワイルドカードを「XLOOKUP/VLOOKUP/HLOOKUP関数」での使用例を紹介します。ただし、ワイルドカードの使用は注意が必要です。XLOOKUPはワイルドカードを使用して曖昧検索するのは問題ありませんが、VLOOKUP/HLOOKUPでは使用を控えるべきと考えています。また、複数一致するケースが往々にしてあります。その場合、最初に一致した値を返すため、他に一致した値を無視してしまう恐れがあるためです。


検索値にワイルドカードを使用して、

曖昧検索した例注意点をお伝えします、

ただし、ワイルドカードの使用は注意が必要です。

曖昧検索のため、複数一致するケースが往々にしてあります。

その場合、

最初に一致した値を返すため、他に一致した値を無視してしまう恐れ

があるためです。

ワイルドカードとは ワイルドカードは、正規表現の一種であり、文字列のパターンマッチングに使用されます。 ワイルドカードを使用することで、曖昧な文字列の検索も可能になります

【MATCH関数】ワイルドカードを使用した曖昧検索 | データ分析ドットコム


ワイルドカードの解説に興味がある方は『MATCH関数 -ワイルドカードを使用した曖昧検索-』を拝読ください。

なお、XLOOKUP関数、HLOOKUP関数、VLOOKUP関数のそれぞれの解説は、

データ分析ドットコムの記事を拝読いただければと思います。

下図の検索ボックスに、対象のキーワードを入れて、探して見てください。

新しい情報の追加が予想されるため、本記事に参考記事のリンクを掲載できません。

最新かつ正確な情報を提供できないためです。


「ワイルドカード」の使用例

いずれの関数も、

検索値にワイルドカードを使用しているため、原理は同じです。

順追って見ていきましょう。

結論から言うと・・・

検索値にワイルドカード「*」を使用して、

セルC13の値を含む部分文字列が検索しているだけです。

XLOOKUP関数のケース

商品コード003を含む、商品名を検索するためのXLOOKUP関数です。

=XLOOKUP(“*”&C13,$C$2:$C$7,$D$2:$D$7,,2)

商品コード003を含む、商品名を検索するためのXLOOKUP関数です。
ワイルドカードを使用して曖昧検索。

以下で、XLOOKUP関数式の要素を説明します。

  • “*”&C13: 「&」は、文字列の連結演算子です。この式は、ワイルドカード「*」とC13の値を連結して1つの文字列として表します。ワイルドカード「*」により、セルC13の値を含む部分文字列が検索されます。
  • $C$2:$C$7: C2〜C7の各セルを検索範囲として設定されています。
  • $D$2:$D$7: D2〜D7の値を返します。
  • 2: 「ワイルドカード文字との一致」=2を指定します。

つまり、

検索値「“*”&C13を、

検索範囲「$C$2:$C$7」の中から探して、

戻り範囲「$D$2:$D$7」から合致したデータ

を表示させます。


検索値にワイルドカード「*」を使用して、

セルC13の値を含む部分文字列が検索している点がポイントです。

もし、

商品コード「A003」「B003」のように複数合致するケースがあれば、

最初に一致した値を返してしまいます

VLOOKUP関数のケース

商品コード003を含む、商品名を検索するためのVLOOKUP関数です。

=VLOOKUP(“*”&C13,$C$2:$D$7,2,0)

商品コード003を含む、商品名を検索するためのVLOOKUP関数です。
ワイルドカードを使用して曖昧検索。

以下で、VLOOKUP関数式の要素を説明します。

  • “*”&C13: 「&」は、文字列の連結演算子です。この式は、ワイルドカード「*」とC13の値を連結して1つの文字列として表します。ワイルドカード「*」により、セルC13の値を含む部分文字列が検索されます。
  • $C$2:$D$7: C2〜D7の各セルを検索範囲として設定されています。
  • 2: 検索範囲C2〜D7の2列目を返します。つまり、2を指定するにより、D列の値を返します
  • 0: 完全一致を指定します

つまり、

検索値「“*”&C13を、

検索範囲「$C$2:$D$7」の中から探して、

「$C$2:$D$7の2列目」から合致したデータ

を表示させます。

検索値にワイルドカード「*」を使用して、

セルC13の値を含む部分文字列が検索している点がポイントです。

もし、商品コード「A003」「B003」のように複数合致するケースがあれば、

最初に一致した値を返してしまいます

HLOOKUP関数のケース

商品コード003を含む、商品名を検索するためのHLOOKUP関数です。

=HLOOKUP(“*”&C13,$B$3:$G$4,2,0)

商品コード003を含む、商品名を検索するためのHLOOKUP関数です。
ワイルドカードを使用して曖昧検索。

以下で、HLOOKUP関数式の要素を説明します。

  • “*”&C13: 「&」は、文字列の連結演算子です。この式は、ワイルドカード「*」とC13の値を連結して1つの文字列として表します。ワイルドカード「*」により、セルC13の値を含む部分文字列が検索されます。
  • $B$3:$G$4: B2〜G4の各セルを検索範囲として設定されています。
  • 2: 検索範囲C2〜D7の2列目を返します。つまり、2を指定するにより、D列の値を返します
  • 0: 完全一致を指定します

つまり、

検索値「“*”&C13を、

検索範囲「$B$3:$G$4の中から探して、

「$C$2:$D$7の2列目」から合致したデータを表示させます。

検索値にワイルドカード「*」を使用して、セルC13の値を含む部分文字列が検索している点がポイントです。

もし、商品コード「A003」「B003」のように複数合致するケースがあれば、

最初に一致した値を返してしまいます

解答付きサンプルデータ

最後に

本記事では、XLOOKUP/VLOOKUP/HLOOKUP関数におけるワイルドカードの使用方法について解説しました。

ワイルドカードを使用することで、曖昧な文字列の検索が可能になりますが、

複数一致するケースがあるため、注意が必要です。

今後も、Excel関数の活用法について、
データ分析ドットコムでは引き続き解説していきます。

Excelをより効率的に活用し、ビジネスの成果を最大化するために、

ぜひ本サイトをご活用ください。


参考記事

Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

参照形式に関する記事

関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。