「90点以上ならA、80点以上ならB…」のように3つ以上に分けたいときは、IFの中にIFを入れていきます(入れ子)。条件が多いときは、IFS関数かLOOKUP関数のほうが読みやすく、直しやすくなります。
■ 入れ子の書き方(点数がA2にあるとき)
=IF(A2>=90,"A",IF(A2>=80,"B",IF(A2>=70,"C",IF(A2>=60,"D","E"))))
読み方は「90以上ならA。そうでなければ80以上ならB。そうでなければ…」です。
コツは3つです。
・大きい条件から順に書く(先に「60以上」を書くと、95点も「D」になる)
・IFの数と、最後に閉じるかっこの数を同じにする(4つ重ねたら「)」も4つ)
・最後の「それ以外」は、いちばん内側のIFの3つ目に書く
■ 短く書く:IFS(Excel 2019以降・Microsoft 365)
=IFS(A2>=90,"A",A2>=80,"B",A2>=70,"C",A2>=60,"D",TRUE,"E")
「条件、答え」の組を順に並べるだけです。最後の「TRUE,"E"」は「どれにも当てはまらないとき」を意味します。これを書かないと、どれにも当てはまらない行が #N/A になります。
古いExcel(2016以前)には IFS がありません。ファイルを渡す相手のバージョンが分からないときは、入れ子かLOOKUPにします。
■ 区切りが多いときに強い:LOOKUP
=LOOKUP(A2,{0,60,70,80,90},{"E","D","C","B","A"})
左の{ }に「区切りの下限」を小さい順に、右の{ }に「その答え」を同じ順で並べます。区切りが増えても、数字と答えを足すだけで済みます。
注意:下限を小さい順に並べること。空欄のセルは #N/A になります。
■ 空欄のときは何も出さない
入れ子のままだと、空欄は0点として扱われ「E」が出ます。空欄を空欄のままにしたいときは、頭にIFを1つ足します。
=IF(A2="","",IF(A2>=90,"A",IF(A2>=80,"B",IF(A2>=70,"C",IF(A2>=60,"D","E")))))
■ 試した結果(95・85・72・60・45点)
A・B・C・D・E の順に、3つの式とも同じ答えでした。
■ うまくいかない時
・どの点数も同じ答えになる:条件の並びが小さい順になっていないか確認します。
・「この関数には多すぎる引数」と出る:かっこの閉じ忘れか、カンマの付け忘れです。
・数字が文字として入っている(左に寄って表示される):条件が効きません。セルの表示形式を標準にして入れ直します。
■ 向かない場合
入れ子が6つ、7つと増えてくると、あとから条件を直すのがつらくなります。区切りの表を別のシートに作り、VLOOKUPで引く形のほうが、あとで直しやすくなります。条件が複雑な表を自分で組み直す時間がないときは、手作業で直すより、専門の調整が早いこともあります。