Google spreedsheet でXLOOKUPが対応していたので使ってみた

構文

XLOOKUP(検索キー, 検索範囲, 結果の範囲, 見つからない場合の値, 一致モード, 検索モード)

Xlookup関数を用いるケース

・データが昇順/降順のようにどちらかの方向に対して揃っており、検索キーの値が検索範囲で重複している場合。

使用例

例)動物園で日別に動物数をカウントしており、集計表を作成している。
特定の動物の最新の数を調べたい。
※日付が昇順に並んでいる表で、検索キーの値が検索範囲で重複している場合。

動物園の日別動物数集計表

検索範囲と結果範囲

検索範囲と結果範囲はサイズを同じでない場合は、”XLOOKUPの配列引数のサイズが異なります。”というエラーが生じるためサイズを揃える。

検索範囲と結果範囲のサイズが違う場合

見つからない場合の値

検索キーに、検索範囲に含まれない値が入力されたときに返す値を指定できる。
※vlookupやhlookupではオプションに見つからない場合の値を設定できないため、iferror関数やif関数などを用いてエラー時の処理を加える必要があったが、xlookupでは不要。

見つからない場合の値を"いない動物"とした場合

一致モード

基本的に0を指定して完全一致させるケースが多い。
完全一致させたいが完全一致する値がない場合に検索キーの類似の値で代替するケースなどは0以外の値を指定する。

検索モード

検索モードを変更することで、データが昇順/降順どちらで並んでいても期待通りの結果を得られる。

動物園の日別動物数集計表

検索範囲には、検索キーにあたる"ライオン"が二つ存在するが、検索モードに”-1”を指定することで、検索範囲を末尾から先頭に向かって検索していき、一致する値の結果を取り出すことができる。
※vlookupでは、先頭から垂直方向に検索するため、日付が降順となり検索キーに"ライオン"を指定しても3が結果として得られ、新しい日付の数は得られない。

この記事が気に入ったらサポートをしてみませんか?