XLOOKUP関数は、Excel 2021で導入された新しい関数で、従来のVLOOKUP関数やHLOOKUP関数を置き換える後継関数として位置づけられています。
従来の関数よりも多くの機能を持ち、より柔軟で使いやすく、直感的な操作が可能です。
表や範囲からデータを検索し、対応する値を返す関数で、書式は以下の通りです。
「検索値」:探したいデータを指定します。セル参照や文字列、数値などが使え、ワイルドカードも使えます。
「検索範囲」:検索値と一致するデータが入っているセル範囲を指定します。1行または1列の範囲に限ります。
「戻り範囲」:検索結果として返したい値が入っているセル範囲を指定します。検索範囲と同じ行数または列数にする必要があります。
「見つからない場合」:検索値が見つからない場合に表示する値を指定します。省略すると「#N/A」と表示されます。
「一致モード」:検索値と検索範囲のデータの一致の仕方を指定します。省略すると完全一致となります。
以下の値が使えます。
「検索モード」:検索範囲のデータの並び順に応じた検索の方法を指定し、省略すると先頭から末尾に向かって検索します。
以下の値が使えます。
従来のVLOOKUP関数やHLOOKUP関数と比較して、XLOOKUP関数には以下のメリットがあります。
例えば、以下の図のような表で、管理番号から参照表のNo、商品名、単価を取得するとします。
VLOOKUP関数の場合は、検索値より左側のデータを返すことができませんので、XLOOKUP関数を使います。
検索値は、セルG2の管理番号の値を指定します。検索範囲は参照表の管理番号の列でD2:D6です。戻り範囲は、No、商品名、単価の3つを連続して返したいので、A2:C6のセル範囲を指定します。
管理番号が見つからなかった場合、またはセルG2が空白セルの場合にエラーが表示されないために「""」と入力します。
尚、検索範囲と戻り範囲の行数は必ず同じにしておく必要があり、検索範囲は1行、または1列を指定します。戻り範囲を複数列、複数行指定した時はスピル機能が実行されて、結果として連続データとして返されます。