ExcelのIFS関数では最初に空セルの条件分岐を入れたほうが良い

IFS関数とは

IFS関数とはExcelまたはGoogleスプレッドシートで複数の条件分岐をIF関数のように入れ子にしないで出し分けることができる関数です。

例えば70以上を合格、60以上を補欠合格、60未満を不合格と表示させたい場合IF関数だと以下のようになりますが…

namescoreresult
Aさん87合格
Bさん55不合格
Cさん68補欠合格
=IF(B2 >= 70, "合格", IF(B2 >= 60, "補欠合格", "不合格"))

IFSなら以下のように書くことができます。

TRUEはどの条件にも当てはまらない場合(else)に該当します。

=IFS(B2 >= 70, "合格", B2 >= 60, "補欠合格", TRUE, "不合格")

IFS関数のほうがIF関数のように条件が入れ子にならないので見やすくなります。

数値が空でも条件の値が入ってしまう

一見するとこれで良いように見えますが、これだとscoreの部分が空でも「不合格」と表示されてしまいます。

それならTRUEをB2 < 60に変更すれば良いのではと思うかもしれませんが、空セルは0とみなされるためB2 < 60でも「不合格」と表示されてしまいます。

最初に空の場合の条件を付ける

前述の問題を解決するには最初に=IFS(B2 = "", "", … という空の場合は何も表示させないという条件を付ければ解決できます。

想定外の値がIFS関数で表示されないようにするためにもIFS関数の最初は「B2 = "", ""」の条件を入れるというのを覚えておくと良いです。

ExcelのIFS関数では最初に空セルの条件分岐を入れたほうが良い
=IFS(B2 = "", "", B2 >= 70, "合格", B2 >= 60, "補欠合格", TRUE, "不合格")

IFS関数の最初を「B2 = "", ""」の条件にしたサンプル