IF関数は、条件を満たすときの値と、満たさないときの値を分けて返す関数です。引数は3つだけ。つまずきの多くは「文字列を " で囲んでいない」「条件を書く順番が逆」「空欄の判定方法を取り違えている」の3つに集まります。
この記事でわかること
- IF関数の3つの引数と比較演算子の書き方
- AND関数・OR関数を使った複数条件の組み立て
- 入れ子(ネスト)で3段階以上に分けるときの順番の決め方
- 空欄・エラー・部分一致の判定方法
- 思った結果にならないときに見る5か所
IF関数の構文と引数
構文
=IF(論理式, 真の場合, 偽の場合)
| 引数 | 指定するもの | 注意点 |
|---|---|---|
| 論理式 | 成立・不成立を判定する式 | 結果が TRUE か FALSE になる形で書く |
| 真の場合 | 条件を満たしたときに返す値 | 文字列は " で囲む。数値は囲まない |
| 偽の場合 | 満たさなかったときに返す値 | 省略すると FALSE と表示される |
第3引数を省いた式は、条件を満たさない行に FALSE が並びます。何も表示したくないなら ""(空文字列)を明示します。
比較演算子の一覧
| 記号 | 意味 | 書き方の例 |
|---|---|---|
= | 等しい | A2="東京" |
<> | 等しくない | A2<>"東京" |
> | より大きい | B2>100 |
< | より小さい | B2<100 |
>= | 以上 | B2>=100 |
<= | 以下 | B2<=100 |
「以上」は >= で、不等号が先・等号が後です。=> と書くとエラーになります。記号はすべて半角で入力します。

基本の使い方
点数がB列に入っていて、80点以上を「合格」と表示する例です。
=IF(B2>=80, "合格", "不合格")
文字列は必ず " で囲みます。囲み忘れると #NAME? になります。
数値を返したい場合は囲みません。
=IF(B2>=80, 1000, 0)
"1000" と囲むと文字列になり、合計に含まれなくなります。後で集計する値には引用符を付けないのが原則です。
セルの値をそのまま返す
固定の文字列だけでなく、別のセルや計算式も返せます。
=IF(B2>=10000, C2*0.9, C2)
1万円以上のときだけ1割引、それ以外は定価という形です。
日付を条件にする
日付を直接 "2026/4/1" と書くと文字列として比較され、意図しない結果になります。DATE関数か、日付が入ったセルの参照を使います。
=IF(A2>=DATE(2026,4,1), "新年度", "前年度")
実務でよく使う4パターン
① 複数条件を「かつ」「または」でつなぐ
条件を2つ以上組み合わせるときは、AND関数とOR関数を論理式の位置に入れます。
=IF(AND(B2>=80, C2>=80), "合格", "不合格")
=IF(OR(B2>=90, C2>=90), "特待", "")
ANDはすべて満たしたとき、ORはどれか1つでも満たしたときにTRUEになります。条件は3つ以上並べられます。

② 3段階以上に分ける(入れ子)
「偽の場合」の位置に、もう1つIF関数を入れます。
=IF(B2>=80, "A", IF(B2>=60, "B", "C"))
判定は上から順に行われ、最初に成立した条件で確定します。そのため大きいほうから順に並べる(または小さいほうから一貫して並べる)のが必須です。
=IF(B2>=60,"B",IF(B2>=80,"A","C")) と順番を逆にすると、85点でも先に「60以上」が成立して「B」になります。エラーは出ず、静かに間違うのがこの失敗の厄介な点です。
入れ子は64レベルまで書けますが、3段を超えると読みづらくなります。
③ IFS関数で並べて書く(2019以降)
段階が多い場合は、IFS関数のほうが読めます。
=IFS(B2>=80,"A", B2>=60,"B", TRUE,"C")
条件と値を交互に並べ、最後の TRUE が「それ以外すべて」を受け止めます。この TRUE を書き忘れると、どれにも当てはまらない行が #N/A になります。
IFS関数はExcel 2019以降です。2016までの環境ではIFの入れ子を使います。
④ 空欄のときだけ何もしない
未入力の行に判定結果が並ぶのを防ぐ形です。
=IF(A2="", "", IF(B2>=80,"合格","不合格"))
先に空欄を除外してから本来の判定に進みます。
⚠️ ="" と ISBLANK関数は同じではありません。他の数式が "" を返しているセルは、見た目は空でもISBLANKでは FALSE と判定されます。数式の結果を含む列を判定するなら A2="" のほうが実態に合います。

うまくいかないときの原因と直し方
| 症状 | 原因 | 直し方 |
|---|---|---|
#NAME? | 文字列を " で囲んでいない/関数名の綴り違い | 文字列を " で囲む。IF の綴りと全角を確認 |
FALSE と表示される | 第3引数(偽の場合)を省略した | "" を明示する |
| すべて同じ結果になる | 参照が絶対参照で固定されている | $B$2 を B2 に直す |
| 数値なのに一致しない | 数値が文字列として入っている | 元データを数値に直す。左寄せなら文字列 |
| 合計に含まれない | 返り値を "1000" と囲んでいる | 引用符を外して数値で返す |
| 段階判定がおかしい | 条件の順番が逆 | 大きいほうから順に並べ直す |
#VALUE! | 文字列と数値を計算しようとしている | 参照先の型を確認する |
| 条件式に全角記号 | > = が全角 | すべて半角で入力し直す |
「見た目は同じなのに一致しない」の切り分け
=IF(A2="東京","○","") が空欄のままになるときは、次の順に確認します。
- 前後に余分な空白がある —
=TRIM(A2)で確認し、置換で除去する - 全角と半角が混ざっている —
=ASC(A2)で半角に寄せて比較する - 数値と文字列が混ざっている — 数値は右寄せ、文字列は左寄せで見分ける
- 末尾に改行が入っている — 外部システムからの取り込みで起きやすい
部分一致で判定する
IF関数の論理式に * などのワイルドカードは使えません。「〇〇を含む」を判定するなら、COUNTIF関数を組み合わせます。
=IF(COUNTIF(A2,"*東京*")>0, "該当", "")
COUNTIFの範囲に1つのセルを指定し、その中でワイルドカードを使う書き方です。

似た関数との使い分け
| 関数 | 対応バージョン | 選ぶ場面 |
|---|---|---|
| IF | 2016〜 | 条件が1つ、または2〜3段階の分岐 |
| IFS | 2019〜 | 4段階以上を横並びで書きたい |
| IFERROR | 2016〜 | エラーのときだけ別の値にしたい |
| SWITCH | 2019〜 | 1つの値を複数の候補と照合する |
| VLOOKUP(近似一致) | 2016〜 | 段階が多く、区分表を別に持ちたい |
段階が10を超えるようなら、IFを積むより区分表を作ってVLOOKUPで引くほうが保守しやすくなります。基準が変わったときに、数式ではなく表を直せば済むためです。
集計が目的ならIFではない
「条件に合う行だけ合計・カウントしたい」場合、IF関数で判定列を作る必要はありません。SUMIF関数・COUNTIF関数が1つの式で済ませます。
=SUMIF($A$2:$A$100, "東京", $C$2:$C$100)
作業列を作らないぶん、シートも軽くなります。
色を変えるのはIFの担当ではない
IF関数はセルの値しか返せません。条件によって色を変えたいなら条件付き書式を使います。値の判定と見た目の判定は別の機能に分かれています。
よくある質問
Q1:IF関数で何もしない(元の値を残す)ことはできますか?
できません。数式を入れたセルは常に数式の結果になります。「条件を満たさないときは手入力の値を残す」という動作は、IF関数では実現できません。入力欄と判定欄を別の列に分ける設計にしてください。
Q2:"" と 0 はどちらを返すべきですか?
後で合計や平均を取るなら 0、表として見せるだけなら "" が扱いやすくなります。"" は文字列なので、AVERAGE関数の分母には含まれません。逆に 0 を返すとグラフに0の点が描かれます。用途で決める項目です。
Q3:条件が「空欄でない」の場合はどう書きますか?
=IF(A2<>"", "入力済", "未入力") と書きます。<> は「等しくない」を表す演算子です。
Q4:エラーのときだけ空欄にしたいのですが。
IF関数ではなくIFERROR関数の担当です。=IFERROR(元の数式, "") の形で包みます。ただし本当に確認すべきエラーまで隠れるため、データの整備が済むまでは包まないほうが安全です。
Q5:IF関数の中で別のシートを参照できますか?
できます。=IF(マスタ!B2>=80,"合格","不合格") のように、シート名と ! を付けて参照します。シート名にスペースや記号が含まれる場合は、'シート 名'!B2 のようにシングルクォートで囲みます。
まとめ
- 引数は論理式・真の場合・偽の場合の3つ。第3引数を省くと
FALSEが出る - 文字列は
"で囲む。集計する数値は囲まない - 入れ子は大きいほうから順。逆順はエラーが出ずに静かに間違う
- 4段階以上ならIFS(2019以降)、10段階を超えるなら区分表+VLOOKUP
- 集計が目的ならSUMIF・COUNTIF、色分けなら条件付き書式が担当
※関数の対応バージョンはExcelの一般提供時点の情報にもとづいています。お使いの環境や更新プログラムの適用状況により、利用できる関数や表示が異なる場合があります。
あわせて読みたい

