Excel:XLOOKUP関数の使用例
Microsoft 365のExcelからVLOOKUP関数やHLOOKUP関数に似たXLOOKUP関数が追加されました。使ってみてとても便利でしたのでいくつか使用例を紹介したいと思います。
XLOOKUPとは
検索する列が検索結果の列より左にない場合はVLOOKUP関数では検索することができませんがXLOOKUP関数を使用すると検索することができます。以下はXLOOKUP関数の必須の引数です。
XLOOKUP(検索値,検索範囲,戻り配列)
他にもオプションで指定できる引数がありますので詳細はXLOOKUP 関数 - Office サポートを参照ください。
基本となる使用例
例えば以下のような商品の表でB列の「商品名」をキーとしてA列の「コード」を検索したい場合にXLOOKUP関数を使用すると簡単に検索することができます。
XLOOKUP
の使用例1(セルF5)コード | 商品名 | 価格 | |||||
---|---|---|---|---|---|---|---|
A-001 | リンゴ | 210 | |||||
A-002 | ミカン | 80 | 商品名 | コード | |||
A-003 | イチゴ | 300 | ミカン | =XLOOKUP(E5,B3:B5,A3:A5) | |||
引数 | 説明 |
---|---|
検索値 | 検索する値を指定します。 上の例では「ミカン」が入力されているE5を指定しています。 |
検索範囲 | 検索する配列または範囲を指定します。 上の例では商品の表の「商品名」の範囲B3:B5を指定しています。検索値に指定した「ミカン」で検索するのでB4にヒットします。 |
戻り配列 | 検索結果を返す配列または範囲を指定します。 上の例では商品の表の「コード」の範囲A3:A5を指定しています。検索でヒットしたB4に対応するA4の「A-002」が戻されます。 |
配列を返す使用例
結果を配列で返すようにXLOOKUP関数を使うと数式を入力したセルに収まらない配列の値を隣接するセルに返すことができます。セルに収まらない配列の値を隣接するセルに返す機能をスピルといい動的配列数式と、こぼれた配列動作 - Office サポートに詳しく記載があります。
以下は先ほどの商品の表で「コード」で商品を検索して「商品名」と「価格」の配列を返すようにした使用例です。
XLOOKUP
の使用例2(セルF5)コード | 商品名 | 価格 | |||||
---|---|---|---|---|---|---|---|
A-001 | リンゴ | 210 | |||||
A-002 | ミカン | 80 | コード | 商品名 | 価格 | ||
A-003 | イチゴ | 300 | A-002 | =XLOOKUP(E5,A3:A5,B3:C5) | |||
上の例は3つ目の引数(戻り配列)に商品の表の「商品名」と「価格」の列の範囲を指定しています。この場合マッチした行の「商品名」と「価格」の配列(「ミカン」と「80」)が返るため結果は以下のようにF5に収まらない配列の値「80」がG5のセルに返ります。
XLOOKUP
の使用例2の結果(セルF5とG5)コード | 商品名 | 価格 | |||||
---|---|---|---|---|---|---|---|
A-001 | リンゴ | 210 | |||||
A-002 | ミカン | 80 | コード | 商品名 | 価格 | ||
A-003 | イチゴ | 300 | A-002 | ミカン | 80 | ||
まとめ
検索するキーの列が結果の列よりも左にない場合、これまではINDEX関数とMATCH関数を組み合わせたりして検索していましたがXLOOKUP関数を使用することで簡単に検索することができます。