【Excel】3つ以上の条件があるならIF関数は使わないほうが無難! IFSを活用しよう

 「もし~なら」といった条件分岐ができるIF関数はご存じですよね。使ったことはなくても、引き継いだファイルに入力されている数式を見たことはあるでしょう。IF関数をネスト(入れ子)することで、複数の条件分岐が可能になり、さまざまな場面で利用されます。しかし、弱点は数式が複雑になること。3重以上の入れ子(ネスト)は扱いにくいと感じる人も多いでしょう。
 上の例の数式は「=IF(E3>700000,"A",IF(E3>500000,"B",IF(E3>300000,"C","D")))」です。『セルE3が700,000より大きければ「A」、500,000より大きければ「B」、300,000より大きければ「C」、それ以外は「D」を表示する』という意味です。条件は単純ですが、数式は難しく感じます。

 IF関数の構文に沿って条件を追加すると、IF関数の中にIF関数、さらにその中にIF関数を記述することになるため、どうしても数式が複雑になってしまいます。

 今回はIF関数のネストの悩みを解決する「IFS関数」の使い方をおさらいします。本稿執筆時点で、Excel 2021 / 2019、Microsoft 365のExcelで利用可能です。任意のセルに「=ifs」と入力して、候補が表示されるかどうかを確認してみてください。

■ 条件と結果のセットを並べる

 IFS関数の構文は単純明快。以下のように[論理式](条件)と[真の場合](結果)のセットを並べるだけです。カッコの数も1組だけでわかりやすいですよね。

■ 「それ以外」は「TRUE」で拾う

 さっそく入力してみましょう。条件は先ほどと同じ『セルE3が700,000より大きければ「A」、500,000より大きければ「B」、300,000より大きければ「C」、それ以外は「D」を表示する』とします。

 最初の条件から入力して「=IFS(E3>700000,"A",E3>500000,"B",E3>300000,"C"」までは、順当に入力できると思います。では、『300,000以下は「D」』をどう処理するかですが、「E3<=300000,"D"」とする必要はありません。

 「E3<=300000,"D"」でも問題ありませんが、「TRUE,"D"」とします。最後の[論理式]に「TRUE」と指定することで「それ以外」を表現できます。

 「E3<=300000」や「TRUE」を省略するのはNGです。エラーメッセージが表示されてしまいます。

 また、「TRUE」と[真の場合](結果)を省略して、どの条件も満たさない場合は[#N/A]エラーが表示されます。

■ IF関数のネストに悩むならIFS関数はおすすめ

 IFS関数は、IF関数よりもシンプルに複数の条件を指定できます。多重のネストに悩んでいるなら、ぜひ使ってみてください。
https://news.yahoo.co.jp/articles/e442436c9f199a2f18bbadaaa75c299521c975be