Excel。XLOOKUP関数で連続する複数の項目を表引きしたい
<XLOOKUP関数>
連続する項目を表引きしたい場合、VLOOKUP関数だと何度も数式を作る必要があります。
例えば、次のような表。
A1:F9に表があって、A11:F13に表引きの結果を表示したいわけです。
VLOOKUP関数の場合、B12に設定した数式を、オートフィルで数式をコピーする場合、まず、検索値を列固定の複合参照にした上で、3番目の引数の「列番号」をコピー後に一つずつ修正する。
あるいは、COLUMN関数をつかって列番号に対応する必要があります。
慣れれば特に問題はないかもしれませんが、少々面倒です。
そこで、XLOOKUP関数をつかってみたらどうなるのか、確認をしてみましょう。
B12にXLOOKUP関数をつかった数式を設定します。
=XLOOKUP(A12,$A$2:$A$9,$B$2:$F$9,"",0,1)
スピル機能によって、行方向には、数式をコピーする必要はありません。
列方向には、オートフィルで数式をコピーする必要があります。
これで、連続する複数項目の表引きを行うことができました。
COLUMN関数をつかわなくても大丈夫です。
では、XLOOKUP関数の数式を確認しておきましょう。
=XLOOKUP(A12,$A$2:$A$9,$B$2:$F$9,"",0,1)
最初の引数は、検索値。NOなのでA12を設定します。
2つ目の引数は、検索範囲。
検索値のある列なので、$A$2:$A$9。
オートフィルで数式をコピーする必要があるので、絶対参照を忘れずに設定します。
3つ目の引数は、戻り範囲。抽出したい列です。
連続する列なので、$B$2:$F$9。
オートフィルで数式をコピーする必要があるので、絶対参照を設定します。
ここをまとめて設定することができるので、VLOOKUP関数よりもわかりやすいかと思われます。
4つ目の引数は、見つからない場合。
見つからない場合は「””(ダブルコーテーション×2)」で空白とします。
5つ目の引数は、一致モード。
完全一致なので「0」を設定します。
最後の引数は、検索モード。
上から検索しますので、「1」と設定します。