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

No.006

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

2003/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レベルとなっていますので、十分に分岐することができますね。

twitter hatena line pocket

関連ヘルプ

新規メールが開くハイパーリンクをまとめて設定するには 《HYPERLINK》
重複データを調べる 《COUNTIF》
設定されているリンクを保ちながら、行と列を入れ替えて表を貼り付けたい 《配列数式/TRANSPOSE》
VLOOKUP関数の結果がエラー値の場合には空白で表示させる 《IFERROR・IF・ISERROR》
0を抜いた最小値を調べるには 《MIN・SMALL・COUNTIF・IF》
データに連番をふる、同じデータには同じ番号 《INDEX・MATCH・COUNTIF・MAX》
規則性がない空白セルを除いた行に連番をふるには 《IF・COUNTA・COUNTIFS》
複数条件を満たすデータの件数を求めるには 《COUNTIF・COUNTIFS・SUMPRODUCT》
奇数行の合計、偶数行の合計、n行おきの合計を求める 《配列数式/IF・SUM・MOD》
時刻を5分単位で切り上げまたは切り捨てて表示するには 《CEILING・FLOOR・ROUNDUP》
参照式の参照セルが移動しても固定されるようにしたい 《INDIRECT》
VLOOKUP関数で、複数テーブルから検索したい 《VLOOKUP・アンパサンド》
2つのデータを比較し、他方にない(両方にある)データを探す 《VLOOKUP・COUNTIF》
OR条件に当てはまるデータの合計を求める 《SUMIF・SUMIFS・SUMPRODUCT・DSUM》
日付を表す8桁の数値データを、6桁の和暦にしたい 《DATE・TEXT》