下図のように1~20はF、21〜40はE、41〜60はD…のように範囲によって値を返す方法をご紹介します。
d2.googlesyndication.com/pagead/show_ads.js">
■ 方法(1) VLOOKUP関数を使う
=VLOOKUP(検索値,範囲,取り出す列番号,検索法)
検索法で1(True)を指定すると検索値(自分)を超えない最も近い数値を返します。例えば検索値25なら、1~10,11~20,21~30の小~大の範囲のうち、大を指定すると30は検索値(自分)を超えるため合致しません。小を指定すれば21は検索値を超えていない為合致します。(25なら21で合致)
-
まず範囲(小〜大)の小の数値で対応表を作成
(★小を取り出したい場合は補足1参照)
-
=VLOOKUP(検索値,対応表,2,1) と入力しオートフィル
★補足1「1-20、21-40…」の小
の数値を自動で取り出すには
=REPLACE(A2,FIND("-",A2),10,"") -から10文字を削除
■ 方法2:配列数式
対応表は使わず、式だけで完結させます。
=INDEX({"F","E","D","C","B","A"},MATCH(A2,{1,21,41,61,81,91},1))
F,E,D,C,B,Aの配列があり、A2が1,21,41,61,81,91のどれに合致するか(Match関数も照合の型が1なら超えない数値を返す)を出す
★Match関数で引数1(True)を指定する場合は、配列は昇順である必要があります(今回は1,21,41…なのでOK)
|