HOME > エクセル関数 > IF関数

IF関数とは

 論理関数の一つIF関数の説明です。少し理解しにくい関数かもしれませんが、IF関数を理解し、利用することができるとエクセルの幅が大きく広がります。

 IF関数とは簡単に説明すると「論理式を入力し、その結果が真なら真の場合を返し、偽なら偽の場合を返します。」となります。

IF関数

 書式で表すと「=IF(論理式,真,偽)」になります。上記のエクセル表で説明すると、セルF3の数式で論理式は「E3>=180」の部分になります。これは相場さんの合計点(セルE3)が180点以上であるかどうか?を判定しています。もし180点以上であれば、真の「”合”」の部分が反映され、180点未満であれば、「”不”」が反映されます。

 相場さんは合計点が154点なので「”不”」が反映されています。セルF3に数式を一度入れるとF4〜F6はコピーすればそのまま利用することが出来ます。(エクセルが参照セルを自動で変更してくれます。)

論理関数

 合計点の枠を使用したくない場合は直接英語、数学、国語の点数を足して、合否判定にすることも出来ます。この場合は論理式が「B3+C3+D3>=180」になります。

IF関数(応用例)1

 ここで応用例を一つ紹介します。IF関数だけでなく、AND関数を併用して利用することにより、複数の論理式を使用することが出来ます。

IF関数の応用

 今回の場合は足切り点も考慮して合否判定をしております。合計点が180点以上、なおかつ各科目の点数が50点以上で無ければ不合格と判定しています。

 そのままの表ではなんら変化がなかったので上田さんの英語の点数を55点から45点に変更しました。すると上田さんの合計点は222点ですが、英語が50点未満なので不合格の判定になっております。

 論理関数は「AND(B3+C3+D3>=180,B3>=50,C3>=50,D3>=50)」になります。AND関数を利用することにより、4つの条件(合計180点以上、各教科50点以上)を満たすものにしか合格の判定は出ないようになっています。

IF関数(応用例)2

 通常IF関数は真、偽の2種類の判定しかできませんが、IF関数にIF関数をネストして、複数分岐できる方法を説明します。

IF関数のネスト

 現在セルF3に入力されている式は、下式になります。IF関数を3回利用しています。よって4種類の分岐に対応しております。

 =IF(E3>=80,"優",IF(E3>=70,"良",IF(E3>=60,"可","不可")))

 少しややこしいですが順番に説明します。まず訂正線の部分を無視して考えましょう。単純に考えて初めのIF関数で「E3>=80」の条件がそろうと「優」になることが理解できると思います。斜線部分はそれ以外、すなわち79点以下は次のIF関数にゆだねられるのです。

 =IF(E3>=80,"優",IF(E3>=70,"良",IF(E3>=60,"可","不可")))

 2つ目のIF関数で「E3>=70」の条件がそろうと「良」になることが理解できると思います。この時点で80点以上は「優」と判定されているので実際は「79>E3>=70」の間が良になります。

 =IF(E3>=80,"優",IF(E3>=70,"良",IF(E3>=60,"可","不可")))

 最後のIF関数により、「E3>=60」の条件がそろうと「可」になることが理解できると思います。ここまでに80点以上は「優」、70点以上は「良」の判定が下されているので

「69>E3>=60」の間が可になります。

 そしてどれにも判定されなかった数値すなわち59点以下は「不可」の判定になります。よって3回IF関数を利用することで4種類の分岐を作成することができます。

 =IF(E3>=80,"優",IF(E3>=70,"良",IF(E3>=60,"可","不可")))

*ちなみにエクセル2003までは7こまでネストすることができます。エクセル2007、エクセル2010になると64こまでネストすることができます。

 現実的には3〜5回ぐらいまでで充分だと思います。数式が見づらくなります。もっと複数の分岐が必要ならリストを作成してVlookUp関数などを利用するほうが便利です。

関数の基本構造  エクセル職人  AND関数、OR関数

▲TOPへ移動