K-fix Learning & Playing

16 XLOOKUP関数


XLOOKUP関数は、Excel 2021で導入された新しい関数で、従来のVLOOKUP関数やHLOOKUP関数を置き換える後継関数として位置づけられています。 従来の関数よりも多くの機能を持ち、より柔軟で使いやすく、直感的な操作が可能です。
表や範囲からデータを検索し、対応する値を返す関数で、書式は以下の通りです。

「検索値」:探したいデータを指定します。セル参照や文字列、数値などが使え、ワイルドカードも使えます。
「検索範囲」:検索値と一致するデータが入っているセル範囲を指定します。1行または1列の範囲に限ります。
「戻り範囲」:検索結果として返したい値が入っているセル範囲を指定します。検索範囲と同じ行数または列数にする必要があります。
「見つからない場合」:検索値が見つからない場合に表示する値を指定します。省略すると「#N/A」と表示されます。
「一致モード」:検索値と検索範囲のデータの一致の仕方を指定します。省略すると完全一致となります。
以下の値が使えます。

  • 0 (または省略): 完全一致
  • -1: 完全一致または近似一致(前方一致)
  • 1: 完全一致または近似一致(後方一致)
  • 2: ワイルドカード一致

「検索モード」:検索範囲のデータの並び順に応じた検索の方法を指定し、省略すると先頭から末尾に向かって検索します。
以下の値が使えます。

  • 1 (または省略):先頭から末尾に向かって検索(昇順)
  • -1:末尾から先頭に向かって検索(降順)
  • 2:2分探索法で検索(昇順)
  • -2:2分探索法で検索(降順

従来のVLOOKUP関数やHLOOKUP関数と比較して、XLOOKUP関数には以下のメリットがあります。

  • 検索値を含む列が検索範囲の左端にある必要はなく、複数の列を同時に検索でき、ワイルドカードも使用して検索できます。
  • 引数の順序が覚えやすく、使いやすくなっていて、検索結果の取得方法をより細かく制御できます。
  • 従来の関数よりも処理速度が向上しています。

例えば、以下の図のような表で、管理番号から参照表のNo、商品名、単価を取得するとします。

VLOOKUP関数の場合は、検索値より左側のデータを返すことができませんので、XLOOKUP関数を使います。
検索値は、セルG2の管理番号の値を指定します。検索範囲は参照表の管理番号の列でD2:D6です。戻り範囲は、No、商品名、単価の3つを連続して返したいので、A2:C6のセル範囲を指定します。
管理番号が見つからなかった場合、またはセルG2が空白セルの場合にエラーが表示されないために「""」と入力します。

尚、検索範囲と戻り範囲の行数は必ず同じにしておく必要があり、検索範囲は1行、または1列を指定します。戻り範囲を複数列、複数行指定した時はスピル機能が実行されて、結果として連続データとして返されます。