IF関数はExcelの関数の中でも最もよく使う関数の一つです。この関数を使うことで、指定した条件を満たすかを判定してセルの出力を変えることができます。つまり、人間の代わりにPCが判断してExcelを書き変えてくれるわけです。
会社での仕事も判断の連続です。この関数を使うことが仕事の自動化、効率化の第一歩です。
この記事ではIF関数の使い方の事例をわかりやすく解説します。
IF関数の使い方の事例
ここではテストの点数の処理を例にして、IF関数の使い方の実例を示します。
テストの合格判定
最も簡単な例です。IF関数で生徒A~Dの合格判定を出しています。50点以上が合格です。
テストの3段階評価
このではA、B、C3段階
で国語のテストの評価をしています。C7にはAVERAGE関数を使って平均点を出しています。
テストの補習への出席判定
ここでは3つのテストの科目の結果を使って補習に出席する必要があるかを判定しています。国語、数学、英語のどれかの教科で一つでも平均点の半分以下をとったら補習です。
IF関数の書式
IF関数は2通りの書き方があります。まずは最初の書き方を示します。
=IF(論理式, TRUE の場合の出力)
論理式が正しい場合、「TRUEの場合の出力」に記載された文字列や数を出力します。
論理式が正しくない場合、 FALSE を返します。
論理式についてはのちに説明します。
IF(条件, TRUE の場合の出力 , FALSE の場合の出力 )
論理式が正しい場合、「TRUEの場合の出力」に記載された文字列や数を出力します。
論理式が間違っている場合場合、「FALSEの場合の出力」に記載された文字列や数を出力します。
論理式とは
比較演算子を使う、正しいか間違っているかだけを判定する式です。例としては「a>b」という式です。「>」が比較演算子です。結果は正しい場合は「TRUE」、間違っている場合は「FALSE」
例えばaが2でbが1の場合この式は正しいので 「TRUE」が出力されます。aが2でbが3の場合aよりbのほうが大きいので間違っています。出力が「FALSE」になります。
論理式に使う比較演算子
理論式に使う比較演算子をまとめました。
比較演算子 | 演算名 | 使用例 | 結果 |
= | 等しい | 2=1 | FALSE |
<> | 等しくない | 2<>1 | TRUE |
> | 大きい | 1>1 | FALSE |
>= | 以上 | 1>=1 | TRUE |
IF関数の実際の記述の仕方
テストの合格判定 IF関数の使い方
この例ではIF関数を使って50点以上を合格とする判定をします。まず生徒の点数を表にします。ここでは国語の点数で4人の生徒です。
次にD3のセルを選択して「=IF」と入力するとIF関数の入力が始まります。3項目分入力します。それぞれの項目は「 , 」で区切りましょう。
にIF関数を使います。項目1は「 C3>=50 」と理論式を入力します。以上の比較演算子を使いましょう。項目2は「"合格"」です。理論式が正しい場合の出力になります。項目3は「""」を入力します。これで理論式が間違っている場合、空白が出力されます。
完成した式は「=IF(C3>=50,"合格","")」 となります。次にこの数式をほかの生徒の結果にも適用します。
D3のセルをクリックしたまま下に引っ張るとそのセルの内容がコピーされていきます。これをエクセルのオートフィルの機能といいます。右下をダブルクリックしてもよいです。
最後に見え方の調整をします。D6セルの右下のオートフィルの設定をクリックして、書式なしコピーを選びます。これですべての生徒の合格判定が出力されます。
テストの3段階評価 IF関数でネストする使い方
次の例では3段階の評価をします。この例ではIF関数の中にIF関数を入れるネスト(入れ子)を使います。
D3セルを選択してIF関数を記述していきます。項目1は「C3<$C$7/2」を入力します。C7の平均点の半分未満なら正しいとなって、項目2の”C”が出力されます。
C7を絶対参照を使って$C$7と書くのが肝です。これを使うことでコピーするときに常に平均点を参照してくれます。
項目3にIF関数を記述してネストします。このIF関数で平均点より小さいかの判定を行います。
最終的には「=IF(C3<$C$7/2,"C",IF(C3<$C$7,"B","A"))」となります。前の例と同じくオートフィルを使ってほかのセルにコピーすればすべての生徒の評価が可能です。
テストの補習への出席判定 IF関数+AND関数の組み合わせ
3科目中1つでも赤点になったら補習を受けてもらいます。この例ではIF関数とAND関数を組み合わせて論理式を組み合わせて判定をします。
F3にIF関数うを入力します。項目1にはAND関数を使います。AND関数には複数の理論式が記入できます。記入した全ての理論式がTRUEの場合はTRUE、一つでもFALSEがあるとFALSEになります。
ANDの中の論理式は平均点より大きければTRUEとなるように記述します。これでどれか1つでも平均点いかならANDの出力はFALSEになります。
項目3は"出席"と記入します。最終的な数式は「=IF(AND(C3>$C$7/2,D3>$D$7/2,E3>$E$7/2),"","出席")」となります。これもオートフィルですべての生徒に適用します。
IF関数の応用的な使い方
特定の文字列を含むかを判定する
特定の文字列を含むかを判定するにはIF関数とCOUNTIF関数を組み合わせます。下記のリンクが詳しいです。
https://www.excelspeedup.com/ifmojiretsu/
IFS関数を使って複数の条件で出力を分ける(EXCEL2019以降)
複数条件を判定する方法としてこの記事ではネストを紹介しましたが、記述が複雑でわかりずらくなります。Excel2019以降をお使いなら、IFS関数が使えます。これを使うことで複数条件もすっきりとした記述になります。下記のリンクが詳しいです。
https://office-hack.com/excel/ifs/
まとめ
以上がIF関数の使い方になります。基本的な関数でいろいろ応用が利くので、ぜひとも使いこなしてください。