Excel(エクセル)IF関数の使い方を徹底ガイド
使用関数:IF
IF関数は「もし、~だったら」という条件式「論理式」を指定して、相違する2つの結果を導き出す関数です。「IF」の論理式を組み立てるコツを呑み込めば初心者さんでも馴染みやすい関数で、応用範囲も広がるでしょう。等号・不等号(<、>、<=など)を使って数値の大小や日付の前後を指定し、「論理式」を組み立てる基本例を挙げて、IF関数の使い方を分かりやすく図解していきます。
IF関数を挿入する
IF関数の基本構造を知るために、IF関数をセルに挿入してみましょう。
「数式」タブに切り替え、以下の2つのどちらかの操作をして「IF関数の引数」ダイアログボックスを開きます。
- 1.「関数ライブラリ」にある「論理」リストから「IF」を選択
- 2.「関数ライブラリ」の右端にある「関数の挿入」をクリック、「関数の挿入」ダイアログボックスで「IF」を選択
IF関数の引数ダイアログボックスが開き、「論理式」「真の場合」「偽の場合」という3つの引数で構成されていることがわかります。
IF関数の使い方の基本
「IF関数の引数」ダイアログボックスの一番最初の引数「論理式」で「もし~だったら」という条件を指定します。実例については後述しますが、たとえば「A1セルの値が5以上だったら」という条件を指定したいなら「A1>=5」と入れます。
2番めの引数「真の場合」には、上記の論理式条件「もし~だったら」の答えが「YES」で肯定だった場合の結果を指定します。「その通りなら、こうする」という答えの「こうする」内容を入れるわけです。「A1>=5(A1セルの値が5以上だったら)」に「5以上であれば合格と表示します」と答えるのであれば、この引数に「“合格”」と入れます。
最後の引数「偽の場合」には最初の論理式条件「もし~だったら」の答えが「NO」で否定だった場合の結果を指定します。「違ってたら、こうする」という答えの「こうする」内容が入ります。「A1>=5(A1セルの値が5以上だったら)」に「5以上でなかったら、不合格と表示します」と答えるとするなら、この引数に「“不合格”」と入れます。
実際の入力値は以下のようになるわけですね。
これを数式にすると、「=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関数のダイアログを開き、「論理式」にカーソルを置いて「H3」セル(総合点)をクリック、比較する記号の「>=」を入力して「H13」セル(総合点の平均点)をクリック、F4キーを一つ押して絶対参照にしておきます。
「真の場合」に「及第」と入力。Tabキーを押せば自動で文字列であることを示唆するダブルクォーテーションが前後に挿入されます。「偽の場合」には「再試験」と入力。同様にTabキーを押せばダブルクォーテーションで括られます。Enterを押して数式を確定。
人数分の範囲までフィルコピーして、判定が適正に表示されたか確認します。
数式は「=IF(H3>=$H$13,“及第”,“再試験”)」。
IF関数の複数条件をAND関数・OR関数で指定する
AND関数とOR関数はIF関数の「論理式」に組み込んで使われることの多い関数です。
シンプルな複数条件の指定に便利で、「○かつ×なら」「○または×なら」という計算式を構成します。
ANDは「○」と「×」の両方に当てはまる値を抽出、ORは「○」と「×」のどちらかが当てはまる値を抽出するということです。
「英語の点数が70点以上かつ数学の点数が70点以上なら合格、そうでないなら再試験」というIF文をAND関数を使って組み立てるとこのようになります。
=IF(AND(C3>=70,D3>=70),“合格”,“再試験”)
IF関数ダイアログボックスでの表記はこちら。
「英語の点数が80点以上または総合点が350点以上なら合格、そうでないなら再試験」というIF文をOR関数を使って組み立てるとこのようになります。
=IF(OR(C3>=80,H3>=350),“合格”,“再試験”)
IF関数ダイアログボックスでの表記はこちら。
IF関数で以前、以降の日付を比較する
不等号は日付の前後を表すのにも使えます。「A1<TODAY()」と書けば、「今日より以前」ということ、「A1>TODAY()」なら「今日より以後」です。
ネットオークション取引の管理表を例にしてみましょう。支払期限内に決済されたかどうかを判定し、「違約状況」というフィールドに表示させることにします。「違約状況」の最初のセル「J3」を選択し、
IF関数のダイアログボックスを開き、「論理式」にカーソルを置いて「決済日」の最初のセル「I4」をクリック、「以下」を表す不等号の「<=」を入力して「支払期限」の「H4」セルをクリックします。引数「論理式」に入った「I4<=H4」の意味は「決済された日付(I4)が支払期限の日付(H4)より以前なら・・・」即ち、「支払期限内に決済が完了していたら・・・」ということです。
引数「真の場合」には「期限内に決済が完了していたら、どうするか」を入れるので、「OK」という文字列が表示されるようにします。「OK」と入力してTabキーを押し、ダブルクォーテーションでくくります。引数「偽の場合」には「決済されていなかったら、どうするか」を入れるので、「警告」という文字列を入力してTabキー。
件数分の範囲までフィルコピーして、適正に表示されたか確認します。※下図は分かりやすくするために「条件付き書式」で色分けしています。
数式は「=IF(I4<=H4,“OK”,“警告”)」。
IF関数で3つや4つの複数条件を指定するなら「IFS関数」を使う
IF関数で3つや4つの複数条件を指定したい時、今まではIF関数の引数に計算式をネスト(入れ子)していました。ですが、Excel2016から追加された「IFS関数」を使うと、もっとスッキリした数式で複数条件を指定することができます。
IF関数とIFS関数の構造を比較した図です。IF関数ではIF関数の中にIF関数をネスト(入れ子)しています。それと比べて、IFS関数はシンプルで分かりやすい構造になっていますね。
IFS関数についての詳細は以下の記事で解説しています。

IF「もしも~」を含む関数の一覧
- SUMIF:同じ条件の値を検索して合計します。条件の指定にワイルドカードも使えて、利用場面が多い関数です。
SUMIF関数の基本的な使い方、条件を検索する範囲と合計する値を取り出す範囲を指定するルールなどを図解
SUMIF関数の使い方|同じ条件の値を検索して合計SUMIF(サムイフ)の基本的な使い方と応用、SUMIFの条件をワイルドカード(部分一致)や比較演算子(以上・以下・未満・空欄以外)などで指定するコツ、範囲と合計範囲を複数列で指定するルールなどを初心者にも分かりやすく図解します。 - SUMIFS:複数の条件全てに合致する値を取り出して合計します。SUMIFの拡張版。
SUMIFS関数の基本構成と不等号を使った条件の指定ルールなどを図解
SUMIFS関数の使い方|複数の条件を検索して合計するExcelのSUMIFS関数は複数の条件に合う値をAND条件で合計。SUMIFSの使い方、SUMIFSの範囲を複数列で指定する方法、条件をワイルドカード(部分一致)や比較演算子(以上・以下・未満・以外)で指定するコツなどを初心者にも分かりやすく図解。 - AVERAGEIF:AVERAGEIF関数は同じ条件の値を検索して平均値を出します。条件の指定にはワイルドカードも使えます。
AVERAGEIF関数の基本的な使い方、条件を検索する範囲と平均値を算出する値の範囲の指定方法などを図解
検索して平均値を出すAVERAGEIF関数の使い方と範囲の指定方法AVERAGEIFは同じ条件の値を検索して平均値を算出。基本的な使い方、条件の検索範囲と平均値を算出する値範囲の指定方法 - AVERAGEIFS:複数の条件全てに合致する値を取り出して平均を出します。AVERAGEIFの拡張版。
AVERAGEIFS関数の基本構成と不等号を使った条件の指定方法などを図解
複数条件で平均値を算出するAVERAGEIFS関数AVERAGEIFS関数は複数の条件全てに合致する値を取り出して平均を算出。基本構成と不等号を使った条件の指定方法 - COUNTIF:COUNTIF関数は同じ条件の値を検索して、セルの個数を数えます。数式も答えもシンプルで扱いやすく、いろいろ応用も利きます。
COUNTIF関数の基本的な使い方、アンケートの集計など特定の条件で検索して個数を表示する手順などを図解
https://www.tschoolbank.com/excel/function-countif/ - COUNTIFS:複数の条件全てに合致する値を数えます。複数の項目別にデータをカウントしたい時に重宝な関数です。
COUNTIFS関数の基本構成と使い方、不等号を使った条件の指定方法などを図解
https://www.tschoolbank.com/excel/function-countifs/