いまさら聞けないExcelの使い方講座

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

IFS関数でIF関数のネストの悩みを解決しよう

IF関数は64個までネストできますが……

 「もし~なら」といった条件分岐ができるIF関数はご存じですよね。使ったことはなくても、引き継いだファイルに入力されている数式を見たことはあるでしょう。IF関数をネスト(入れ子)することで、複数の条件分岐が可能になり、さまざまな場面で利用されます。しかし、弱点は数式が複雑になること。3重以上の入れ子(ネスト)は扱いにくいと感じる人も多いでしょう。

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」と入力した時に「IFS」(①)が表示されれば利用可能です

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

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

IFS関数の構文。[論理式1]を満たせば[真の場合1]、[論理式2]を満たせば[真の場合2]……、とセットで指定します。[論理式]と[真の場合]のセットは127個まで指定可能です

「それ以外」は「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」と指定することで「それ以外」を表現できます。

「=IFS(E3>700000,"A",E3>500000,"B",E3>300000,"C"」(②)で、『セルE3が700,000より大きければ「A」、500,000より大きければ「B」、300,000より大きければ「C」』を表現できます
「それ以外」を表現するには、続けて「,TRUE,"D")」と入力(③)して、[Enter]キーを押します
数式をコピーすれば完成です

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

[真の場合]の引数を省略(④)してはいけません
引数が足りない旨のエラーメッセージが表示されます

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

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

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

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