Excel関数 逆引き集 | 条件で処理を分ける → IF

Excel VBA Excel
スポンサーリンク

概要

Excel の IF 関数は、
「もし条件が〇〇なら A、そうでなければ B」
という 条件分岐(処理の切り替え) を行うための基本中の基本です。

プログラミング初心者でも理解しやすいように、
“IF は分岐のスイッチ” と考えると分かりやすいです。

  • 条件が TRUE(正しい) → A を返す
  • 条件が FALSE(正しくない) → B を返す

この仕組みを使えば、
「空欄なら何もしない」「基準値以上なら合格」「条件に応じて参照先を変える」
など、実務でよくある処理を柔軟に作れます。


IF の基本構造

書式

=IF(条件, 条件がTRUEのとき, 条件がFALSEのとき)

3つのパーツに分かれています。

  1. 条件
    例:A2>100、B2=”完了”、C2<>”” など
  2. TRUE のときの処理
    条件が正しいときに返す値
  3. FALSE のときの処理
    条件が正しくないときに返す値

IF の基本パターン(初心者向けテンプレ)

空欄なら何もしない(最もよく使う型)

=IF(A2="","",A2*10)

意味:

  • A2 が空欄 → 空欄を返す
  • A2 に値がある → A2×10 を返す

実務で最も使う「空欄チェック」の型です。


数値の判定(合格・不合格など)

=IF(B2>=60,"合格","不合格")

意味:

  • B2 が 60 以上 → 合格
  • 60 未満 → 不合格

文字列の判定(ステータス分岐)

=IF(C2="完了","OK","作業中")

意味:

  • C2 が「完了」 → OK
  • それ以外 → 作業中

計算式を条件にする

=IF(D2*E2>10000,"高額","通常")

意味:

  • D2×E2 が 10,000 超 → 高額
  • それ以外 → 通常

IF の応用パターン(実務でよく使う)

IF と AND(複数条件すべて満たす)

=IF(AND(A2>=10, B2="有効"), "対象", "対象外")

意味:

  • A2 が 10 以上 かつ B2 が「有効」 → 対象
  • どちらかでも違えば → 対象外

IF と OR(どれか1つでも満たせばOK)

=IF(OR(C2="A", C2="B"), "優先", "通常")

意味:

  • C2 が A または B → 優先
  • それ以外 → 通常

IF と XLOOKUP(条件に応じて検索する)

=IF(F2="単価",
     XLOOKUP(E2, A2:A100, C2:C100),
     XLOOKUP(E2, A2:A100, D2:D100))

意味:

  • F2 が「単価」 → 単価列を検索
  • それ以外 → 在庫列を検索

参照先を切り替えるときの定番パターンです。


IF と ISERROR(エラー時の処理)

=IF(ISERROR(A2/B2),"エラー","OK")

意味:

  • A2/B2 がエラー(0除算など) → エラー
  • 正常 → OK

IF の入れ子(ネスト)で多段階判定

例:点数でランク分け

=IF(C2>=80,"A",
   IF(C2>=60,"B",
      IF(C2>=40,"C","D")))

意味:

  • 80 以上 → A
  • 60 以上 → B
  • 40 以上 → C
  • それ以外 → D

IF を入れ子にすると多段階判定ができます。


IF を使うときの注意点

条件は「TRUE / FALSE」で考える

  • A2>100
  • B2=”完了”
  • C2<>””

これらはすべて TRUE か FALSE のどちらかになります。
IF は「条件が TRUE かどうか」を見ているだけです。


空欄判定は “” を使う

空欄かどうかは必ず

A2=""

で判定します。


入れ子が多すぎると読みにくくなる

IF が 4 段以上になると、式が読みにくくなります。
その場合は IFS 関数や CHOOSE、VLOOKUP など別の方法も検討しましょう。


例題

問題1

A2 に数値が入っています。
A2 が 100 以上なら「大」、それ以外なら「小」と表示する式を書いてください。

=IF(A2>=100,"大","小")

問題2

B2 が空欄なら空欄を返し、空欄でない場合は B2×5 を返す式を書いてください。

=IF(B2="","",B2*5)

問題3

C2 が「完了」または「済」のとき「OK」、それ以外は「NG」と表示する式を書いてください(OR を使う)。

=IF(OR(C2="完了",C2="済"),"OK","NG")

問題4

D2 の点数に応じて、
80 以上なら A、60 以上なら B、それ以外は C と表示する式を書いてください(IF の入れ子)。

=IF(D2>=80,"A",IF(D2>=60,"B","C"))

問題5

E2 に商品コードがあり、F2 に「単価」または「在庫」が入っています。
F2 の内容に応じて、XLOOKUP の戻り列を切り替える式を書いてください。

=IF(F2="単価",
     XLOOKUP(E2,A2:A100,C2:C100),
     XLOOKUP(E2,A2:A100,D2:D100))

まとめ

IF は Excel の条件分岐の基本であり、
次の型を覚えるだけでほとんどの処理が書けます。

基本形

=IF(条件, TRUEのとき, FALSEのとき)

空欄チェック

=IF(セル="", "", 処理)

多段階判定(入れ子)

=IF(条件1, A,
   IF(条件2, B,
      IF(条件3, C, D)))

条件で参照先を切り替える

=IF(条件, XLOOKUP(...列1...), XLOOKUP(...列2...))

IF を自在に使えるようになると、
Excel の処理は一気に“自動化・効率化”されます。
あなたの業務に合わせて、どんどん応用してみてください。

タイトルとURLをコピーしました