基礎中の基礎だけど汎用性の高いIF関数を覚えよう!

【IF関数】

1.「もしも〜だったら」を数式にする
2.IF関数とは
3.IF関数の使用方法
4.IFERROR関数
5.まとめ

1.「もしも〜だったら」を数式にする

IF関数を学んでいく前に、真偽値(真理値、論理値などとも言う)について少し解説しましょう。数学の証明問題で、この言葉を習った記憶がある方も多いと思います。そうした記憶から、理数系の学問が嫌いな人は苦手意識を持つかもしれません。しかし、論理学という哲学の一領域で古くから使われている用語であり、言語にも密接に関わっているので大学の文学部などでも学ぶ概念です。

真(ture)か偽(false)という2つの値を使うことで、様々な条件付けが可能となります。コンピューターの世界における電子回路(デジタル回路)は、0と1、onとoff、プラスとマイナスといった2極で構成される二進法(binary)の世界です。コンピューターの世界では、計算のことを演算と呼びます。この演算において真と偽という2つの値は欠かせない要素です。Excelの関数だけでなく、HTMLやCSSといったWeb関連の知識や、プログラミング言語を学ぶ上でも大切な概念なので慣れておきましょう。

今回解説するIF関数も、この真偽値を使った「もしも〜だったら」を演算する関数です。IF関数と他の関数を組み合わせた関数も多くありますので、Excel関数を覚えていくのに必須の項目です。また、プログラミングに興味のある方は、IF関数の演算処理の仕方を学ぶことが、今後の知識習得の上で非常な鍵となってきますので、しっかりと意味を理解した上で運用していくことが重要になります。

2. IF関数とは

関数名  IF(イフ)
機 能  論理式が成立する時は「真の場合」、成立しない場合は「偽の場合」を実行する
書 式  IF(論理式,真の場合の処理,偽の場合の処理)

IF関数とは、設定した条件に従って、値を変化させ異る処理を実行する関数です。条件を満たしている場合は真(ture)となり、条件を満たさない場合は偽となります。真か偽かによって、実行される処理が異るように設定できるのです。

イメージしやすいように、いくつか具体例を挙げてみましょう。例えば、前期のテストと後期のテストの合計点が150点以上の生徒を合格、150点に満たない生徒を不合格であると判定したい場合、一人一人合計点を出し合格か不合格かを判定するのは大変ですよね。Excelで「もし、前期テストと後期テストの合計点が150点以上ならば〜」といった条件指定ができれば、全生徒の合否判定を自動でリストアップすることが可能です。

もう一つ、乳がん検診のお知らせを、対象者である40歳以上の偶数年齢の女性社員に発送したいといったケースも考えてみましょう。ここでも、社員名簿の中から一つ一つ対象者をピックアップするのは大変ですよね。こうした事例でもIF関数を使って「もし、40歳以上の偶数年齢の女性ならば〜」といった条件指定ができれば、一発でリストアップができるのです。

このようにIF関数を使えるようになると、条件処理やデータの抽出が楽にこなせるようになるのです。

3.IF関数の使用方法

ここでは「テストの前期と後期の合計点数が150点以上のときに合格、150点未満のときに不合格」という事例で、IF関数の使用方法を説明します。

上記のExcelシートでは、C列が前期の点数、D列が後期の点数が入力されており、E列に前期と後期の合計点数が表示されています。IF関数の数式をF列に入力していきましょう。

実際に入力したIF関数の書式は以下になります。

◉上の表で入力した実際の書式
=IF(E3>=150,”合格”,”不合格”)

◉IF関数の書式を構成する要素

「=IF(論理式,真の場合の処理,偽の場合の処理)」

入力した実際の論理式を見ながら、手順を確認してみましょう。

1.IF関数の選択

=IFと入力すると、候補の関数がいくつか表示されますので、IFを選択します。すると自動的に数値を入力する()が表示されます。()の中に、論理式,真の場合の処理,偽の場合の処理の引数を入力していきます。

2.論理式を入力

ここで用いたい条件は「もしも合計点が150点以上ならば〜」という内容です。これを論理式に置き換えてみましょう。
〜以上を示す記号は>=(大なりイコール)です。通常の計算式では≧という数学記号を用いますがExcelでは>と=を続けて入力します。「E列の値が150点以上ならば~」と設定したいので、E列最初のセルE3の値が150点以上ならばという論理式、E3>=150を入力します。

IF関数で条件指定に用いられる比較演算子については、以下にまとめましたので覚えておきましょう。

◉IF関数で条件指定に用いられる比較演算子一覧

演算子 意味
> ~より大きい
< ~より小さい
>= ~と同じか大きい
<= ~と同じか小さい
<> 等しくない(否定)
3.真の場合の処理を入力

カンマで区切って次に真の場合の処理を入力します。「もしも合計点が150点以上ならば~」合格ですので、”合格”と入力します。

4.偽の場合の処理を入力

カンマで区切って最後に偽の場合の処理を入力します。「もしも合計点が150点以上ならば~」という条件に当てはまらない場合、つまり150点以下の場合は、不合格ですので、”不合格”と入力します。


E3のセルの枠右隅にカーソルを合わせると、カーソルの形が+に変ります。このカーソルの形が+になった状態のまま、下方向に指定したい範囲の行までドラッグすると、オートフィル機能で自動的にデータが入力されます。Excelシートのデータ全てに、合格と不合格の判定が表示されるようになりました。

4.IFERROR関数

関数名  IFERROR(イフエラー)
機 能  数式でエラー値が出た場合に別の値で置き換える
書 式  IFERROR(値,エラーの場合の値)

VLOOKUP関数の解説で、該当の検索値が商品コード表にない場合は「#N/A」というエラー表示が出てしまう点に触れました。これを解決する1つの方法がIFERROR関数です。IFERROR関数は、IF関数を応用した関数です。「もしも、エラーの場合は〜」という条件付けを行い、指定した値を表示させることが可能です。

「#N/A」以外にも以下のようなエラー値が存在します。こうしたエラー値の全てが、IFERROR関数で対応できます。

エラー値 エラー内容
#DIV/0! 「DIV」は割り算(division)の意。値を0で割っていると出るエラー
#N/A 該当なし(Not Applicable)の意。該当する値がない時に出るエラー
#NULL! 何もない(Null)の意。指定した複数のセルやセル範囲に共通部分がない時に出るエラー
#NAME? 数式の関数名を入力ミスした場合に出るエラー
#NUM! 引数に指定されている数値が不適切な場合に出るエラー
#REF! 数式内の参照先が削除や書き換えにより無効に出るエラー
#VALUE! 数式あるいは参照しているセルに問題がある時のエラー

VLOOKUP関数は、該当データが見つからないとエラーになってしまいます。上の表では商品コードにない105という番号が入力されているため「#N/A」というエラー値が表示されています。このままでも問題ないと判断しても構いませんが、取引先や上司に提出する書類でエラーのままですと、見栄えが悪いですし、誤解や思わぬミスを誘発してしまうかもしれません。そこで、IFERROR関数を使って、エラー表示を出さないようにしてみましょう。

IFERROR関数の書式は以下になります。

◉上の表で入力した実際の書式
IFERROR(VLOOKUP($B5,$E:$F,2,FALSE),”該当なし”)
*検索値、範囲の前に$マークがついていますが、これはコピーや移動をしても同じセルを参照させたい場合につける絶対参照のマークです。

◉IFERROR関数の書式を構成する要素

= IFERROR(値,エラーの場合の値)

上の表を見ながら、手順を確認してみましょう。

1.IFERROR関数の選択

=IFと入力すると、候補の関数がいくつか表示されますので、IFERRORを選択します。すると自動的に数値を入力する()が表示されます。()の中に、値,エラーの場合の値の引数を入力していきます。

2.値を入力

ここではVLOOKUP関数を用いたデータ処理を行なっていますので、VLOOKUP関数の式を入力します。

3.エラーの場合の値を入力

カンマで区切ってエラーの場合の値を入力します。「もしもエラー値が出た場合~」に、表示させたい数値やテキストを指定します。ここでは”該当なし”と入力します。


Excelシートに”該当なし”が表示されるようになりました。

上記のケースでは、該当なしというテキストをエラーの場合の値としましたが、””で空欄にしたり、”0″で0を入力するなど、状況に応じて任意の値を入力することが可能です。

5.まとめ

IF関数は、Excelで最もよく使用する関数の一つです。また、前述のようにSUMIF関数、COUNTIF関数などIF関数と他の関数を組み合わせたものも多く存在します。条件処理とデータ抽出の根幹であるといっても過言ではない関数なので、しっかり内容を理解した上で運用できるようにしましょう。IF関数を使いこなせるようになれば、あなたのExcel力がぐっと高まりますよ!