IFS関数で複数条件のどれに合うか3パターン以上に振り分け

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

スポンサーリンク

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

    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関数を入れ込む方法を使います。
このページでは、IFS関数をご紹介していきます!

スポンサーリンク

複数条件でどう振り分けるのかを整理する

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

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

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

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

まずは1つ目の、

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

を設定していきます。

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

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

IFS関数の[論理式1] 前のダイアログボックスで「IFS」を選択して[OK]ボタンをクリックすると、このようなダイアログボックスが表示されます。
これから複数条件で何パターンかに振り分けていくのに、設定する欄が少なくない?と思っても大丈夫。
設定を進めていくうちに、自動的に欄が増えていきます
まずは[論理式1]の設定から。
[論理式1]に文字カーソルがあることを確認します。
この[論理式1]に設定するのは、「(もし)○○が××だったら」という、1つめの条件

1つ目の条件は、

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

です。

表の相原さんの欄 現在、IFS関数の設定をしているのは、表の相原さんの欄。
ですので、

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

となるよう、

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

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

IFS関数の[値が真の場合1] 続いて、[値が真の場合1]に文字カーソルを移します。

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

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

スポンサーリンク

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

IFS関数の[論理式2] [論理式2]に文字カーソルを移します。

2つ目のパターンは、

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

です。

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

300以上 そもそも、1つ目の条件で「300以上だったら」という判定をしていて、その1つ目の条件に該当していなかった場合に、この2つ目の判定に進んできますので、

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

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

というわけで、

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

となるよう、

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

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

IFS関数の[値が真の場合2] 続いて、[値が真の場合2]に文字カーソルを移します。

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

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

3パターンだろうが4パターンだろうがこの繰り返し

IFS関数の[論理式]と[値が真の場合] 3パターンだろうが、4パターンだろうが、複数ある条件のどれに合っているかで、結果表示を振り分けるには、[論理式]に条件を設定し、[値が真の場合]にその条件に該当していた場合のことを指定する、を繰り返していくのがIFS関数の設定方法です。

[関数の引数]ダイアログボックスのスクロールバー パターンをたくさん設定していくと、スクロールバーが表示されるので、自分が設定や確認をしたい欄が見えないときは、スクロールします。

スポンサーリンク

最後のパターン設定はどうするか

この章では、複数ある条件の、最後のパターンについて触れていきますが、今回の例の場合、最後のパターン設定は2通りの方法があるので、この章はもちろん、ぜひ「「そうじゃなければ」を指定するには」の章もご覧ください。

IFS関数の[論理式3] それでは、続きをスタートします。
[論理式3]に文字カーソルを移します。

3つ目のパターンは、

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

です。

表の相原さんの欄 [論理式3]には、「(もし)○○が××だったら」という、条件を設定するわけですが、現在、IFS関数の設定をしているのは、表の相原さんの欄なので、

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

となるよう、

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

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

IFS関数の[値が真の場合3] 続いて、[値が真の場合3]に文字カーソルを移します。
[値が真の場合3]が無い!という方は、スクロールすると欄が見えますヨ。

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

これで、3パターン全ての設定が終わったものの、IF関数の中にIF関数を入れ込む方法で3パターン以上に振り分けたことがある方は、IF関数の[値が偽の場合]ように、「そうじゃなければ」という、条件に該当しなかった場合を設定する欄はIFS関数には無いの?という疑問が出ると思うんです。
というわけで、次の章では、IFS関数で「そうじゃなければ」という表現をしたいときの方法をご紹介します!

スポンサーリンク

「そうじゃなければ」を指定するには

前の章では、3つ目のパターン、

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

という設定をするため、

IFS関数の[論理式3] [論理式3]に、

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

と、素直に設定しました。

200以上300未満 でも、そもそも[論理式3]を設定しようとしている時点で、今までの、

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

の各条件について、ことごとく該当していないことが大前提になっているので、

200未満が大前提 もう既に、「200未満」ということが大前提になってるんですよね。
ということは、わざわざ「相原さんのポイント数が200未満だったら」という表現をしなくてよく

そうじゃなければ(今までの条件にすべて当てはまらなければ)

と表現すればいいだけのことになります。

[論理式]にTRUEを設定 この、「そうじゃなければ」に該当するのが「TRUE」。
「TRUE」って「そのとおり」的な意味合いなので、何だか用法的に間違っているように不安になりますが、心配無用。
「今までの条件にすべて当てはまらない」という状況が「TRUE(そのとおり)」だったら、とイメージしていただくといいと思います。
この「TRUE」はキーボードで入力します。
小文字で「true」と入力しても構いません。
そして、「TRUE」は、数式で使う特別な文字なので、半角ダブルクォーテーションでは囲みません

[論理式3]と[値が真の場合3]を設定 [値が真の場合3]には、「今までの条件にすべて当てはまらない」という状況が「TRUE(そのとおり)」だった場合にどう表示させるのかだけを設定すればいいことになるので、「一般会員」という文字が設定されていることを確認します。
この時、Excelの数式内に文字を設定する場合には、半角ダブルクォーテーションで文字の前後を囲むというお約束があるので、お忘れなく。
これで、3パターン全ての振り分けの設定が完了したので、[OK]ボタンをクリックします。

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

3パターンに振り分け 3パターンに振り分けることができました!

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

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

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

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

でも、

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

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

IFS関数は1つ目の条件に合っていなければ2つ目へ、それにも合っていなければ3つ目へ・・・と順に「ふるい」にかけていきます。
次の条件に進んでいる時点で、前の条件に該当していないという大前提があるので、大きい方から、または小さい方から順番に設定していけばいいわけです。

スポンサーリンク