合計点で成績をつける場合の#N/Aの処理

Excelで合計点を出して,成績をつける場合に,関数でIfsを使う。例えば,

  • 90点以上はS
  • 80点以上はA
  • 70点以上はB
  • 60点以上はC
  • 60点未満はD

なので,以下の場合は問題なし。

  A B C
1 ID テストの得点 評価
2 S001 70 B
3 S002 90 S
4 S003 50 D
….    
41 S040 60 C

この場合,

  • 評価のC1は,=IFS(B2 >= 90,”S”,B2 >= 80,”A”,B2 >= 70,”B”,B2 >= 60,”C”,B2 <= 59.9,”D”)

問題になるのは,途中に#N/Aがある場合,上のようにすると,以下のように#N/Aが評価に出る。

  A B C
1 ID 合計点 評価
2 S001 #N/A #N/A
3 S002 90 S
4 S003 50 D
….    
41 S040 60 C

 

解決策としては,#N/Aはエラーの扱いなので,IfERRORでエラーが出たらDをつけるようにする。

  • 評価のC1は,=IFERROR(IFS(B2 >= 90,”S”,B2 >= 80,”A”,B2 >= 70,”B”,B2 >= 60,”C”,B2 <= 59.9,”D”),”D”)

とすると,まずは,エラーかどうかを評価し,エラー(#N/A)なら”D”を返し。そうでなければ,IFS以下の評価を返す。