ワイルドカードで曖昧検索!XLOOKUP/VLOOKUP/HLOOKUPの使用例と注意点 DL可
検索値にワイルドカードを使用して、
曖昧検索した例と注意点をお伝えします、
ただし、ワイルドカードの使用は注意が必要です。
曖昧検索のため、複数一致するケースが往々にしてあります。
その場合、
最初に一致した値を返すため、他に一致した値を無視してしまう恐れ
があるためです。
ワイルドカードとは ワイルドカードは、正規表現の一種であり、文字列のパターンマッチングに使用されます。 ワイルドカードを使用することで、曖昧な文字列の検索も可能になります
【MATCH関数】ワイルドカードを使用した曖昧検索 | データ分析ドットコム
ワイルドカードの解説に興味がある方は『MATCH関数 -ワイルドカードを使用した曖昧検索-』を拝読ください。
なお、XLOOKUP関数、HLOOKUP関数、VLOOKUP関数のそれぞれの解説は、
データ分析ドットコムの記事を拝読いただければと思います。
下図の検索ボックスに、対象のキーワードを入れて、探して見てください。
新しい情報の追加が予想されるため、本記事に参考記事のリンクを掲載できません。
最新かつ正確な情報を提供できないためです。
「ワイルドカード」の使用例
いずれの関数も、
検索値にワイルドカードを使用しているため、原理は同じです。
順追って見ていきましょう。
結論から言うと・・・
検索値にワイルドカード「*」を使用して、
セルC13の値を含む部分文字列が検索しているだけです。
XLOOKUP関数のケース
商品コード003を含む、商品名を検索するためのXLOOKUP関数です。
=XLOOKUP(“*”&C13,$C$2:$C$7,$D$2:$D$7,,2)
以下で、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)
以下で、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)
以下で、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関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。
参照形式に関する記事
関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。