IF関数で複数条件への一致/不一致に応じて返す値を変える

ここではエクセルのIF関数で3つ、4つなどの複数条件をもっと複雑に指定し分岐させる方法を解説します。

 

「もっと複雑に」とは、FALSEの場合だけでなくTRUEの場合にも分岐させるということです。

 

始めに「複数条件指定して分岐させる」とはどのようなことかを説明し、複数分岐の作り方を解説します。

 

読めばエクセルのIF関数で、条件を3つ以上、4つ以上などたくさん分岐させて条件を指定することができるようになりますよ。

1まずはやりたいことを確認

始めに、やりたいことを例を含めて確認します。

 

1-1.2つ以上の条件への一致/不一致の組み合わせに応じて返す値を変える

やりたいことは、「2つ以上の条件への一致/不一致の組み合わせに応じて返す値を変える」です。

 

例えば、あるセルが〇で別のセルも〇なら「◎」、あるセルが〇で別のセルが×なら「△」…などと、2つ以上の条件の一致/不一致の組み合わせに応じて、返す値を変えることのできるIF関数の書き方を説明します。

 

「2つの条件のどちらにも当てはまれば…」や、「どちらかに当てはまれば…」という意味での複数条件とは違うので、注意してください。

 

なお、それぞれの方法は以下のページで解説しています。

⇒ IF関数で複数条件をかつ(AND)で指定する方法

⇒ エクセルでどれか一つに一致・当てはまればを判定する方法

 

そして、OR条件がたくさんある時により簡単に数式を作る方法は、以下のページで紹介しています。

⇒ IF関数でたくさんのOR条件をまとめて簡単に指定する方法

 

ぜひ参考にしてください。

 

1-2.例を確認

一つ例を見てみましょう。

IF関数もっと複雑な複数条件分岐-例の表

A、B、C、Dの4人の試験Aと試験Bの結果をもとにして、D列に「両方合格」、「試験A再試験」、「試験B再試験」、「両方再試験」の4つのいずれかを表示させようとしています。

 

なお、判定基準は次の通りです。

判定基準
  • A・Bともに70点以上 ⇒ 両方合格
  • A70点以上・B70点未満 ⇒ 試験B再試験
  • A70点未満・B70点以上 ⇒ 試験A再試験
  • A・Bともに70点未満 ⇒ 両方再受験

 

この条件をイメージ化すると下のようになります。

IF関数もっと複雑な複数条件分岐-イメージ

つまり、1つ目の条件(Aが70点以上か?)が「YES(TRUE)」で2つ目の条件(Bが70点以上か?)も「YES(TRUE)」であれば「両方合格」を表示させ、2つ目の条件(Bが70点以上か?)のみ「NO(FALSE)」であれば「試験B再試験」を表示させています。

 

また、1つ目の条件(Aが70点以上か?)が「NO(FALSE)」で2つ目の条件(Bが70点以上か?)が「YES(TRUE)」であれば「試験A再試験」を表示させ、2つ目の条件(Bが70点以上か?)も「NO(FALSE)」であれば「両方再試験」を表示させる、という形にしています。

 

IF関数でこのような複雑な条件分岐を設定する方法を、この後解説します。

2.複雑な複数分岐の数式の形と作り方

では、IF関数で条件を複雑に複数分岐させた数式の形と、作り方を見てみましょう。

 

2-1.数式の形の例

まずは、数式の形です。

 

IF関数を条件分岐させる場合、分岐のさせ方によって数式の形は様々にかわりますので、ここでは一例です。

 

例えば、先ほどの例のように「一つ目の条件の真偽で分岐→二つ目の真偽で分岐」という場合、数式の形は次のようになります。

=IF(1つ目の条件,IF(2つ目の条件,両方真の場合,1つ目のみ真の場合),IF(2つ目の条件,2つ目の条件のみ真の場合,どちらも偽の場合))

 

ちょっと分かりづらいですが、イメージは先ほどの図の通りです。

IF関数もっと複雑な複数条件分岐-イメージ2

例の場合、「1つ目の条件」が、「Aが70点以上か?」です。真であれば、図の左の「2つ目の条件」である「Bが70点以上か?」に移ります。

 

真であれば「両方真の場合」が返ってきます。偽であれば「1つ目のみ真の場合」が返ってきます。

 

また、「1つ目の条件」が偽であれば、図の右の「2つ目の条件」である「Bが70点以上か?」に移ります。

 

真であれば「Bのみ真の場合」が返ってきます。偽であれば「両方偽の場合」が返ってきます。

 

2-2.数式を作ってみる

続いて、数式を実際に作ってみます。

IF関数もっと複雑な複数条件分岐-例の表2

では、セルC2にIF関数を使った数式を入力してみましょう。

 

(1)セルC2に「=IF(」と入力し、「fx」ボタンを押す

IF関数もっと複雑な複数条件分岐-数式の作り方1

 

(2)「関数の引数」に論理式(「B2>=70」)を、「値が真の場合」に「IF(」を入力する

IF関数もっと複雑な複数条件分岐-数式の作り方2

 

(3)数式バーに追加された「IF(」をクリックする

IF関数もっと複雑な複数条件分岐-数式の作り方3

 

(4)次の論理式(「C2>=70」)と「値が真の場合」に「両方真の場合」("両方合格")」を、「値が偽の場合」に「Aのみ真の場合("試験B再受験")」を入れる

IF関数もっと複雑な複数条件分岐-数式の作り方4

 

(5)数式バーに「,IF(」と入力後、「IF(」をクリックする

IF関数もっと複雑な複数条件分岐-数式の作り方5

 

(6)次の論理式(「C2>=70」)と「値が真の場合」に「Bのみ真の場合("試験A再受験")」を、「値が偽の場合」に「両方偽の場合("両方再受験")」を入れる

IF関数もっと複雑な複数条件分岐-数式の作り方6

 

(7)完了

IF関数もっと複雑な複数条件分岐-数式の作り方7

後は、数式を下のセルにコピーすれば完成です。

 

これで、IF関数を使った複雑な条件分岐の数式を作ることができました。

3.もっと分かりやすい数式にするには

前項のやり方は、IF関数のみを使った複雑な条件分岐の作り方でした。

 

しかし、数式の意味が読み解きづらいという欠点があります。

 

そこで、IF関数とAND関数を組み合わせてもっと分かりやすい数式にしてみます。

IF関数もっと複雑な複数条件分岐-AND条件

最終的には、次の形になります。

=IF(AND(B2>=70,C2>=70),"両方合格",IF(AND(B2>=70,C2<70),"試験B再受験",IF(AND(B2<70,C2>=70),"試験A再受験","両方再受験")))

 

また、イメージは次の通りです。

IF関数もっと複雑な複数条件分岐-イメージ3

イメージ的にもこちらのほうが分かりやすいですね。 

 

では実際に作ってみます。

 

なお、ここでは数式バーに直接入力する方法でやってみましょう。

 

(1)数式バーに「IF(AND(」と入力する

IF関数もっと複雑な複数条件分岐-数式の作り方2-1

 

(2)論理式(「B2>=70,C2>=70」)を入れ、「,(カンマ)」入力後、「値が真の場合」に「両方真の場合("両方合格")」を入力する

IF関数もっと複雑な複数条件分岐-数式の作り方2-2

 

(3)同様に「IF(AND(論理式),値が真の場合,」と入力していく

IF関数もっと複雑な複数条件分岐-数式の作り方2-3

 

(4)最後に「値が偽の場合("両方再受験")」を入力してIF関数の数だけ「)」を入力すれば完了

IF関数もっと複雑な複数条件分岐-数式の作り方2-4

このように、ポイントは「IF関数の構文(IF(論理式,真の場合,偽の場合))を覚えること」、「AND関数はカンマで条件を区切ること」です。

 

数式は長くなりますが、可読性が格段にアップします。

 

好みに応じて使い分けましょう。

 

 

以上参考になれば幸いです。

→ 前のページに戻る


口コミ・評判のいいExcel本の紹介】


Top