7/18/2024

Excel。以上未満の条件で表引きするならXLOOKUP関数がオススメです。【XLOOKUP】

Excel。以上未満の条件で表引きするならXLOOKUP関数がオススメです。

<XLOOKUP関数>

AからEに分かれたランク一覧から、得点ごとのランクを表引きしたいのですが、

VLOOKUP関数でやってみたら、表引きすることができませんでした。

 

XLOOKUP関数

C2の数式は、

=VLOOKUP(B2,$E$2:$F$6,2,TRUE)

と設定しています。


検索値は、B2で、範囲は、E2:F6として絶対参照の設定もしている。

列番号もランクの2にしている。

そして、検索方法は、近似値のTRUE。


数式には問題はないのですが、表引きするためのE2:F6の表が問題なのです。


何が問題なのかというと、今回のような近似値でVLOOKUP関数を使いたい場合、表引きの範囲は、昇順で作らないといけません。


では、E列を昇順で並べ替えをしてみます。

 


表引きが出来たことが、確認できました。


このようにVLOOKUP関数をつかうと、確かに、表引きはできるのですが、範囲の表が昇順でなければいけないというのが、ネックです。


通常、このような表は、降順で作成します。


そこで、VLOOKUP関数でもいいのですが、XLOOKUP関数をつかってみるという方法があります。


 

C2にXLOOKUP関数をつかった数式を設定しました。


=XLOOKUP(B2,$E$2:$E$6,$F$2:$F$6,"",-1,1)

範囲が降順のままでも、ランクを表引きすることができました。


XLOOKUP関数の数式を確認しておきましょう。


最初の引数は、検索値です。 B2 を設定します。


2つ目の引数は、検索範囲です。

オートフィルで数式をコピーするので、$E$2:$E$6 と絶対参照を設定します。


3つ目の引数は、戻り範囲です。

ランクの列なので、$F$2:$F$6。

こちらもオートフィルで数式をコピーするので、絶対参照を設定します。


4つ目の引数は、見つからない場合です。

空白で表示したいので「””」と「””(ダブルコーテーション×2)」と設定します。


5つ目の引数は、一致モード。

今回は完全一致ではありません。

「-1」と設定します。

「-1」は完全一致または、次に小さい項目を表引きしてくれます。

内輪の数なので、小さい項目を選ぶ必要があります。


6つ目の引数は、検索モード。

「1」と設定します。

データの上部から下部へ検索させます。


あとは、オートフィルで数式をコピーします。


ただ、今回は、VLOOKUP関数との違いも含めて紹介しました。

そのため、オートフィルで数式をコピーするようにしましたが、XLOOKUP関数は、ネスト機能に対応していますので、範囲のところを絶対参照にしなくても、次のように数式を設定すれば大丈夫です。


=XLOOKUP(B2:B6,E2:E6,F2:F6,"",-1,1)