IF関数の使い方を徹底ガイド

IF関数の使い方徹底ガイド

Excel(エクセル)IF関数の使い方を徹底ガイド

使用関数:IF
IF関数は「もし、~だったら」という条件式「論理式」を指定して、相違する2つの結果を導き出す関数です。「IF」の論理式を組み立てるコツを呑み込めば初心者さんでも馴染みやすい関数で、応用範囲も広がるでしょう。等号・不等号(<、>、<=など)を使って数値の大小や日付の前後を指定し、「論理式」を組み立てる基本例を挙げて、IF関数の使い方を分かりやすく図解していきます。

IF関数を挿入する

IF関数の基本構造を知るために、IF関数をセルに挿入してみましょう。
数式」タブに切り替え、以下の2つのどちらかの操作をして「IF関数の引数」ダイアログボックスを開きます。

  • 1.「関数ライブラリ」にある「論理」リストから「IF」を選択
    数式ライブラリの「論理」からIF関数を開く
  • 2.「関数ライブラリ」の右端にある「関数の挿入」をクリック、「関数の挿入」ダイアログボックスで「IF」を選択
    「関数の挿入」ダイアログボックスでIFを選択する

IF関数の引数ダイアログボックスが開き、「論理式」「真の場合」「偽の場合」という3つの引数で構成されていることがわかります。
IF関数の引数の構成

IF関数の使い方の基本

「IF関数の引数」ダイアログボックスの一番最初の引数「論理式」で「もし~だったら」という条件を指定します。実例については後述しますが、たとえば「A1セルの値が5以上だったら」という条件を指定したいなら「A1>=5」と入れます。
引数「論理式」に「もし~だったら」を入れる
2番めの引数「真の場合」には、上記の論理式条件「もし~だったら」の答えが「YES」で肯定だった場合の結果を指定します。「その通りなら、こうする」という答えの「こうする」内容を入れるわけです。「A1>=5(A1セルの値が5以上だったら)」に「5以上であれば合格と表示します」と答えるのであれば、この引数に「“合格”」と入れます。
引数「真の場合」に「その通りならこうする」を入れる
最後の引数「偽の場合」には最初の論理式条件「もし~だったら」の答えが「NO」で否定だった場合の結果を指定します。「違ってたら、こうする」という答えの「こうする」内容が入ります。「A1>=5(A1セルの値が5以上だったら)」に「5以上でなかったら、不合格と表示します」と答えるとするなら、この引数に「“不合格”」と入れます。
引数「偽の場合」に「違ってたら、こうする」を入れる
実際の入力値は以下のようになるわけですね。
IF関数の引数の説明
これを数式にすると、「=IF(A1>=5,“合格”,“不合格”)」となります。

文字列をIF関数の引数の入力値にする時の作法

この例のように「合格」「不合格」という文字列を引数にするときには注意が必要です。IF関数に限ったことではありませんが、引数の値として文字列を入力する時はダブルクォーテーション「」(半角)で括るという決まり事があります。「合格」「不合格」と記述するわけです。「”」を忘れると「#NAME?」とエラー値が返されてしまいます。
※ダイアログボックスで引数に文字列を入力すると、Tabキーを押した時点で自動的に「””」が入力されます。

空白をIF関数の引数の入力値にする時の作法

引数の値を空白にしたい場合があると思います。空白も文字列の一種とみなされるので、ダブルクォーテーション「」(半角)で括ることになります。ただし、ダブルクォーテーションの中は何も入れません。「“”」のように2つ続けて入力するだけです。

IF関数の「論理式」の書き方

第一引数「論理式(条件式とも呼ばれる)」「もし~だったら」を実際どう組み立てればいいのか、基本的な記述法について解説します。

IFの「論理式」を構成するには2つの値が必要です。「もし、◯と△を比較して~だったら」という組み立てをします。◯と△は大小を比較する記号(等号・不等号:比較演算子)で繋ぎます。

    【比較を示す等号・不等号の使い方一覧】

  • = イコール。等しい。一致する
    【表記例:セル番地】 A1=B1 (A1セルの値がB1セルの値に等しい)
    【表記例:数式】 A1=(B1*C1) (A1セルの値がB1×C1の値に等しい)
    【表記例:文字列】 A1=”合格” (A1セルの入力値が「合格」と一致)
  • <> 異なる。一致しない
    【表記例:セル番地】 A1<>B1 (A1セルの値がB1セルの値と異なる)
    【表記例:数式】 A1<>(B1*C1) (A1セルの値がB1×C1の値と異なる)
    【表記例:文字列】 A1<>”合格” (A1セルの入力値が「合格」と不一致)
  • > 大きい。一致を含まない
    【表記例:セル番地】 A1>B1 (A1セルの値がB1セルの値より大きい)
    【表記例:数式】 A1>(B1*C1) (A1セルの値がB1×C1の値より大きい)
    【表記例:数値】 A1>0 (A1セルの値が正数
  • < 小さい。未満。一致を含まない
    【表記例:セル番地】 A1<B1 (A1セルの値がB1セルの値より小さい)
    【表記例:数式】 A1<(B1*C1) (A1セルの値がB1×C1の値より小さい)
    【表記例:数値】 A1<0 (A1セルの値が負数
  • >= 以上。一致を含む
    【表記例:セル番地】 A1>=B1 (A1セルの値がB1セルの値以上)
    【表記例:数式】 A1>=(B1*C1) (A1セルの値がB1×C1の値以上)
    【表記例:数値】 A1>=5 (A1セルの値が5以上)
  • <= 以下。一致を含む
    【表記例:セル番地】 A1<=B1 (A1セルの値がB1セルの値以下)
    【表記例:数式】 A1<=(B1*C1) (A1セルの値がB1×C1の値以下)
    【表記例:数値】 A1<=5 (A1セルの値が5以下)

IF関数で数値の大小を比較してランク付けする

IF関数は正解(TRUE=トゥルー)と不正解(FALSE=フォールス)の相反する答えを切り替えて表示してくれるので、点数や金額の大小(多寡)を比較してランク判定するのに使われます。このページの最初に上げた「=IF(A1>=5,“合格”,“不合格”)」という数式もシンプルなランク判定の例です。

もう少し具体的な例で図解してみましょう。
試験結果の表に「判定」という列項目を新たに設け、5科目総合点の平均を基準に合否の判定を表示させます。「判定」の最初のセル「I3」を選択して、
IF関数でランク判定する例題
IF関数のダイアログを開き、「論理式」にカーソルを置いて「H3」セル(総合点)をクリック、比較する記号の「>=」を入力して「H13」セル(総合点の平均点)をクリック、F4キーを一つ押して絶対参照にしておきます。
ランク判定の論理式
「真の場合」に「及第」と入力。Tabキーを押せば自動で文字列であることを示唆するダブルクォーテーションが前後に挿入されます。「偽の場合」には「再試験」と入力。同様にTabキーを押せばダブルクォーテーションで括られます。Enterを押して数式を確定。
IF関数でランク判定するダイアログボックス
人数分の範囲までフィルコピーして、判定が適正に表示されたか確認します。
ランク判定する数式をフィルコピー
数式は「=IF(H3>=$H$13,“及第”,“再試験”)」。

IF関数の複数条件をAND関数・OR関数で指定する

AND関数とOR関数はIF関数の「論理式」に組み込んで使われることの多い関数です。
シンプルな複数条件の指定に便利で、「○かつ×なら」「○または×なら」という計算式を構成します。
ANDは「○」と「×」の両方に当てはまる値を抽出、ORは「○」と「×」のどちらかが当てはまる値を抽出するということです。
英語の点数が70点以上かつ数学の点数が70点以上なら合格、そうでないなら再試験」というIF文をAND関数を使って組み立てるとこのようになります。

=IF(AND(C3>=70,D3>=70),“合格”,“再試験”)

IF関数ダイアログボックスでの表記はこちら。
AND関数を使って組み立てたIF関数ダイアログボックス

英語の点数が80点以上または総合点が350点以上なら合格、そうでないなら再試験」というIF文をOR関数を使って組み立てるとこのようになります。

=IF(OR(C3>=80,H3>=350),“合格”,“再試験”)

IF関数ダイアログボックスでの表記はこちら。
OR関数を使って組み立てたIF関数ダイアログボックス

IF関数で以前、以降の日付を比較する

不等号は日付の前後を表すのにも使えます。「A1<TODAY()」と書けば、「今日より以前」ということ、「A1>TODAY()」なら「今日より以後」です。

ネットオークション取引の管理表を例にしてみましょう。支払期限内に決済されたかどうかを判定し、「違約状況」というフィールドに表示させることにします。「違約状況」の最初のセル「J3」を選択し、
違約状況のフィールド
IF関数のダイアログボックスを開き、「論理式」にカーソルを置いて「決済日」の最初のセル「I4」をクリック、「以下」を表す不等号の「<=」を入力して「支払期限」の「H4」セルをクリックします。引数「論理式」に入った「I4<=H4」の意味は「決済された日付(I4)が支払期限の日付(H4)より以前なら・・・」即ち、「支払期限内に決済が完了していたら・・・」ということです。
違約状況を判定する論理式
引数「真の場合」には「期限内に決済が完了していたら、どうするか」を入れるので、「OK」という文字列が表示されるようにします。「OK」と入力してTabキーを押し、ダブルクォーテーションでくくります。引数「偽の場合」には「決済されていなかったら、どうするか」を入れるので、「警告」という文字列を入力してTabキー。
違約状況のダイアログ
件数分の範囲までフィルコピーして、適正に表示されたか確認します。※下図は分かりやすくするために「条件付き書式」で色分けしています。
IF関数の結果を確認
数式は「=IF(I4<=H4,“OK”,“警告”)」。

IF関数で3つや4つの複数条件を指定するなら「IFS関数」を使う

IF関数で3つや4つの複数条件を指定したい時、今まではIF関数の引数に計算式をネスト(入れ子)していました。ですが、Excel2016から追加された「IFS関数」を使うと、もっとスッキリした数式で複数条件を指定することができます。

IF関数とIFS関数の構造を比較した図です。IF関数ではIF関数の中にIF関数をネスト(入れ子)しています。それと比べて、IFS関数はシンプルで分かりやすい構造になっていますね。
IF関数とIFS関数の構造の比較

IFS関数についての詳細は以下の記事で解説しています。

IFS関数の使い方|IF関数のネスト不要で複数条件
IFS関数の使い方を初心者にも分かりやすく解説します。IFS関数とは? IFS関数が使えるExcelのバージョン情報、IFS関数で複数条件の指定方法、IFS関数の「偽の場合」の書き方、AND関数と組み合わせて効率的に条件を指定する方法など。

IF「もしも~」を含む関数の一覧

タイトルとURLをコピーしました