今回はIFS(イフ・エス)関数です。
これは、複数の条件を順に調べた結果に応じて異なる値を返す関数です。
具体例として図のような試験結果の表データを作成しました。
この表を元に取得した得点ごとの成績を付けます。
■IFS(イフ・エス)
IFS(論理式1, 真の場合1, 論理式2, 真の場合2, ・・・, 論理式127, 真の場合127)
■論理式
TRUE(真)かFALSE(偽)を返す式を指定。[論理式]と[真の場合]の組み合わせは127個まで指定できる。
■真の場合
直前に指定した[論理式]の値が真の場合(条件を満たす場合)に返す値を指定。省略すると0が指定されたとして処理される。
B列の該当する成績が、
90点以上であればS合格
80点以上であればA合格
70点以上であればB合格
60点以上であればC合格
どれにも該当しなければ再履修
結果IFSにてC2のセルに以下の関数式を代入します。
=IFS(B2>=90,"S合格",B2>=80,"A合格",B2>=70,"B合格",B2>=60,"C合格",TRUE,"再履修")
ただし、このままの処理で問題無いのですが、何かのトラブルで取得得点が101点以上だった場合はデータ入力ミスを示すために、
101点以上であればエラー
という項目を追加しておいた方が良いでしょう。
=IFS(B2>=101,"エラー",B2>=90,"S合格",B2>=80,"A合格",B2>=70,"B合格",B2>=60,"C合格",TRUE,"再履修")
ちなみに同等の処理はIF関数でも可能ですのでOffice365よりも前のバージョンでも処理は出来ますが、制約もあります。
=IF(B2>=101,"エラー",IF(B2>=90,"S合格",IF(B2>=80,"A合格",IF(B2>=70,"B合格",IF(B2>=60,"C合格","再履修")))))
IFのネスト処理は、Excel 2007よりも古いバージョンでは7回、Excel2007以降は64回までしか使えません。しかし、IFSであれば127個まで指定することができます。