Excel。VLOOKUP関数を使わずに多分岐はLOOKUP関数で手早く算出できます。
<LOOKUP関数>
多分岐の処理をExcelで行うには、IF+IF関数のネスト。
IFS関数。
VLOOKUP関数やXLOOKUP関数など、様々な方法があります。
一番やりやすい、わかりやすい方法で処理するのがいいわけですが、意外とLOOKUP関数でも算出することができます。
次の表を用意しています。
E列に合計点によってA~E判定を行いたいわけです。
VLOOKUP関数などで求める場合と同じように、事前にG1:H6の判定表を用意しております。
なお、このような判定表は、昇順で作る必要があります。
降順で作成するとうまくいきません。
基本的には、IF+IF関数のネストで数式をつくると、判定表のような別表を用意しなくてすみますが、ネストが多くなり、可読性も悪くなってしまいます。
IF関数で数式をつくってみると、
=IF(D2>=160,"A",IF(D2>=140,"B",IF(D2>=120,"C",IF(D2>=80,"D","E"))))
やはり、かなり長いですね。
VLOOKUP関数で算出しようとすれば、E2の数式は、次のようになります。
=VLOOKUP(D2,$G$2:$H$6,2,TRUE)
4番目の引数をTRUEで設定することで、近似値の算出をおこなうことができるので、判定を算出できるわけです。
また、XLOOKUP関数をつかった数式だと、
=XLOOKUP(D2:D11,G2:G6,H2:H6,,-1,1)
スピル機能をつかうので、引数の検索値は、D2:D11という範囲で設定します。
XLOOKUP関数は、引数が多いですが、細かい設定ができるのも特徴ですね。
そこで、LOOKUP関数ならどうなるのでしょうか?
E2に次の数式を設定します。
=LOOKUP(D2:D11,G2:H6)
たったこれだけです。
列番号もなければ、検索方法もありません。
LOOKUP関数の配列方式で、手早く算出することができます。
引数を確認しておきます。
検索値は、D2:D11。スピル機能をつかうので、一つのセルではなく、範囲選択で設定することができます。
二つ目の引数の配列には、G2:H6。
判定表の見出し行を除いたデータ部を範囲選択します。
絶対参照する必要もありません。
これで、算出することができました。
多分岐は、色々な方法で算出することができますが、LOOKUP関数という方法もありますので、使いやすいものをつかってみるといいかもしれませんね。