IF関数で複数条件のどれに合うかで3パターン以上に振り分け[全Ver.可]
- Excel 2019, 2016, 2013, 2010
- Office 365
(if-if.xlsx 12.6KB)
スポンサーリンク
条件に合っていたらA、そうじゃなければBのように、1つの条件に合っているかどうかで結果表示を振り分けたいときに使うのがIF関数。
でも、この条件に合っていたらA、そっちの条件に合っていたらB、そうじゃなければCのように、複数条件のどれに合っているかで、3パターン以上に振り分けたいときには、IF関数の中にIF関数を入れ込むか、IFS関数を使います。
- どのバージョンでも使える(古いバージョンのExcelでも可)
- 関数の中に関数を入れ込むので、若干慣れは必要
IF関数の中にIF関数を入れ込む(このページでご紹介する方法)
- 「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パターン以上に振り分けの基礎
今回はこのような表の「会員区分」欄に、ポイント数に応じて、会員区分が表示されるようにしてみます。
条件 | 会員区分 |
---|---|
ポイント数が300以上 | VIP会員 |
ポイント数が200以上300未満 | ゴールド会員 |
ポイント数が200未満 | 一般会員 |
この例では、VIP会員・ゴールド会員・一般会員の3つのパターンに振り分けますが、この理屈が分からないと、4つ以上には振り分けられないので、まずはここをがっちり制覇していきましょう!
1つ目の条件と結果表示の設定
まずは1つ目の、
条件 | 会員区分 |
---|---|
ポイント数が300以上 | VIP会員 |
を設定していきます。
振り分けた結果を表示させたい「会員区分」欄の先頭セル、C2番地を選択し、[関数の挿入]ボタンをクリックします。
関数を指定するためのダイアログボックスが表示されるので、[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄に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パターン目の設定が完了です。
2つ目の条件と結果表示の設定
[値が偽の場合]に文字カーソルを移します。
Excelのバージョンによっては[偽の場合]という欄です。
[値が偽の場合]には、[論理式]に設定した条件に該当していなかった場合を設定します。
でも今回は、1つ目の条件に該当していなかった場合、「ゴールド会員」になるのか「一般会員」になるのかを、更に切り分けなければいけないので、再び、条件に合っているかどうかで結果表示を振り分けるIF関数を使います。
[値が偽の場合]に文字カーソルがあることを確認し、
数式バーの左にある[▼]をクリックして「IF」を選択するか、
[▼]の左側に、「現在使っているのはIF関数だよ」という意味で「IF」と表示されているので、この「IF」をクリックします。
この時、「IF」の表示ではなく、セル番地の表示になっている方は、マウスポインターをこの部分に合わせると、表示が「IF」に変わるのでクリックします。
すると、2つ目のIF関数のダイアログボックスに切り替わりました!
IF関数の中にIF関数が入っていることは、数式バーを見ると実感できます。
2つ目のパターンは、
条件 | 会員区分 |
---|---|
ポイント数が200以上300未満 | ゴールド会員 |
です。
[論理式]には、「(もし)○○が××だったら」という、条件を設定するわけですが、現在、IF関数の設定をしているのは、表の相原さんの欄なので、
「(もし)相原さんのポイント数が200以上300未満だったら」
としたいところですが、ここで超重要ポイント!
そもそも、1つ目の条件で「300以上だったら」という判定をしていて、その1つ目の条件に該当していなかった場合の設定を今ここでしているわけですから、
現時点で「300未満」ということが大前提になっているわけです。
ということは、
「200以上」という表現をするだけで、「200以上300未満」という設定と同じことになるわけです!
というわけで、
(もし)相原さんのポイント数が200以上だったら
となるよう、
まずは、相原さんのポイント数が入力されているセル、B2番地をクリックで選択し、[論理式]にB2を指定します。
続いて「>=200」をキーボードで入力すれば、「相原さんのポイント数が200以上だったら」という設定ができました!
続いて、[値が真の場合]に文字カーソルを移します。
Excelのバージョンによっては[真の場合]という欄です。
この欄には、先ほど[論理式]に設定した条件に該当していた場合に、どうしたいのかを設定します。
先ほどの条件に該当していた場合には「ゴールド会員」という文字を表示させたいわけですから、「ゴールド会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。
これで、2パターン目までの設定が完了しました!
スポンサーリンク
最後の3つ目は大前提に注目!
[値が偽の場合]に文字カーソルを移します。
Excelのバージョンによっては[偽の場合]という欄です。
[値が偽の場合]は、[論理式]に設定した条件に該当していなかった場合を設定します。
3つ目のパターンは、
条件 | 会員区分 |
---|---|
ポイント数が200未満 | 一般会員 |
です。
もうお気付きでしょうか?
ここまでで設定してきた、
- 300以上だったら
- 200以上だったら
の各条件について、ことごとく該当していない場合について、今設定しようとしているわけですから、
現時点で「200未満」ということが大前提になっています!
ということは、わざわざ「相原さんのポイント数が200未満だったら」という条件を設定する必要が無いんです!
というわけで、200未満だった場合にどう表示させるのかだけを設定すればいいことになるので、「一般会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。
3パターンに切り分ける場合はこれで全ての設定が完了したので[OK]ボタンをクリックし、「大きい方からでも、小さい方からでも設定可能」の章にお進みください。
4パターン以上に切り分けたい場合は、このまま次の章に読み進めてください。
スポンサーリンク
4パターン以上の場合はどうするか
前の章では、3パターンに分ける仕様だったので、
条件 | 会員区分 |
---|---|
ポイント数が300以上 | VIP会員 |
ポイント数が200以上300未満 | ゴールド会員 |
ポイント数が200未満 | 一般会員 |
2つ目のIF関数の[値が偽の場合]は、最後の3つ目の条件が既に大前提となっていたため、条件を設定せずとも「一般会員」という結果表示を指定するだけでOKでした。
でも、今回は4パターン以上に分けますので、次の操作のために、[値が偽の場合]に設定した「一般会員」の文字は、ダブルクォーテーションごと消しておきます。
それでは操作を始めていきましょう!
もし、下記のように4パターン以上に分けていきたい場合も、理屈は一緒。
条件 | 会員区分 |
---|---|
ポイント数が300以上 | VIP会員 |
ポイント数が200以上300未満 | ゴールド会員 |
ポイント数が100以上200未満 | 一般会員 |
ポイント数が100未満 | 非会員 |
でも、4パターンに設定したい場合には、2つ目のIF関数の[値が偽の場合]に文字カーソルがある時点で、
「一般会員」になるのか「非会員」になるのかを更に切り分けなければいけないので、再び、条件に合っているかどうかで結果表示を振り分けるIF関数を追加します。
[値が偽の場合]に文字カーソルがあることを確認し、
数式バーの左にある[▼]をクリックして「IF」を選択するか、
[▼]の左側に、「現在使っているのはIF関数だよ」という意味で「IF」と表示されているので、この「IF」をクリックします。
この時、「IF」の表示ではなく、セル番地の表示になっている方は、マウスポインターをこの部分に合わせると、表示が「IF」に変わるのでクリックします。
すると、3つ目のIF関数のダイアログボックスに切り替わりました!
3つ目のIF関数が入っていることは、数式バーを見ると実感できます。
4パターンに分ける例での、3つ目のパターンは、
条件 | 会員区分 |
---|---|
ポイント数が100以上200未満 | 一般会員 |
です。
[論理式]には、「(もし)○○が××だったら」という、条件を設定するわけですが、現在、IF関数の設定をしているのは、表の相原さんの欄なので、
(もし)相原さんのポイント数が100以上200未満だったら
としたいところですが、ここもやはり超重要ポイント!
そもそも、ここまでで設定してきた、
- 300以上だったら
- 200以上だったら
の各条件について、ことごとく該当していない場合について、今設定しようとしているわけですから、
現時点で「200未満」ということが大前提になっているわけです。
ということは、
「100以上」という表現をするだけで、「100以上200未満」という設定と同じことになるわけです!
というわけで、
(もし)相原さんのポイント数が100以上だったら
となるよう、
まずは、相原さんのポイント数が入力されているセル、B2番地をクリックで選択し、[論理式]にB2を指定します。
続いて「>=100」をキーボードで入力すれば、「相原さんのポイント数が100以上だったら」という設定ができました!
続いて、[値が真の場合]に文字カーソルを移します。
Excelのバージョンによっては[真の場合]という欄です。
この欄には、先ほど[論理式]に設定した3つ目の条件に該当していた場合に、どうしたいのかを設定します。
3つ目の条件に該当していた場合には、「一般会員」という文字を表示させたいわけですから、「一般会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。
これで、3パターン目までの設定が完了しました!
次は4パターン目を設定するべく文字カーソルを[値が偽の場合]に移します。
もし、5パターン目もあるようなら、更にここにIF関数を追加して切り分けていけばいいわけですが、今回は4パターン目が最後。
4パターン目として、
条件 | 会員区分 |
---|---|
ポイント数が100未満 | 非会員 |
を設定するわけですが、
ここまでで設定してきた、
- 300以上だったら
- 200以上だったら
- 100以上だったら
の各条件について、ことごとく該当していない場合について、今設定しようとしているわけですから、
現時点で「100未満」ということが大前提になっています!
ということは、わざわざ「相原さんのポイント数が100未満だったら」という条件は設定する必要無し!
というわけで、100未満だった場合にどう表示させるのかだけを設定すればいいことになるので、「非会員」という文字をキーボードで入力します。
この時、Excelの数式内に文字を設定する場合には半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。
今回は4パターンの振り分けなので、ここで[OK]ボタンをクリックします。
スポンサーリンク
大きい方からでも、小さい方からでも設定可能
あとは、残りのセルにも同様の数式を設定したいので、オートフィルで数式をコピーします。
3パターンに振り分けた場合は、このようになります。
4パターンに振り分けた場合は、このようになります。
さて、このような3パターンに振り分ける設定では、
1つ目の設定 | ポイント数が300以上だったら | VIP会員 |
---|---|---|
1つ目に該当しない場合 | ポイント数が200以上だったら (300未満が大前提) | ゴールド会員 |
2つ目にも該当しない場合 | (200未満が大前提) | 一般会員 |
と、ポイント数が大きい方から順番に設定していきました。
でも、
1つ目の設定 | ポイント数が200未満だったら | 一般会員 |
---|---|---|
1つ目に該当しない場合 | ポイント数が300未満だったら (200以上が大前提) | ゴールド会員 |
2つ目にも該当しない場合 | (300以上が大前提) | VIP会員 |
と、ポイント数が小さい方から順番に設定していくことも可能です。
IF関数はそもそも「この条件に合っていればA、そうじゃなければB」という関数ですから、「そうじゃなければ」の時点でそれぞれに大前提があります。
この大前提を利用するので、大きい方から、または小さい方から順番に設定していけばいいわけです。
スポンサーリンク