• 公開日:
  • 更新日:

ExcelのIF関数で複数条件(4つ以上も)に対応する方法

Excel(エクセル)のIF関数で複数条件に対応するためには、IF関数の中にIF関数を入れ子(ネスト)にすることで細かく条件を分岐させることができます。

IF関数では、1つの論理式で真(TRUE)と偽(FALSE)の2つに分岐します。分岐した先の「真の場合」と「偽の場合」にIF関数を指定することで複数の条件を判定することができます。3つだけではなく4つ、5つ以上の条件にすることも可能です。

ただし複数のIF関数を入れ子にすると数式が煩雑化してしまいます。そんな悩みを解決する「IFS関数」もご紹介しています。

IF関数の書式

IF(イフ)関数は、論理式の結果(真また偽)に応じて、指定された値を返します。

IF関数の書式は「=IF(論理式,値が真の場合,[値が偽の場合])」のように記述します。引数については下記の記事で図解入りで説明していますのでご確認ください。

ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐

手順で使用するフォーマットのダウンロードはこちら

IF関数で複数の条件を判定する方法(条件が3つの場合)

IF関数を入れ子にすることで3つの条件を判定できる方法を説明しています。

関数名の入力

IF関数を入力する【セル(例では、C2セル)】を選択し、セルに『=IF(』と入力します。

論理式を入力する

B2セルが80点以上かどうか条件を指定します。「=IF(」に続けて『(B2>=80,』と入力します。引数と引数はカンマ「,」で区切ります。

条件に合っていたらC2セルに「◎」を表示するように指定します。「=IF(B2>=80,」に続けて『"◎",』と入力します。

IF関数の論理式

B2セルが80点以上でない場合、さらに60点以上かどうかで条件分岐させます。「=IF(B2>=80,"◎",」に続けて『IF(B2>=60,』と入力します。

IF関数の真の場合

60点以上であれば「○」を表示させます。「=IF(B2>=80,"◎",IF(B2>=60,」に続けて『"○",』と入力します。

IF関数の偽の場合

60点未満であれば「△」を表示させます。「=IF(B2>=80,"◎",IF(B2>=60,"○",」に続けて『"△"))』と入力し、【Enter】キーを押します。

オートフィル

IF関数の結果を確認すると例の場合、B2セル80点以上だったので「◎」が表示されました。IF関数を入力したセルの右下にマウスポインターを置き、十字アイコンになったら他に数式を反映させたいセルまで【ドラッグ】します。

IF関数の複数条件の判定結果

他のセルにもIF関数の数式がコピーされ、条件分岐の結果が表示されました。80点以上は「◎」、80点未満60点以上は「○」、60点未満は「△」が表示されています。

条件分岐の流れ

IF関数を入れ子にした場合、下記のようにフローチャート(流れ図)で考えると判定の流れが見えるのでわかりやすくなります。試してみましょう。

IF関数で3つの条件で分岐させる

まず1つ目のIF関数の条件は「B2セルが80点以上かどうか」を判定しています。真の場合は「◎」、偽の場合は2つ目のIF関数の条件を確認しにいきます。

2つ目のIF関数の条件は「B2セルが60点以上かどうか」を判定しています。真の場合は「○」と表示し、偽の場合は「△」と表示するように指定しています。

IF関数で複数の条件を判定する方法(条件が4つ以上の場合)

IF関数を入れ子にすることで4つの条件を判定できる方法を説明しています。4つ以上にする場合はさらにIF関数を入れ子にしていきます。

関数名の入力

IF関数を入力する【セル(例では、C2セル)】を選択し、セルに『=IF(』と入力します。

論理式を入力する

B2セルが80点以上かどうか条件を指定します。「=IF(」に続けて『(B2>=80,』と入力します。引数と引数はカンマ「,」で区切ります。

真の場合を入力する

条件に合っていたらC2セルに「優」を表示するように指定します。「=IF(B2>=80,」に続けて『"優",』と入力します。

2つ目のIF関数の論理式

B2セルが80点以上でない場合、さらに70点以上かどうかで条件分岐させます。「=IF(B2>=80,"優",」に続けて『IF(B2>=70,』と入力します。

2つ目のIF関数の真の場合

70点以上であれば「良」を表示させます。「=IF(B2>=80,"優",IF(B2>=70,」に続けて『"良",』と入力します。

3つ目のIF関数の論理式

B2セルが70点以上でない場合、さらに60点以上かどうかで条件分岐させます。「=IF(B2>=80,"優",IF(B2>=70,"良",」に続けて『IF(B2>=60,』と入力します。

3つ目のIF関数の真の場合

60点以上であれば「可」を表示させます。「=IF(B2>=80,"優",IF(B2>=70,"良",IF(B2>=60,」に続けて『"可",』と入力します。

3つ目のIF関数の偽の場合

60点未満であれば「不可」を表示させます。「=IF(B2>=80,"優",IF(B2>=70,"良",IF(B2>=60,"可",」に続けて『"不可")))』と入力し、Enterを押します。

オートフィル

IF関数の結果を確認すると例の場合、B2セル80点以上だったので「優」が表示されました。

IF関数を入力したセルの右下にマウスポインターを置き、十字アイコンになったら他に数式を反映させたいセルまで【ドラッグ】します。

IF関数の4つの条件

他のセルにもIF関数の数式がコピーされ、条件分岐の結果が表示されました。80点以上は「優」、80点未満70点以上は「良」、70点未満60点以上は「可」、60点未満は「不可」が表示されています。

4つの条件分岐の流れ

3つのIF関数を使用し、4つに分岐できるようになりました。フローチャート(流れ図)で条件分岐の流れを見てみましょう。

  • 1つ目のIF関数の条件は「B2セルが80点以上かどうか」を判定しています。真の場合は「優」、偽の場合は2つ目のIF関数の条件を確認しにいきます。
  • 2つ目のIF関数の条件は「B2セルが70点以上かどうか」を判定しています。真の場合は「良」と表示し、偽の場合は3つ目のIF関数の条件を確認しにいきます。
  • 3つ目のIF関数の条件は「B2セルが60点以上かどうか」を判定しています。真の場合は「可」と表示し、偽の場合は「不可」と表示するように指定しています。

IFS関数で複数条件を指定する方法

IF関数を入れ子にして複数条件に対応すると数式が煩雑化します。IF関数を入れ子にするのではなく「IFS関数」を使えば直観的にわかりやすい数式にすることができます。

IFS(イフズ)関数は、条件が満たされているかどうかを判定し、最初に真(TRUE)になった条件に対応する値を返します。書式は「=IFS(論理式1,値が真の場合1,[論理式2,値が真の場合2],...)」のように記述します。

IFS関数を使って4つの判定結果を出力する例をご紹介します。

IFS関数の入力

【C2セル】を選択し、『=IFS(B2>=80,"優",B2>=70,"良",B2>=60,"可",B2<=59,"不可")』と入力し、Enterを押します。

80点以上は「優」、70点以上は「良」、60点以上は「可」、59点以下は「不可」が表示されるように指定しています。

IFS関数はIF関数と違って「偽の場合」がありません。最初に条件に当てはまった結果が返ります。

オートフィル

IFS関数関数の結果を確認すると例の場合、B2セル80点以上だったので「優」が表示されました。

IFS関数を入力したセルの右下にマウスポインターを置き、十字アイコンになったら他に数式を反映させたいセルまで【ドラッグ】します。

IFS関数の結果

他のセルにもIFS関数の数式がコピーされ、条件分岐の結果が表示されました。

IF関数とIFS関数の違い

IF関数とIFS関数の数式を見比べてみましょう。この記事でご紹介した同じ内容の条件分岐です。

IF関数は入れ子になっているので数式を一目見ただけでは出力する結果がイメージしにくくなっています。

一方、IFS関数は、条件とその条件に合った結果が並んでいるのでわかりやすいです。ただしIF関数では、「偽の場合」を引数で指定できるので「偽の場合」が必要な場合はIF関数を使用することになります。