IF(イフ)/ エクセル対応 2016 2013 2010 2007 / 使用頻度 ★★★★★ 便利度 ★★★★
Excel関数:IF(論理式,真の場合,偽の場合)
IF関数の論理式で条件振り分けされた結果に対して、さらにIF関数を使う(入れ子:ネスト)ことで、複数の条件に分岐することが可能です。最大64階層までネストすることができます。また、AND関数やOR関数、その他のExcel関数とも組合して使われることも多いので、例題と応用例題を多めに掲載します。
【例題1】合計点が200点以上を合格、満たさないときを不合格と判定する
IF関数で指定した条件「C3>=200(合計得点が200点以上)」を満たすときは「合格」を表示し、満たさないときは「不合格」と表示する。
コピペ用 =IF(C3>=200,”合格”,”不合格”)
【例題2】IF関数の中にIF関数を組み合わせる(ネスト)
点数200点以上「A」、180点以上「B」、180点未満「C」と判定する
IF関数で指定した条件「C3>=200(点数が200点以上)」を満たすときは「A」を表示し、「C3>=200」満たさないときにおいて「C3>=180」を満たすとき「B」を表示し、「C3>=180」を満たさないときは「C」と表示する。
コピペ用 =IF(C3>=200,”A”,IF(C3>=180,”B”,”C”))
<補足>
上記の例題のように、IF関数の中にIF関数を組み合わせると、条件によって振り分ける処理の数を増やすことができるようになっています。つまり、論理式が成立しないときは条件を細分化(IF関数の組み合わせ)し、処理を複数に分け結果を返すことができます。
【応用例題1】ISNUMBER関数をIF関数とRANK.EQ関数と組合せ、点数欄の文字列の値を除いて順位を表示する
IF関数の論理式においてISNUMBER関数を用い、対象セル「C3」の値が数値かどうか判断します。「C3」の値が数値であればIF関数の論理式の結果は「TRUE」となり、RANK.EQ関数を用い、「C3」の値について数値参照範囲「C3:C9」内での順位を表示します。「C3」の値が数値でなければ、IF関数の論理式の結果は「FALSE」となり、「-」を表示します。
コピペ用 =IF(ISNUMBER(C3),RANK.EQ(C3,$C$3:$C$9),”-“)
<補足>
上記の例題のように、IF関数とISNUMBER関数、RANK.EQ関数と組み合わせることで、点数欄に数値以外の文字列や未入力の判断と順位表示をひとつの処理で行うことができます。Excel関数は様々な関数を組み合わせることで、処理の幅が広がります。
【応用例題2】関東地方の女性かどうか判定し、該当者に「○」を表示
本応用例題では、すべての条件を満たした場合「○」(TRUE)と表示させます。流れとしては、AND関数を使って複数条件を指定し、その判定結果によりIF関数で条件分岐処理を行います。
まずはAND関数を使用し、複数の条件として「C3=”関東”」(地区が関東地方)かつ「D3=”女”」(性別が女性)という2つの条件を両方とも満たしているか判定します。「C3」が「関東」かつ「D3」が「女」となっていれば「TRUE」と表示され、どちらかひとつでも条件を満たしていなければ「FALSE」と表示されます。今回は、「TRUE」と判定されたものを「○」と表示するので、IF関数でAND関数を囲み、条件分岐処理を行います。
コピペ用 =IF(AND(C3=”関東”,D3=”女”),”○”,”-“)