7/07/2025

Excel。XLOOKUP関数で連続する複数の項目を表引きしたい【Search and Extract】

Excel。XLOOKUP関数で連続する複数の項目を表引きしたい

<XLOOKUP関数>

連続する項目を表引きしたい場合、VLOOKUP関数だと何度も数式を作る必要があります。


例えば、次のような表。

XLOOKUP関数で連続する複数の項目を表引きしたい

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」と設定します。