Excel(エクセル)のIF関数について紹介します。
IF関数は、条件によって処理を分けることができる関数です。
たとえば、資格試験を実施し受験者ごとの点数表をエクセルで作成した場合、「合格」「不合格」を自動的に振り分けてくれます。
このように「もしも」の条件を指定して「80点以上の場合は”合格”」「80点未満の場合は”不合格”」と条件によって処理を変えることができるのがIF関数です。
IF関数を使えば1つの条件だけではなく、複数の条件を分岐する複雑な処理も自動的に振り分けることができます。
まずは、基本的なIF関数から紹介していきます。
IF関数の構文
基本的なIF関数の構文を見ていきましょう。
=IF(条件,真の場合,偽の場合)
条件によって、「真の場合の処理」か「偽の場合の処理」のどちらか一方を実行させることができます。
構文だけ見てもわかりづらいと思いますので早速、実践していきましょう。
IF関数の使い方
今回は、IF関数を使って試験受験者の点数をもとに合格か不合格か自動判定できるようにしましょう。
この場合の条件は「80点以上」です。
「80点以上」を基準に「真の場合の処理」と「偽の場合の処理」は以下の通りです。
「真の場合:”合格”」「偽の場合:”不合格”」
これをIF関数の構文に当てはめると次のようになります。
=IF(C4>=80,”合格”,”不合格”)
点数が入力されているC4のセルが80点以上の場合は「合格」、それ以外は「不合格」と処理するIF関数式です。
[数式]タブ「関数の挿入」からIF関数を作成する
セルにIF関数を直接、入力することでも作成することができますが[数式]タブの「関数の挿入」を使ってIF関数を作成する方法を紹介します。
1.[数式]タブ > 2.「fx関数の挿入」をクリック > 3.関数名のなかから「IF」を選択する > [OK]をクリック
[論理式]ボックスに「C4>=80」と入力し、[真の場合]に「”合格”」、[偽の場合]に「”不合格”」と入力したら[OK]をクリックする。
「点数」欄が空白だった場合の処理
上記で作成したIF関数だと点数の欄が空白だった場合には合否判定欄は「不合格」となってしまいます。
その原因は「80点以上は合格」、「それ以外は不合格」といった処理を与えるIF関数の書き方をしているからです。
点数の欄が空白だった場合に合否判定欄も空白にするため「ISBLANK関数」を使用します。
もともとのIF関数の前に「IF(ISBLANK(C4),””,」を追加するだけです。
追加することで「もし点数のC4セルが空白だった場合は、合否判定欄は空白」という指示を与えることができます。
複数の値を基準に判断する
これまで「80点」を条件とした、1つの値を基準にIF関数を作成しました。
では複数の値を条件とした場合は、どうしたらよいでしょうか?
例えば80点以上はA評価、60~79点はB評価、0~59点はC評価のような場合です。
今まで80点だけを基準に合格か不合格かを判断するIF関数を作成してきましたが、次は「80点以上」「60~79点」「~59点」を基準に「A評価」「B評価」「C評価」の判断をするIF関数を作成していきます。
IF関数の式をセルに入力していきます。
今回の例では、下記の式をAさんの合否判定欄であるD4のセルに入力していきます。
IF関数を複数しようすることによって、複数の条件に対応できるようになります。
1つ目のIF関数の”偽の場合”にあたる部分に2つ目のIF関数を入れるように式を作成していきます。
・ 1つ目のIF関数の「C4>=80」は「C4のセルの点数が80点以上だったら」という条件を指します
・ 1つ目のIF関数の条件に対して真の場合である処理「A評価」
・ 2つ目のIF関数の「AND(C4>=60,C4<80)」は「C4のセルの点数が60~79点だったら」という条件を指します
・ 2つ目のIF関数の条件に対して真の場合である処理「B評価」
・ 2つ目のIF関数の条件に対して偽の場合である処理「C評価」
最後にオートフィルで式をコピーします。
これで他のセルにもIF関数を適用させることができます。