ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.006

アイコン 3つ以上ある範囲に条件分岐するには(多分岐) 《IF》

Excel2003/2007/2010/2013

IF関数は「真の場合」と「偽の場合」の2分岐ですが、そこを3分岐以上の条件で求める方法です。

IF関数を使った分岐のパターンはいくつもありますが、今回は数値系の条件分岐です。
例えば、点数などの数値データを、例えば30以上の場合はA、20以上30未満はB、20未満はCなどと評価、多分岐するケースです。

数式は、IF関数(関数の分類: 論理)だけを複数使います。

  =IF(A1>=30,"A",IF(A1>=20,"B","C"))

IF関数

式の意味を、頭から見ていきましょう。

最初のIF関数の条件、「セルA1の値が30以上である」の条件に真の場合は「A」と指定、これは決定です。
そして偽の場合、偽の場合ということは30未満のデータが該当します。
その偽の場合の中にIF関数が入っていて、「セルA1の値が20以上である」の条件があります。

IF関数

とすると、中のIF関数の条件は「セルA1の値が30未満かつ20以上である」という条件となり、その条件に真の場合は「B」、偽の場合、つまり20未満は「C」となります。

IF関数

このように、IF関数の偽の場合にIF関数をネストし、1つの対象に条件を指定することで、ランクなどの多分岐を行うことができます。

4分岐、5分岐としていく場合は、IF関数の引数[偽の場合]にさらにIF関数をネストさせて処理します。

こういった数値の多分岐を行う場合は、端の条件から指定していきましょう。
今回数値が大きい条件(30以上)から指定していきましたが、小さい条件(20未満)から指定するならば、次の式になります。

  =IF(A1<20,"C",IF(A1<30,"B","A"))

なお関数のネストは、Excel2003までのバージョンでは7レベルまで、Excel2007以降は64レベルとなっていますので、十分に分岐することができますね。

関連ヘルプ

VLOOKUP関数の結果がエラー値の場合には空白で表示させる 《IFERROR・IF・ISERROR》
ページのトップへ戻る