Excel(エクセル)でIF関数のネスト地獄はIFS関数やSWITCH関数で解決

Excel(エクセル)でIF関数のネスト地獄はIFS関数やSWITCH関数で解決

Microsoft Excel(エクセル)で、条件によって処理を分岐させたいとき(条件分岐)に使う関数として一般的なのがIF関数ですが、条件が複数あるような場合にIF関数だけで対応しようとすると、何重にもネスト(入れ子)して記述する必要があり、数式が複雑になり分かりづらくなります。

そのようなときは、IFS関数やSWITCH関数を利用することで、よりシンプルに分かりやすく数式を記述することができます。

そこでここでは、Excel(エクセル)で、IFS関数やSWITCH関数を使って、条件分岐を分かりやすく記述する方お法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit22H2
Microsoft Excel for Microsoft 3652402
created by Rinker
マイクロソフト
¥13,545 (2024/05/24 19:14:28時点 Amazon調べ-詳細)

IF関数のネスト地獄とは

Excel(エクセル)でIF関数のネスト地獄はIFS関数やSWITCH関数で解決

たとえば上の表で、B列の点数によってはC列にA~Eの5段階評価の値を自動的に入力したい場合、IF関数だけで対応しようとすると、C列には以下のように数式を入力する必要があり、IF関数が何重にもネストされて分かりにくいです。

=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C",IF(B2>=60,"D","E"))))

このようなときは、IFS関数やSWITCH関数を使うことで、数式をシンプルにわかりやすく入力することができます。

IFS関数

IFS関数は複数の条件に応じて処理を分岐したいときに使用する関数です。

IFS関数の書式

=IFS(条件1,処理1,条件2,処理2...)

IFS関数の使い方

上のIF関数で記述された数式をIFS関数を使った数式に書き換えると、以下のようになります。

=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",B2>=60,"D",TRUE,"E")

数式の最後尾に記述している「TRUE」は、いずれの条件も満たさない場合を指しています。

Excel(エクセル)でIF関数のネスト地獄はIFS関数やSWITCH関数で解決

SWITCH関数

SWITCH関数も複数の条件に応じて処理を分岐させたいときに使用する関数です。

SWITCH関数の書式

=SWITCH(式,値1,結果1,値2,結果2...)

SWITCH関数では、基本は式に入力された値と条件として指定した値が一致するかが評価されますが、式に「TRUE」を指定することで、比較演算子を使った評価もできます。

SWITCH関数の使い方

たとえば、上のIF関数で記述された数式をSWITCH関数を使った数式に書き換えると、以下のようになります。

=SWITCH(TRUE,B2>=90,"A",B2>=80,"B",B2>=70,"C",B2>=60,"D","E")

Excel(エクセル)でIF関数のネスト地獄はIFS関数やSWITCH関数で解決

あとがき

IF関数を何重にもネストしなければならないときは、IFS関数やSWITCH関数に置き換えれば、どのような処理が行われている分かりやすくなるでしょう。