スポンサーリンク
Excelで「条件によって表示を変えたい」という報告書やデータ表はよくあります。そんな時、IF関数を使えば「試験結果が60点以上なら合格、未満なら不合格」などの条件分岐が簡単になります。
本記事では、IF関数の基本構文の解説から、よく使われる3つのパターン、そして応用例までわかりやすく解説します。
Contents
IF関数の基礎
基本構文
=IF(条件, 真の場合, 偽の場合)
- 条件: 判定する条件
- 真: 条件が真(成立)の場合の出力
- 偽: 条件が偽(成り立たない)の場合の出力
条件の論理式に使われる演算子
- = : 等しい
- > : より大きい
- < : より小さい
- >= : 以上
- <= : 以下
- <>: 等しくない
例:シンプルな判定
=IF(B2>=60, "合格", "不合格")
- B2の値が60以上なら「合格」、未満なら「不合格」と出力

✅よく使うIF関数3つの基本パターン
パターン1:数値を条件にした例
例:売上が10万円以上なら達成
=IF(B2>=100000, "達成", "未達")
パターン2:文字列を条件にした例
例:性別による表示分岐
=IF(C2="男性", "Mr.", "Ms.")
- 文字はダブルクォートで表示する
パターン3:空白の判定
例: 入力があれば「完了」、なければ「未入力」
=IF(A2="", "未入力", "完了")
ISBLANK(A2)
を使うパターンもあり
スポンサーリンク
応用編:IF関数のネスト
例: 点数によって評価を変える
=IF(A2>=80, "優秀", IF(A2>=60, "普通", "再テスト"))
- ネストする時はIFを入れ子にする
- この例では3段階の判定
論理関数(AND、OR、NOT)の活用
IF関数と組み合わせて使うことができる論理関数もあります。以下の関数を利用することで、さらに高度な条件分岐が可能です。
- AND : 全ての条件が真である場合にtrueを返します。
- OR : 一つ以上の条件が真である場合にtrueを返します。
- NOT : 条件がfalseの場合にtrueを返します。
✅ IF関数 × AND 関数
目的:2つ以上の条件が「すべて満たされたら」○○と表示
📌 例:点数が80点以上かつ出席率が90%以上なら「合格」
=IF(AND(B2>=80, C2>=0.9), "合格", "不合格")

✅ IF関数 × OR 関数
目的:複数条件のうち「どれか1つでも満たされていれば」○○と表示
📌 例:点数が80点以上「または」出席率が90%以上なら「準合格」
=IF(OR(B2>=80, C2>=0.9), "準合格", "不合格")

✅ IF関数 × NOT 関数
目的:特定の条件「以外」の場合に○○と表示
📌 例:部署名が「総務部」でない場合は「対象外」と表示
=IF(NOT(A2="総務部"), "対象外", "対象")

✅ 応用例:AND + OR を組み合わせる
📌 例:80点以上かつ(課題提出済 or 出席率90%以上)なら「合格」
=IF(AND(B2>=80, OR(C2="提出済", D2>=0.9)), "合格", "不合格")

応用例:IF関数 + COUNTIF であいまい検索
- IF関数単独ではあいまい検索はできませんが、COUNTIF関数はワイルドカードを使用できるため、併用することであいまい検索が利用できます。
🔸 例1(単一)「名前に”さいたま市”が含まれていれば“対象”と表示」
✅ B列に入力する関数(B2セルに入力し下にコピー)
=IF(COUNTIF(A2, "*さいたま市*"), "対象", "対象外")
- A列が「さいたま市」「さいたま市~」「~さいたま市」「~さいたま市~」が「対象」

🔸 例2(複合)「東京」または「大阪」のどちらも含まれていない行に「対象外」と表示
✅ B列に入力する関数(B2セルに入力し下にコピー)
=IF(AND(COUNTIF(A2, "*東京*")=0, COUNTIF(A2, "*大阪*")=0), "対象外", "")

✅ 解説:B列に入力する関数
COUNTIF(A2, "*東京*")=0
→ セルに「東京」が含まれていないCOUNTIF(A2, "*大阪*")=0
→ セルに「大阪」が含まれていないAND(...)
→ 両方とも含まれていない場合のみTRUE
IF(..., "対象外", "")
→ 該当すれば「対象外」、それ以外は空欄(表示しない)
✅ ワイルドカードとは?
文字列の完全一致ではなく、部分一致するデータを調べたい時に使用できます。(あいまい検索です)
上記で説明したCOUNTIF関数で使用できますので、ここで説明しておきます。
ワイルドカード | 意味 | 例 |
---|---|---|
* | 0文字以上の任意の文字列 | "*東京*" → 「東京都」などに一致 |
? | 任意の1文字 | "?山" → 「富山」「白山」などに一致 |
よくあるエラーと対策
- 「#NAME?」:タイプミス/関数名のミス
- 「#VALUE!」:数値の代わりに文字列がある
- TRUE/FALSEだけが表示されてしまう
- 真/偽の出力部分を記述し忘れている
まとめ
- IF関数はExcelの基本となる条件分岐のツール
- 初心者でも基本パターンを使えれば少しずつ応用も可能
- VLOOKUPやSUMIF関数、VBAとの組み合わせでさらに強力に
スポンサーリンク
関連記事
- \IFがネストになる場合はIFS関数で/
Excel IFS関数の使い方|IFのネストをスマートに! - \指定値に一致する行の任意列の値を取得/
Excel VLOOKUP関数の使い方|表からデータを一発取得 - \複数条件に一致する行の任意複数列の値を取得/
Excel XLOOKUP関数|VLOOKUP弱点解消!複数条件 - \VLOOKUPとXLOOKUP関数は何が違う?/
Excel VLOOKUPとXLOOKUPの違い|新旧検索比較 - \条件付きの合計/
Excel SUMIF関数の使い方|条件付き合計を簡単に実現 - \複数条件付きの合計/
Excel SUMIFS関数の使い方|複数条件で合計
スポンサーリンク
コメント