いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

(Excel)XLOOKUP関数でワイルドカードを使った検索をする

 ExcelのXLOOKUP関数は基本的にVLOOKUP関数より簡単にデータの抽出ができますが、検索値にワイルドカードを用いる場合にはそのことを引数で指定する必要があります。

  • XLOOKUP関数で検索値にワイルドカードを用いる場合、第5引数(一致モード)に「2」を指定する必要があります。
  • もちろん第1引数(検索値)にもワイルドカード(アスタリスクなど)を含めておく必要があります。

手順

 次の画像では、B~D列の表ががメニューのリストになっています。
 そしてF~H列は検索欄です。F3セルに入力された文字列を含む(部分一致)メニューをB列から検索し、対応する値段とカロリーの値をC,D列から抽出するものとします。

f:id:accs2014:20200530133806p:plain:w700

 

 G3セルに次のように入力します。

f:id:accs2014:20200530133810p:plain:w780

=XLOOKUP("*"&F3&"*",B3:B7,C3:D7,,2)

 第1引数(検索値)の最初と最後にアスタリスク(*)をつなげることで部分一致検索(~を含む)のための文字列を生成しています。また、第5引数(検索モード)で「2」(ワイルドカード文字との一致)を指定しています。VLOOKUP関数の場合は特に引数を設定しなくてもワイルドカードが使えますが、XLOOKUP関数の場合はこれが欠かせません。
 

 結果はこうなります。

f:id:accs2014:20200530133814p:plain:w700

 XLOOKUP関数はVLOOKUP関数より便利で扱いやすくなった部分が多いですが、この点はちょっと面倒になったかもしれません。