エクセルのIF関数は、条件に応じて異なる値を表示させる便利な関数です。売上目標の達成判定や試験の合否判定など、業務のあらゆる場面で活用できます。
本記事では、IF関数の基本構文から、ネストやAND・OR関数との組み合わせ、実務で役立つ活用例、エラー対処法を見ていきましょう。
IF関数とは?基本の仕組みと使い方
エクセルのIF関数は、指定した条件に応じて異なる値を表示させる便利な関数です。
ここでは、IF関数の基本構文や比較演算子の使い方について解説します。
IF関数の基本構文とルール
IF関数の基本構文は、条件を指定し、条件が「真(TRUE)」の場合と「偽(FALSE)」の場合に表示する値を設定する形になっています。
- =IF(論理式, 真の場合の値, 偽の場合の値)
- 「論理式」は、比較演算子を使って条件を指定
- 「真の場合の値」は、条件が満たされたときに表示される値
- 「偽の場合の値」は、条件が満たされなかったときに表示される値
たとえば、テストの点数が80点以上なら「合格」、それ未満なら「不合格」と表示させる場合、次のように入力します。
下記の場合は、100点のため「合格」です。
関数を活用すれば、大量のデータを一括で処理し、手作業のミスを減らすことができます。
比較演算子の使い方
IF関数では、条件を指定する際に比較演算子を使用します。比較演算子により、セルの値が基準を満たしているかどうかを判定できます。
以下の表に、比較演算子をまとめました。
比較演算子 | 意味 | 使用例 | 説明 |
---|---|---|---|
= | 等しい | A1=100 | A1が100と等しい場合に真 |
<> | 等しくない | A1<>100 | A1が100ではない場合に真 |
> | より大きい | A1>50 | A1が50より大きい場合に真 |
< | より小さい | A1<50 | A1が50より小さい場合に真 |
>= | 以上 | A1>=80 | A1が80以上の場合に真 |
<= | 以下 | A1<=80 | A1が80以下の場合に真 |
たとえば、IF関数と比較演算子を組み合わせて、「売上が100万円以上なら達成、それ未満なら未達成」などができるでしょう。
IF関数の基本について知りたい方は、下記をご覧ください。
IF関数の応用テクニック
IF関数は基本的に「ある条件が真か偽か」を判定するシンプルな関数ですが、実務では「3つ以上の条件を判定したい」「複数の条件を満たした場合のみ処理を実行したい」といったケースが多くあります。こうした高度な条件分岐を実現するには、IF関数の入れ子(ネスト)やIFS関数、AND・OR関数との組み合わせを活用することが有効です。
ここでは、それぞれの方法について見ていきましょう。
入れ子(ネスト)構造で3つ以上の条件を設定する
IF関数は通常、条件が「真(TRUE)」か「偽(FALSE)」かの2つに分岐しますが、IF関数の中にさらにIF関数を組み込むことで、3つ以上の条件を判定できます。
- IF関数の「偽の場合」の部分に、もう一つIF関数を入れる
- 条件を増やしたい分だけ、IF関数を入れ子にする
- 3つ以上の条件を判定する際に使われる
たとえば、テストの点数に応じて「優」「良」「可」「不可」と4段階に評価する場合、次のようにIF関数を入れ子にして記述できます。

下記の場合は、65点のため「可」です。
このように入れ子を使えば、細かい条件分岐を設定できます。
IFS関数で複雑な条件分岐をシンプルに書く
IFS関数は、複数の条件を簡潔に書くための関数で、エクセル 2016以降で使用できます。従来のIF関数の入れ子構造を使わずに、スッキリとした記述が可能です。
- 1つの数式内に複数の条件を指定できる
- IFS(条件1, 結果1, 条件2, 結果2, …) の形式で記述
- TRUE を最後に指定すると、すべての条件に当てはまらない場合の値を設定できる
たとえば、IF関数の入れ子を使った評価判定をIFS関数で書き換えると、次のようになります。
IFS関数を使うことで、入れ子のIF関数よりも読みやすくなります。ただし、エクセル2016より前のバージョンでは使用できない点に注意が必要です。
AND関数・OR関数と組み合わせる方法
IF関数では、一つの条件だけでなく「複数の条件をすべて満たす場合」や「どちらかの条件を満たせばよい場合」を設定することも可能です。その際に役立つのが、AND関数とOR関数です。
- AND関数は「すべての条件を満たす場合」に真を返す
- OR関数は「いずれかの条件を満たせば真を返す」
- IF関数と組み合わせることで、より柔軟な条件分岐が可能
たとえば、試験の成績で「筆記試験が80点以上」かつ「面接が合格」なら「最終合格」とする場合、AND関数を使って次のように記述します。

下記の場合、筆記試験が80点以上かつ面接が合格なので「最終合格」です。
また、「筆記試験が80点以上」または「面接が合格」のどちらかを満たせば「仮合格」とする場合、OR関数を使います。

下記の場合、筆記試験が80点以上ですが、面接が不合格なので「仮合格」です。
このようにAND関数・OR関数を組み合わせることで、複数の条件を簡潔に判定できます。業務では、売上データの分析や勤怠管理など、さまざまなシーンで活用できます。
実務で役立つIF関数の活用例
IF関数は、データを自動で分類したり、条件に応じた処理を行ったりするのに便利な関数です。実務では、売上管理、勤怠管理、経費精算など、さまざまな場面で活用できます。
以下の表に、具体的な業務シーンごとにIF関数の活用例をまとめました。
活用シーン | 条件の例 | IF関数の記述例 | 結果の表示 |
---|---|---|---|
営業データの分類 | 売上が100万円以上なら「達成」、未満なら「未達成」 | =IF(B2>=1000000, “達成”, “未達成”) | 達成 / 未達成 |
勤怠管理 | 遅刻(出社時刻が9:00を超えた場合「遅刻」、それ以外は「定時」) | =IF(A2>”09:00″, “遅刻”, “定時”) | 遅刻 / 定時 |
経費精算 | 申請額が上限(5000円)を超えたら「承認不可」、以下なら「承認」 | =IF(B2>5000, “承認不可”, “承認”) | 承認 / 承認不可 |
顧客ランクの判定 | 購入額が10万円以上なら「VIP」、5万円以上なら「ゴールド」、それ未満は「レギュラー」 | =IF(A2>=100000, “VIP”, IF(A2>=50000, “ゴールド”, “レギュラー”)) | VIP / ゴールド / レギュラー |
成績評価 | 80点以上なら「合格」、それ未満なら「不合格」 | =IF(A2>=80, “合格”, “不合格”) | 合格 / 不合格 |
このようにIF関数を活用することで、データを自動的に分類し、業務の効率化を図ることができます。
IF関数と他の関数を組み合わせる方法
IF関数は単独でも便利ですが、他の関数と組み合わせることで、より高度なデータ処理や分析が可能になります。
ここでは、実務で役立つ方法について解説します。
COUNTIF・SUMIFと併用して条件に合うデータを集計する
COUNTIF関数やSUMIF関数は、特定の条件に合うデータの個数や合計を求めるのに便利です。IF関数と組み合わせることで、条件に応じた集計結果を表示できます。
- COUNTIF関数は、指定した条件に一致するセルの個数をカウントする
- SUMIF関数は、条件に一致するセルの数値を合計する
- IF関数と組み合わせることで、集計結果に応じた判定が可能になる
たとえば、「売上が100万円以上の件数をカウントし、3件以上なら『好調』、それ未満なら『改善が必要』と表示する」場合、以下のように記述します。


また、「特定の部署の経費合計が50万円以上なら『予算超過』、それ未満なら『問題なし』と判定する」場合は、SUMIF関数を活用して以下のように書きます。


このように、COUNTIF・SUMIFを使うと、大量のデータから条件に合うものだけを抽出し、集計結果に基づいた判定が可能になります。
IFERROR関数でエラー処理を行う
エクセルで計算を行う際、参照セルに誤った値が入っていたり、数式に問題があったりすると、#DIV/0! や #VALUE! などのエラーが表示されることがあります。IFERROR関数を使うと、エラーを別の値に置き換えて表示できます。
- #DIV/0!(ゼロで割り算したとき)などのエラーを回避できる
- エラーが出た場合に、指定したメッセージや値を表示できる
- IF関数と組み合わせることで、より柔軟なエラー処理が可能になる
たとえば、「売上を件数で割った平均単価を計算するが、件数がゼロの場合は『計算不可』と表示する」場合、以下のように記述します。
下記の場合、件数が0なので「計算不可」です。
その他のIF関数に役立つ関数を知りたい方は、下記をご覧ください。
IF関数・VLOOKUP関数・COUNTIF関数の違い
Excelには、データを処理・分析するためのさまざまな関数があります。その中でも、IF関数・VLOOKUP関数・COUNTIF関数 は、条件に応じたデータの抽出や分類、集計を行うのに便利な関数です。
以下の表に違いをまとめました。
関数名 | 主な用途 | 基本構文 | 具体的な使用例 |
---|---|---|---|
IF関数 | 条件に応じて異なる値を表示する | =IF(条件, 真の場合, 偽の場合) | 80点以上なら「合格」、未満なら「不合格」 → =IF(A1>=80, “合格”, “不合格”) |
VLOOKUP関数 | 指定した範囲から条件に合うデータを検索する | =VLOOKUP(検索値, 範囲, 列番号, [検索方法]) | 商品コードを入力すると、対応する商品名を表示 → =VLOOKUP(A1, B2:D10, 2, FALSE) |
COUNTIF関数 | 条件に合うセルの個数をカウントする | =COUNTIF(範囲, 条件) | 100点以上の点数がいくつあるかをカウント → =COUNTIF(A2:A100, “>=100”) |
IF関数は「条件に応じた判定」、VLOOKUP関数は「表から値を検索」、COUNTIF関数は「特定の条件を満たすデータの個数をカウント」する役割を持っています。どの関数も業務でよく使用されるため、それぞれの特徴を理解し、適切に活用することが重要です。
IF関数でよくあるエラーとその対処法
#VALUE! エラーは、数式内でデータ型が適切でない場合に発生します。たとえば、数値を扱うべきIF関数で文字列を参照している場合や、比較演算子の左右で異なるデータ型が使用されている場合に起こります。
解決策として、参照するセルのデータ型を確認し、必要に応じて数値に変換します。また、IFERROR関数を活用して、エラー時の代替表示を設定することも有効です。
#NAME? エラーは、関数名のスペルミスや、エクセルが認識できない変数を使用している場合に発生します。例えば、=IF(A1>50, “OK”, “NG”)と書くべきところを、=IFX(A1>50, “OK”, “NG”)と入力すると、このエラーが発生します。
一方、#REF! エラーは、参照しているセルが削除された場合に起こります。例えば、=IF(A1>50, “OK”, “NG”)を使用している状態でA1セルを削除すると、#REF! が表示されます。
対処法として、関数名のスペルを正しく入力すること、削除したセルを復元することが重要です。エラーを避けるために、可能であれば参照セルの範囲を固定することも有効です。
IF関数で条件に合わない場合、意図せず0が表示されることがあります。これは、IF関数の「偽の場合」の引数を省略したときに発生することが多いです。例えば、=IF(A1>=80, “合格”) のように記述すると、A1が80未満の場合は0が表示されます。
問題を防ぐには、「偽の場合」の引数を明示的に指定します。例えば、=IF(A1>=80, “合格”, “”)とすれば、条件を満たさない場合は空白が表示されます。
IF関数を使いこなして作業効率をアップしよう!
IF関数は、エクセルの中でも特に利用頻度が高く、条件に応じた処理を自動化できる便利な関数です。基本の使い方を理解すれば、売上や成績の判定、勤怠管理、経費精算など、さまざまな業務に活用できます。
さらに、IF関数を COUNTIF・SUMIF・IFERROR・AND・OR などの関数と組み合わせることで、より高度なデータ分析やエラー処理が可能になります。特に IFS関数 を使えば、複雑な条件分岐もスッキリと記述できます。
さらにエクセルを体系的に学びたい方は、ProSkilllの「Excel基礎セミナー講習」がおすすめです。2日間で初心者が実務レベルのエクセルを利用できるようになるでしょう。詳しくは下記をチェックしてみてください。
