IF関数で複数条件のどれに合うかで3パターン以上に振り分け[全Ver.可]

解説記事内の画像はExcel 2019のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2019, 2016, 2013, 2010
  • Office 365
Office 365は、バージョン1908と、バージョン2001で動作確認しています。

スポンサーリンク

条件に合っていたらA、そうじゃなければBのように、1つの条件に合っているかどうかで結果表示を振り分けたいときに使うのがIF関数
でも、この条件に合っていたらA、そっちの条件に合っていたらB、そうじゃなければCのように、複数条件のどれに合っているかで、3パターン以上に振り分けたいときには、IF関数の中にIF関数を入れ込むか、IFS関数を使います。

    IF関数の中にIF関数を入れ込むこのページでご紹介する方法

  • どのバージョンでも使える(古いバージョンのExcelでも可)
  • 関数の中に関数を入れ込むので、若干慣れは必要

    IFS関数

  • 「IF」に複数形の「S」が付いた関数
  • Office 365、またはExcel 2019で使える関数なので、IFS関数を設定した文書を扱うすべてのパソコンに、Office 365、またはExcel 2019がインストールされている必要がある
    (IFS関数が設定されている文書を、IFS関数が無いバージョンのExcelで開くとどうなるかは、「あるはずのエクセル関数が無い!「_xlfn.」が表示されるのはなぜ?」)をご覧ください。)
  • IF関数の中にIF関数を入れ込む方法より使い方は簡単

上記のように、それぞれメリット、デメリットがあるので、自分に合った方の関数を使えばOK。
もし、その文書を扱うすべてのパソコンにOffice 365、またはExcel 2019が入っているかどうかが分からない、という場合には、私ならこのページでご紹介するIF関数の中にIF関数を入れ込む方法を使います。

スポンサーリンク

複数条件で3パターンに振り分けは、4パターン以上に振り分けの基礎

IF関数で複数条件を設定する表 今回はこのような表の「会員区分」欄に、ポイント数に応じて、会員区分が表示されるようにしてみます。

条件会員区分
ポイント数が300以上VIP会員
ポイント数が200以上300未満ゴールド会員
ポイント数が200未満一般会員

この例では、VIP会員・ゴールド会員・一般会員の3つのパターンに振り分けますが、この理屈が分からないと、4つ以上には振り分けられないので、まずはここをがっちり制覇していきましょう!

1つ目の条件と結果表示の設定

まずは1つ目の、

条件会員区分
ポイント数が300以上VIP会員

を設定していきます。

[関数の挿入]ボタン 振り分けた結果を表示させたい「会員区分」欄の先頭セル、C2番地を選択し、[関数の挿入]ボタンをクリックします。

IF関数を選択 関数を指定するためのダイアログボックスが表示されるので、[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄にABC順で表示されます。
今回はIF関数を使いたいので、一覧から「IF」をクリックで選択し、[OK]ボタンを押します。
ちなみに、この一覧から「IF」を選択する際、「IF」の頭文字である「I」のところまで、一瞬でスクロールする技を使うと便利です。

[論理式] 前のダイアログボックスで「IF」を選択して[OK]ボタンをクリックすると、このようなダイアログボックスが表示されます。
まずは[論理式]の設定から。
[論理式]に文字カーソルがあることを確認します。
この[論理式]に設定するのは、「(もし)○○が××だったら」という、条件の設定。

1つ目の条件は、

(もし)ポイント数が300以上だったら

です。

[論理式] 現在、IF関数の設定をしているのは、表の相原さんの欄。
ですので、

(もし)相原さんのポイント数が300以上だったら

となるよう、

[論理式]にセルを設定 まずは、相原さんのポイント数が入力されているセル、B2番地をクリックで選択すると、[論理式]にB2を設定できました。

[論理式]に数式を設定 続いて「>=300」をキーボードで入力すれば、「相原さんのポイント数が300以上だったら」という設定が完了です!
「以上」や「未満」の表現が不安な方は、「Excelで「以上」「以下」「より大きい」「より小さい(未満)」を表す記号」をご覧ください。

[値が真の場合]にカーソルを移す 続いて、[値が真の場合]に文字カーソルを移します。
Excelのバージョンによっては[真の場合]という欄です。

[値が真の場合]を設定 この欄には、先ほど[論理式]に設定した1つ目の条件に該当していた場合に、どうしたいのかを設定します。
1つ目の条件に該当していた場合には「VIP会員」という文字を表示させたいわけですから、「VIP会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。

1パターン目の設定完了 これで、1パターン目の設定が完了です。

2つ目の条件と結果表示の設定

[値が偽の場合] [値が偽の場合]に文字カーソルを移します。
Excelのバージョンによっては[偽の場合]という欄です。
[値が偽の場合]には、[論理式]に設定した条件に該当していなかった場合を設定します。

1パターン目の設定完了 でも今回は、1つ目の条件に該当していなかった場合、「ゴールド会員」になるのか「一般会員」になるのかを、更に切り分けなければいけないので、再び、条件に合っているかどうかで結果表示を振り分けるIF関数を使います。

[値が偽の場合] [値が偽の場合]に文字カーソルがあることを確認し、

[▼]でIF関数を選択 数式バーの左にある[▼]をクリックして「IF」を選択するか、

[▼]の左側でIF関数を選択 [▼]の左側に、「現在使っているのはIF関数だよ」という意味で「IF」と表示されているので、この「IF」をクリックします。
この時、「IF」の表示ではなく、セル番地の表示になっている方は、マウスポインターをこの部分に合わせると、表示が「IF」に変わるのでクリックします。

IF関数の中にIF関数が入った すると、2つ目のIF関数のダイアログボックスに切り替わりました!
IF関数の中にIF関数が入っていることは、数式バーを見ると実感できます。

2つ目のパターンは、

条件会員区分
ポイント数が200以上300未満ゴールド会員

です。

表の相原さんの欄 [論理式]には、「(もし)○○が××だったら」という、条件を設定するわけですが、現在、IF関数の設定をしているのは、表の相原さんの欄なので、
「(もし)相原さんのポイント数が200以上300未満だったら」
としたいところですが、ここで超重要ポイント

300以上 そもそも、1つ目の条件で「300以上だったら」という判定をしていて、その1つ目の条件に該当していなかった場合の設定を今ここでしているわけですから、

300未満が大前提 現時点で「300未満」ということが大前提になっているわけです。
ということは、

200以上300未満 「200以上」という表現をするだけで、「200以上300未満」という設定と同じことになるわけです!

というわけで、

(もし)相原さんのポイント数が200以上だったら

となるよう、

[論理式]にセル番地を設定 まずは、相原さんのポイント数が入力されているセル、B2番地をクリックで選択し、[論理式]にB2を指定します。

[論理式]に数式を設定 続いて「>=200」をキーボードで入力すれば、「相原さんのポイント数が200以上だったら」という設定ができました!

[値が真の場合] 続いて、[値が真の場合]に文字カーソルを移します。
Excelのバージョンによっては[真の場合]という欄です。

[値が真の場合]に文字を入力 この欄には、先ほど[論理式]に設定した条件に該当していた場合に、どうしたいのかを設定します。
先ほどの条件に該当していた場合には「ゴールド会員」という文字を表示させたいわけですから、「ゴールド会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。

2パターン目まで設定完了 これで、2パターン目までの設定が完了しました!

スポンサーリンク

最後の3つ目は大前提に注目!

[値が偽の場合] [値が偽の場合]に文字カーソルを移します。
Excelのバージョンによっては[偽の場合]という欄です。
[値が偽の場合]は、[論理式]に設定した条件に該当していなかった場合を設定します。

3つ目のパターンは、

条件会員区分
ポイント数が200未満一般会員

です。

200以上300未満 もうお気付きでしょうか?
ここまでで設定してきた、

  • 300以上だったら
  • 200以上だったら

の各条件について、ことごとく該当していない場合について、今設定しようとしているわけですから、

200未満が大前提 現時点で「200未満」ということが大前提になっています!
ということは、わざわざ「相原さんのポイント数が200未満だったら」という条件を設定する必要が無いんです!

[値が偽の場合]の設定 というわけで、200未満だった場合にどう表示させるのかだけを設定すればいいことになるので、「一般会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。

3パターンに切り分ける場合はこれで全ての設定が完了したので[OK]ボタンをクリックし、「大きい方からでも、小さい方からでも設定可能」の章にお進みください。
4パターン以上に切り分けたい場合は、このまま次の章に読み進めてください。

スポンサーリンク

4パターン以上の場合はどうするか

前の章では、3パターンに分ける仕様だったので、

条件会員区分
ポイント数が300以上VIP会員
ポイント数が200以上300未満ゴールド会員
ポイント数が200未満一般会員

3パターンに分ける場合の[値が偽の場合]の設定 2つ目のIF関数の[値が偽の場合]は、最後の3つ目の条件が既に大前提となっていたため、条件を設定せずとも「一般会員」という結果表示を指定するだけでOKでした。
でも、今回は4パターン以上に分けますので、次の操作のために、[値が偽の場合]に設定した「一般会員」の文字は、ダブルクォーテーションごと消しておきます

それでは操作を始めていきましょう!
もし、下記のように4パターン以上に分けていきたい場合も、理屈は一緒。

条件会員区分
ポイント数が300以上VIP会員
ポイント数が200以上300未満ゴールド会員
ポイント数が100以上200未満一般会員
ポイント数が100未満非会員

[値が偽の場合] でも、4パターンに設定したい場合には、2つ目のIF関数の[値が偽の場合]に文字カーソルがある時点で、

更に2つに切り分ける必要がある 「一般会員」になるのか「非会員」になるのかを更に切り分けなければいけないので、再び、条件に合っているかどうかで結果表示を振り分けるIF関数を追加します。

[値が偽の場合] [値が偽の場合]に文字カーソルがあることを確認し、

[▼]をクリックして「IF」を選択 数式バーの左にある[▼]をクリックして「IF」を選択するか、

[▼]の左側をクリックして「IF」を選択 [▼]の左側に、「現在使っているのはIF関数だよ」という意味で「IF」と表示されているので、この「IF」をクリックします。
この時、「IF」の表示ではなく、セル番地の表示になっている方は、マウスポインターをこの部分に合わせると、表示が「IF」に変わるのでクリックします。

3つ目のIF関数のダイアログボックス すると、3つ目のIF関数のダイアログボックスに切り替わりました!
3つ目のIF関数が入っていることは、数式バーを見ると実感できます。

4パターンに分ける例での、3つ目のパターンは、

条件会員区分
ポイント数が100以上200未満一般会員

です。

3つ目のIF関数の[論理式] [論理式]には、「(もし)○○が××だったら」という、条件を設定するわけですが、現在、IF関数の設定をしているのは、表の相原さんの欄なので、
(もし)相原さんのポイント数が100以上200未満だったら
としたいところですが、ここもやはり超重要ポイント

200以上300未満 そもそも、ここまでで設定してきた、

  • 300以上だったら
  • 200以上だったら

の各条件について、ことごとく該当していない場合について、今設定しようとしているわけですから、

200未満が大前提 現時点で「200未満」ということが大前提になっているわけです。
ということは、

100以上 「100以上」という表現をするだけで、「100以上200未満」という設定と同じことになるわけです!

というわけで、

(もし)相原さんのポイント数が100以上だったら

となるよう、

[論理式]にセル番地を設定 まずは、相原さんのポイント数が入力されているセル、B2番地をクリックで選択し、[論理式]にB2を指定します。

[論理式]に数式を設定 続いて「>=100」をキーボードで入力すれば、「相原さんのポイント数が100以上だったら」という設定ができました!

[値が真の場合] 続いて、[値が真の場合]に文字カーソルを移します。
Excelのバージョンによっては[真の場合]という欄です。

[値が真の場合]に文字を入力 この欄には、先ほど[論理式]に設定した3つ目の条件に該当していた場合に、どうしたいのかを設定します。
3つ目の条件に該当していた場合には、「一般会員」という文字を表示させたいわけですから、「一般会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。

3パターン目まで設定完了 これで、3パターン目までの設定が完了しました!

[値が偽の場合] 次は4パターン目を設定するべく文字カーソルを[値が偽の場合]に移します。
もし、5パターン目もあるようなら、更にここにIF関数を追加して切り分けていけばいいわけですが、今回は4パターン目が最後。
4パターン目として、

条件会員区分
ポイント数が100未満非会員

を設定するわけですが、

全ての条件 ここまでで設定してきた、

  • 300以上だったら
  • 200以上だったら
  • 100以上だったら

の各条件について、ことごとく該当していない場合について、今設定しようとしているわけですから、

100未満が大前提 現時点で「100未満」ということが大前提になっています!
ということは、わざわざ「相原さんのポイント数が100未満だったら」という条件は設定する必要無し!

4パターン目の設定 というわけで、100未満だった場合にどう表示させるのかだけを設定すればいいことになるので、「非会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。
今回は4パターンの振り分けなので、ここで[OK]ボタンをクリックします。

スポンサーリンク

大きい方からでも、小さい方からでも設定可能

オートフィルで数式をコピー あとは、残りのセルにも同様の数式を設定したいので、オートフィルで数式をコピーします。

3パターンに振り分け 3パターンに振り分けた場合は、このようになります。

4パターンに振り分け 4パターンに振り分けた場合は、このようになります。


3パターンに振り分け さて、このような3パターンに振り分ける設定では、

1つ目の設定ポイント数が300以上だったらVIP会員
1つ目に該当しない場合ポイント数が200以上だったら
(300未満が大前提)
ゴールド会員
2つ目にも該当しない場合(200未満が大前提)一般会員

と、ポイント数が大きい方から順番に設定していきました。

でも、

1つ目の設定ポイント数が200未満だったら一般会員
1つ目に該当しない場合ポイント数が300未満だったら
(200以上が大前提)
ゴールド会員
2つ目にも該当しない場合(300以上が大前提)VIP会員

と、ポイント数が小さい方から順番に設定していくことも可能です。

IF関数はそもそも「この条件に合っていればA、そうじゃなければB」という関数ですから、「そうじゃなければ」の時点でそれぞれに大前提があります
この大前提を利用するので、大きい方から、または小さい方から順番に設定していけばいいわけです。

スポンサーリンク