IF関数の使い方|初心者にもわかりやすく基本から実例まで解説
Excelで条件に応じて表示内容を変えたいときに便利なのがIF関数です。
たとえば、次のような作業を自動化できます。
- 点数が60点以上なら「合格」、未満なら「不合格」と表示する
- 売上が目標以上なら「達成」、未達なら「未達成」と表示する
- 在庫数が0なら「在庫なし」、1以上なら「在庫あり」と表示する
- 入力欄が空白なら何も表示しない
- 条件によって計算結果を変える
IF関数は、Excel関数の中でも特に使用頻度が高い基本関数です。
一度覚えると、成績表、売上管理表、在庫管理表、勤怠表、請求書など、さまざまな場面で活用できます。
この記事では、IF関数の基本的な使い方、実務で使える具体例、複数条件の指定方法、よくあるエラーの対処法まで、初心者にもわかりやすく解説します。
IF関数とは
IF関数とは、指定した条件に対して、条件を満たす場合と満たさない場合で表示する値を変える関数です。
簡単にいうと、Excel上で次のような判断をさせる関数です。
もし○○ならA、そうでなければB
たとえば、点数が60点以上なら「合格」、60点未満なら「不合格」と表示できます。
| 点数 | 判定 |
|---|---|
| 80 | 合格 |
| 45 | 不合格 |
| 60 | 合格 |
このように、条件によって結果を自動で切り替えられるのがIF関数です。
IF関数でできること
IF関数を使うと、次のような処理ができます。
| やりたいこと | 例 |
|---|---|
| 合否を判定する | 60点以上なら「合格」 |
| 目標達成を判定する | 売上が目標以上なら「達成」 |
| 在庫状況を表示する | 在庫数が0なら「在庫なし」 |
| 空白時の表示を制御する | 未入力なら空白にする |
| 金額に応じて手数料を変える | 1万円以上なら送料無料 |
| 勤怠状況を判定する | 出勤時刻が9時以降なら「遅刻」 |
| 複数条件で判定する | 点数と出席率の両方で合否判定する |
IF関数は、Excelで「判定」や「条件分岐」を行うときの基本です。
IF関数の基本構文
IF関数の基本形は次のとおりです。
=IF(論理式, 真の場合, 偽の場合)
それぞれの意味は以下のとおりです。
| 引数 | 意味 | 例 |
|---|---|---|
| 論理式 | 判定したい条件 | A2>=60 |
| 真の場合 | 条件を満たす場合に表示する値 | “合格” |
| 偽の場合 | 条件を満たさない場合に表示する値 | “不合格” |
初心者の方は、まず次の形で覚えるとわかりやすいです。
=IF(条件, 条件に合う場合, 条件に合わない場合)
IF関数の基本例
- 60点以上なら合格、それ以外は不合格
- 例
- 「完了」なら「済」、それ以外なら「未」
- 注意点
- 空白なら何も表示しない
- 空白でなければ処理する
- 1万円以上なら送料無料
- 期限切れかどうかを判定する
- 手順
- AND関数と組み合わせる
- 例: 点数が60点以上、かつ出席率が80%以上なら合格
- OR関数と組み合わせる
- 例: 国語または数学のどちらかが90点以上なら表彰
- 点数に応じて評価を表示する例
- 入れ子の注意点
- IF関数の場合
- IFS関数の場合
- リストに存在するかを判定する
- 空白なら「未入力」と表示する
- 1. #NAME?エラー
- よくある原因
- 悪い例
- 良い例
- 2. #VALUE!エラー
- 例
- 対処法
- 3. 結果がすべて同じになる
- 確認ポイント
- 1. 合否判定
- 2. 売上目標の達成判定
- 3. 在庫あり・なしの判定
- 4. 空白なら何も表示しない
- 5. 期限切れ判定
- 6. 遅刻判定
- 7. 送料無料判定
- 8. 入力済みチェック
- 1. 条件を日本語で先に整理する
- 2. 文字列はダブルクォーテーションで囲む
- 3. 空白処理を入れる
- 4. 複雑な条件は分けて考える
- 5. 条件の順番に注意する
- 数値を判定する
- 文字を判定する
- 空白を判定する
- 空白なら何も表示しない
- 複数条件をすべて満たす場合
- 複数条件のどれかを満たす場合
- 複数段階で判定する
- 期限切れを判定する
60点以上なら合格、それ以外は不合格
A2セルに点数が入っているとします。
| A列 | B列 |
|---|---|
| 点数 | 判定 |
| 80 | |
| 45 | |
| 60 |
B2セルに次の数式を入力します。
=IF(A2>=60,"合格","不合格")
この数式の意味は次のとおりです。
| 部分 | 意味 |
|---|---|
| A2>=60 | A2が60以上かどうかを判定 |
| “合格” | 60以上の場合に表示 |
| “不合格” | 60未満の場合に表示 |
結果は次のようになります。
| 点数 | 判定 |
|---|---|
| 80 | 合格 |
| 45 | 不合格 |
| 60 | 合格 |
IF関数で使う比較演算子
IF関数では、条件を指定するときに比較演算子を使います。
| 演算子 | 意味 | 例 |
|---|---|---|
| = | 等しい | A2=100 |
| <> | 等しくない | A2<>100 |
| > | より大きい | A2>100 |
| < | より小さい | A2<100 |
| >= | 以上 | A2>=100 |
| <= | 以下 | A2<=100 |
例
| 条件 | 意味 |
|---|---|
| A2=100 | A2が100と等しい |
| A2<>”” | A2が空白ではない |
| A2>=60 | A2が60以上 |
| A2<60 | A2が60未満 |
| B2=”完了” | B2が「完了」と等しい |
文字を条件にする場合は、文字列をダブルクォーテーションで囲みます。
例:
=IF(B2="完了","済","未完了")
文字列を判定するIF関数
IF関数では、数値だけでなく文字も条件にできます。
「完了」なら「済」、それ以外なら「未」
A2セルに作業状況が入っているとします。
| 作業状況 | 判定 |
|---|---|
| 完了 | |
| 未完了 | |
| 完了 |
B2セルに次の数式を入力します。
=IF(A2="完了","済","未")
A2が「完了」の場合は「済」、それ以外の場合は「未」と表示されます。
注意点
文字列を条件にする場合は、必ず " " で囲みます。
悪い例:
=IF(A2=完了,"済","未")
良い例:
=IF(A2="完了","済","未")
空白を判定するIF関数
IF関数では、セルが空白かどうかを判定することもできます。
空白なら何も表示しない
A2セルが空白の場合は何も表示せず、入力がある場合だけ「入力済」と表示したい場合は、次のようにします。
=IF(A2="","","入力済")
この数式の意味は次のとおりです。
| 条件 | 結果 |
|---|---|
| A2が空白 | 空白を表示 |
| A2に入力がある | 入力済を表示 |
空白でなければ処理する
A2に点数が入力されている場合だけ合否判定したい場合は、次のようにします。
=IF(A2="","",IF(A2>=60,"合格","不合格"))
これにより、A2が空白のときに「不合格」と表示されるのを防げます。
IF関数で計算結果を変える方法
IF関数は、文字を表示するだけでなく、条件によって計算結果を変えることもできます。
1万円以上なら送料無料
A2セルに購入金額が入っているとします。
購入金額が10,000円以上なら送料を0円、10,000円未満なら送料を500円にする場合は、次の数式を使います。
=IF(A2>=10000,0,500)
| 購入金額 | 送料 |
|---|---|
| 12000 | 0 |
| 8000 | 500 |
| 10000 | 0 |
このように、IF関数の結果には数値も指定できます。
IF関数で売上目標を判定する例
売上管理表で、実績が目標以上なら「達成」、未満なら「未達成」と表示する例です。
| 担当者 | 目標 | 実績 | 判定 |
|---|---|---|---|
| 佐藤 | 500000 | 620000 | |
| 鈴木 | 400000 | 350000 | |
| 田中 | 300000 | 300000 |
D2セルに次の数式を入力します。
=IF(C2>=B2,"達成","未達成")
この数式では、実績であるC2が目標であるB2以上なら「達成」、そうでなければ「未達成」と表示します。
結果は次のようになります。
| 担当者 | 目標 | 実績 | 判定 |
|---|---|---|---|
| 佐藤 | 500000 | 620000 | 達成 |
| 鈴木 | 400000 | 350000 | 未達成 |
| 田中 | 300000 | 300000 | 達成 |
IF関数で在庫状況を表示する例
在庫管理表で、在庫数が0なら「在庫なし」、1以上なら「在庫あり」と表示します。
| 商品名 | 在庫数 | 状況 |
|---|---|---|
| ノート | 10 | |
| ペン | 0 | |
| ファイル | 3 |
C2セルに次の数式を入力します。
=IF(B2=0,"在庫なし","在庫あり")
結果は次のようになります。
| 商品名 | 在庫数 | 状況 |
|---|---|---|
| ノート | 10 | 在庫あり |
| ペン | 0 | 在庫なし |
| ファイル | 3 | 在庫あり |
さらに、在庫数が5以下なら「残りわずか」と表示したい場合は、後述するネストやIFS関数を使うと便利です。
IF関数で日付を判定する例
IF関数では、日付を使った判定もできます。
期限切れかどうかを判定する
A2セルに期限日が入っているとします。
期限日が今日より前なら「期限切れ」、そうでなければ「有効」と表示する場合は、次の数式を使います。
=IF(A2<TODAY(),"期限切れ","有効")
| 期限日 | 判定 |
|---|---|
| 2026/6/30 | 期限切れ |
| 2026/7/10 | 有効 |
TODAY()は、今日の日付を返す関数です。
期限管理、契約管理、提出期限の確認などに使えます。
IF関数をコピーして使う方法
IF関数は、1つのセルに入力した後、下の行へコピーして使うことが多いです。
手順
- 最初の行にIF関数を入力する
- 数式が入ったセルを選択する
- セル右下の小さな四角を下へドラッグする
- 他の行にも数式がコピーされる
たとえば、B2セルに次の数式を入力します。
=IF(A2>=60,"合格","不合格")
これをB3、B4へコピーすると、自動的にA3、A4を参照する数式に変わります。
| セル | 数式 |
|---|---|
| B2 | =IF(A2>=60,”合格”,”不合格”) |
| B3 | =IF(A3>=60,”合格”,”不合格”) |
| B4 | =IF(A4>=60,”合格”,”不合格”) |
IF関数で複数条件を使う方法
IF関数は、AND関数やOR関数と組み合わせることで、複数条件を判定できます。
AND関数と組み合わせる
AND関数は、すべての条件を満たす場合にTRUEを返す関数です。
例: 点数が60点以上、かつ出席率が80%以上なら合格
| 点数 | 出席率 | 判定 |
|---|---|---|
| 75 | 90% | 合格 |
| 80 | 70% | 不合格 |
| 50 | 95% | 不合格 |
C2セルに次の数式を入力します。
=IF(AND(A2>=60,B2>=80%),"合格","不合格")
この数式では、次の2つの条件を両方満たした場合だけ「合格」と表示します。
- A2が60以上
- B2が80%以上
どちらか一方でも満たさない場合は「不合格」です。
OR関数と組み合わせる
OR関数は、いずれかの条件を満たす場合にTRUEを返す関数です。
例: 国語または数学のどちらかが90点以上なら表彰
| 国語 | 数学 | 判定 |
|---|---|---|
| 95 | 70 | 表彰 |
| 80 | 92 | 表彰 |
| 85 | 88 | 対象外 |
C2セルに次の数式を入力します。
=IF(OR(A2>=90,B2>=90),"表彰","対象外")
この数式では、国語または数学のどちらかが90点以上なら「表彰」と表示します。
IF関数を入れ子にする方法
IF関数の中にIF関数を入れることを、入れ子またはネストといいます。
複数の判定結果を出したい場合に使います。
点数に応じて評価を表示する例
| 点数 | 評価 |
|---|---|
| 90 | A |
| 75 | B |
| 60 | C |
| 45 | D |
条件を次のように設定します。
| 条件 | 評価 |
|---|---|
| 80点以上 | A |
| 70点以上 | B |
| 60点以上 | C |
| 60点未満 | D |
B2セルに次の数式を入力します。
=IF(A2>=80,"A",IF(A2>=70,"B",IF(A2>=60,"C","D")))
この数式は、次の順番で判定しています。
- A2が80以上なら「A」
- そうでなければ、70以上なら「B」
- そうでなければ、60以上なら「C」
- それ以外なら「D」
入れ子の注意点
IF関数の入れ子は便利ですが、条件が増えると数式が長くなり、読みにくくなります。
条件が多い場合は、次に紹介するIFS関数を使うとわかりやすくなることがあります。
IF関数とIFS関数の違い
IFS関数は、複数条件を順番に判定できる関数です。
IF関数の入れ子よりも見やすく書けます。
IF関数の場合
=IF(A2>=80,"A",IF(A2>=70,"B",IF(A2>=60,"C","D")))
IFS関数の場合
=IFS(A2>=80,"A",A2>=70,"B",A2>=60,"C",A2<60,"D")
| 関数 | 向いている場面 |
|---|---|
| IF関数 | 条件が1つ、または少ない場合 |
| IF関数の入れ子 | 条件が数個ある場合 |
| IFS関数 | 条件が多い場合 |
ただし、古いExcelではIFS関数が使えない場合があります。
幅広い環境で使うなら、IF関数も覚えておくと安心です。
IF関数とCOUNTIF関数を組み合わせる例
IF関数は、COUNTIF関数と組み合わせると、データの有無を判定できます。
リストに存在するかを判定する
A2セルの名前が、E列の名簿に存在するか確認したい場合です。
=IF(COUNTIF($E$2:$E$100,A2)>0,"登録あり","登録なし")
この数式では、E2:E100の中にA2の値が1つ以上あれば「登録あり」、なければ「登録なし」と表示します。
重複チェックや名簿確認に便利です。
IF関数とISBLANK関数を組み合わせる例
ISBLANK関数は、セルが空白かどうかを判定する関数です。
空白なら「未入力」と表示する
=IF(ISBLANK(A2),"未入力","入力済")
ただし、実務では次のように書く方がよく使われます。
=IF(A2="","未入力","入力済")
どちらも空白判定に使えますが、数式によって空白に見えているセルでは結果が異なる場合があります。
IF関数でよくあるエラーと原因
1. #NAME?エラー
#NAME?は、関数名や文字列の指定に誤りがある場合に表示されます。
よくある原因
- IFのスペルを間違えている
- 文字列をダブルクォーテーションで囲んでいない
- 全角記号を使っている
悪い例
=IF(A2>=60,合格,不合格)
良い例
=IF(A2>=60,"合格","不合格")
文字列は必ず " " で囲みましょう。
2. #VALUE!エラー
#VALUE!は、数値として計算できない文字列が含まれている場合などに表示されます。
例
=IF(A2>=60,"合格","不合格")
A2に「未入力」などの文字が入っていると、条件によっては想定外の結果になることがあります。
対処法
- 数値を入力する列には文字を入れない
- 空白判定を先に行う
- データ形式を統一する
例:
=IF(A2="","",IF(A2>=60,"合格","不合格"))
3. 結果がすべて同じになる
IF関数の結果がすべて同じになる場合は、条件式が間違っている可能性があります。
確認ポイント
- 比較するセル番地は正しいか
>=と<=を逆にしていないか- 文字列の表記が一致しているか
- 余分なスペースが入っていないか
- 数値と文字列が混在していないか
特に、文字列の条件では「完了」と「完了 」のように、末尾にスペースがあると別の文字として扱われます。
IF関数がうまく動かないときのチェックリスト
IF関数で思った結果にならないときは、次の項目を確認しましょう。
| 確認項目 | 対処法 |
|---|---|
| 関数名は正しいか | IFと入力する |
| カンマの位置は正しいか | 引数を3つに分ける |
文字列を" "で囲んでいるか |
"合格"のように指定する |
| 比較演算子は正しいか | >=, <=, <>を確認する |
| セル番地は正しいか | 参照先を確認する |
| 数値と文字列が混在していないか | データ形式を統一する |
| 空白セルへの対応は必要か | IF(A2="","",...)を使う |
| 条件の順番は正しいか | 大きい条件から判定する |
| 余分なスペースはないか | TRIM関数などで整理する |
IF関数の実務で使える例
1. 合否判定
=IF(A2>=60,"合格","不合格")
点数が60点以上なら「合格」、それ以外なら「不合格」と表示します。
2. 売上目標の達成判定
=IF(C2>=B2,"達成","未達成")
実績が目標以上なら「達成」と表示します。
3. 在庫あり・なしの判定
=IF(B2=0,"在庫なし","在庫あり")
在庫数が0なら「在庫なし」と表示します。
4. 空白なら何も表示しない
=IF(A2="","",A2*B2)
A2が空白の場合は空白、入力がある場合はA2とB2を掛け算します。
5. 期限切れ判定
=IF(A2<TODAY(),"期限切れ","有効")
期限日が今日より前なら「期限切れ」と表示します。
6. 遅刻判定
A2セルに出勤時刻が入っていて、9:00より後なら「遅刻」と表示する場合です。
=IF(A2>TIME(9,0,0),"遅刻","通常")
勤怠管理表で使えます。
7. 送料無料判定
=IF(A2>=10000,"送料無料","送料あり")
購入金額が10,000円以上なら「送料無料」と表示します。
8. 入力済みチェック
=IF(A2<>"","入力済","未入力")
A2が空白でなければ「入力済」、空白なら「未入力」と表示します。
IF関数を使いやすくするコツ
1. 条件を日本語で先に整理する
数式を入力する前に、条件を文章で整理すると失敗しにくくなります。
例:
もし点数が60点以上なら合格、そうでなければ不合格
これを数式にすると、次のようになります。
=IF(A2>=60,"合格","不合格")
2. 文字列はダブルクォーテーションで囲む
IF関数で文字を表示したい場合は、必ず " " で囲みます。
例:
"合格"
"不合格"
"達成"
"未入力"
数値は囲まなくても構いません。
例:
=IF(A2>=10000,0,500)
3. 空白処理を入れる
未入力のセルがある表では、空白処理を入れると見た目がきれいになります。
例:
=IF(A2="","",IF(A2>=60,"合格","不合格"))
これにより、A2が空白のときは何も表示されません。
4. 複雑な条件は分けて考える
IF関数の中に多くの条件を入れすぎると、数式が読みにくくなります。
複雑な条件の場合は、次の方法を検討しましょう。
- 作業列を使って条件を分ける
- AND関数やOR関数を使う
- IFS関数を使う
- 判定表を作ってVLOOKUPやXLOOKUPで参照する
5. 条件の順番に注意する
複数条件を判定する場合は、条件の順番が重要です。
たとえば、点数評価で次のように書くと問題があります。
悪い例:
=IF(A2>=60,"C",IF(A2>=70,"B",IF(A2>=80,"A","D")))
この場合、80点でも最初の A2>=60 を満たすため「C」と表示されてしまいます。
良い例:
=IF(A2>=80,"A",IF(A2>=70,"B",IF(A2>=60,"C","D")))
大きい条件から順番に判定するのがポイントです。
IF関数の基本パターンまとめ
数値を判定する
=IF(A2>=60,"合格","不合格")
文字を判定する
=IF(A2="完了","済","未")
空白を判定する
=IF(A2="","未入力","入力済")
空白なら何も表示しない
=IF(A2="","",B2*C2)
複数条件をすべて満たす場合
=IF(AND(A2>=60,B2>=80%),"合格","不合格")
複数条件のどれかを満たす場合
=IF(OR(A2>=90,B2>=90),"表彰","対象外")
複数段階で判定する
=IF(A2>=80,"A",IF(A2>=70,"B",IF(A2>=60,"C","D")))
期限切れを判定する
=IF(A2<TODAY(),"期限切れ","有効")
まとめ
IF関数は、Excelで条件に応じて結果を変えるための基本関数です。
基本形は次のとおりです。
=IF(論理式, 真の場合, 偽の場合)
初心者の方は、まず次のように覚えるとわかりやすいです。
=IF(条件, 条件に合う場合, 条件に合わない場合)
IF関数で特に大切なポイントは次のとおりです。
| ポイント | 内容 |
|---|---|
| 基本形 | =IF(条件, 真の場合, 偽の場合) |
| 文字列 | "合格"のようにダブルクォーテーションで囲む |
| 数値判定 | >=, <=, =などを使う |
| 空白判定 | A2=""を使う |
| 複数条件 | AND関数やOR関数と組み合わせる |
| 複数分岐 | IFの入れ子やIFS関数を使う |
| エラー対策 | セル番地、文字列、条件式を確認する |
IF関数を使えるようになると、合否判定、売上管理、在庫管理、期限管理、勤怠管理など、さまざまなExcel作業を効率化できます。
まずは、次の基本形から使ってみましょう。
=IF(A2>=60,"合格","不合格")
この形を覚えるだけでも、Excelでできることが大きく広がります。


コメント