Excel関数 逆引き集 | 条件成立で計算 → IF

Excel VBA Excel
スポンサーリンク

概要

「条件を満たしたときだけ計算したい」
「基準をクリアした行だけ割引する」
「空欄のときは何もしない、値があるときだけ計算したい」

こういう「条件成立で計算」のときにド真ん中で使うのが IF 関数です。

ここでは、

  • 条件を満たしたときだけ計算する基本形
  • 空欄チェック+計算
  • 複数条件+計算(AND / OR)
  • 実務でよくあるパターン

を、初心者向けテンプレとしてかみ砕いて解説します。


IF の基本(条件で計算を分ける考え方)

IF の書式と“スイッチ”のイメージ

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

3つに分解して考えます。

  • 条件
    例:A2>=100、B2=”完了”、C2<>”” など。TRUE か FALSE を返す式です。
  • 条件がTRUEのときの計算
    条件を満たしたときに実行したい計算・結果。
  • 条件がFALSEのときの値
    条件を満たさないときに返したい値(計算しないで 0 や空欄でもよい)。

「条件が TRUE のときだけ計算を動かすスイッチ」として IF をイメージするとわかりやすいです。


条件成立でだけ計算する基本テンプレ

数値が一定以上なら計算する(それ以外は 0)

例:A2 に売上が入っていて、
売上が 100,000 以上のときだけ「売上×5%」のインセンティブを計算し、
それ以外は 0 にしたい。

=IF(A2>=100000, A2*0.05, 0)

意味はこうです。

  • A2>=100000 が TRUE → A2*0.05 を計算して返す
  • A2>=100000 が FALSE → 0 を返す(計算しない)

「条件成立で計算」のいちばん基本の形です。


空欄なら何もしない、値があれば計算する

例:B2 に数量が入っていて、
空欄のときは空欄のまま、数量が入っていれば「数量×単価(100)」を計算したい。

=IF(B2="", "", B2*100)
  • B2=””(空欄)のとき → “”(空文字=見た目は空欄)
  • B2 に値があるとき → B2*100 を計算

実務で一番よく使う「空欄チェック+計算」の定番テンプレです。


条件一致なら割引計算、そうでなければ通常価格

例:C2 に会員種別(”一般” / “会員”)
D2 に定価が入っていて、
会員なら 10%引き、一般なら定価のままにしたいとき。

=IF(C2="会員", D2*0.9, D2)
  • C2=”会員” → D2*0.9(10%引き計算)
  • それ以外 → D2(そのまま)

「条件が合う人だけ割引計算する」という一番シンプルなパターンです。


複数条件を満たしたときだけ計算する

AND と組み合わせて「全部満たしたら計算」

例:
E2 に売上、F2 にステータス(”確定” / “見込”)があり、

  • 売上が 200,000 以上
  • かつ ステータスが「確定」

のときだけ売上×5%のボーナスを計算し、それ以外は 0 にしたい。

=IF(AND(E2>=200000, F2="確定"), E2*0.05, 0)
  • AND(E2>=200000, F2=”確定”) が TRUE → E2*0.05 を計算
  • それ以外 → 0

「条件をすべて満たしたら計算」という場合の定番パターンです。


OR と組み合わせて「どれか1つでも満たしたら計算」

例:
G2 に区分(”A”/”B”/”C”)
H2 に売上があり、

  • 区分が “A” または “B” のときだけ
  • 売上×3%の特別ボーナスを計算したい(C は対象外)
=IF(OR(G2="A", G2="B"), H2*0.03, 0)
  • G2 が A または B → H2*0.03 を計算
  • それ以外 → 0

「この条件グループに入っている人だけ計算する」というパターンでよく使います。


計算式そのものを切り替える IF の使い方

条件によって別の計算式を実行する

例:
I2 に「種別」が入り、
“時間” のとき → 時給×時間
“日給” のとき → 日給×日数
それ以外 → 0

というように、「計算ロジックそのものを切り替えたい」場合です。

時給:J2
時間:K2
日給:L2
日数:M2

とすると、

=IF(I2="時間",
     J2*K2,
     IF(I2="日給",
        L2*M2,
        0))
  • I2=”時間” → J2*K2 の計算
  • そうでなくて I2=”日給” → L2*M2 の計算
  • どちらでもない → 0

IF を入れ子にすることで、「条件に応じて別の計算式」を実行できます。


エラーを避けるための「条件付き計算」テクニック

0 除算などのエラーを避けて計算する

例:
N2 に分子、O2 に分母が入っていて、
「分母が 0 でないときだけ割り算をし、0 や空欄のときは空欄を返したい」。

=IF(O2=0, "", N2/O2)

もしくは、空欄もまとめて避けたいなら:

=IF(O2="", "", N2/O2)

「エラーになりそうなときは計算しない」というのも、条件付き計算の代表です。


例題

問題1

A2 に売上金額が入っています。
売上が 100,000 以上のときだけ「売上×5%」を計算し、それ以外は 0 を返す式を書いてください。

=IF(A2>=100000, A2*0.05, 0)

問題2

B2 に数量が入っています。
B2 が空欄のときは空欄のまま、空欄でないときは「数量×100」を計算する式を書いてください。

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

問題3

C2 に会員種別(”一般” または “会員”)、D2 に定価が入っています。
会員なら 10%引き(D2×0.9)、一般なら定価のまま(D2)を返す式を書いてください。

=IF(C2="会員", D2*0.9, D2)

問題4

E2 に売上、F2 にステータス(”確定” / “見込”)が入っています。
「売上が 200,000 以上 かつ ステータスが“確定”のときだけ、売上×5%のボーナスを計算し、それ以外は 0」を返す式を書いてください。

=IF(AND(E2>=200000, F2="確定"), E2*0.05, 0)

問題5

G2 に区分(”A” / “B” / “C”)、H2 に売上が入っています。
区分が “A” または “B” のときだけ「売上×3%」を計算し、それ以外は 0 を返す式を書いてください。

=IF(OR(G2="A", G2="B"), H2*0.03, 0)

まとめ

「条件成立で計算 → IF」の考え方は、次のテンプレを押さえておけば十分です。

条件が TRUE のときだけ計算する基本形:

=IF(条件, 計算式, それ以外のときの値)

空欄のときは何もしない:

=IF(セル="", "", 計算式)

複数条件をすべて満たしたときだけ計算:

=IF(AND(条件1, 条件2, …), 計算式, それ以外)

どれか1つでも満たしたときだけ計算:

=IF(OR(条件1, 条件2, …), 計算式, それ以外)

このあたりを自分の仕事の条件に置き換えていくと、
「必要なときだけ計算する」スマートなシートをどんどん作れるようになります。

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