①:概要
Googleスプレッドシートは、データ管理や分析に便利なツールですが、その機能を最大限に活用するには「関数」の理解が不可欠です。中でもIF関数は、様々な場面で使用します。この記事では、スプレッドシート関数の初学者の方に向けて、IF関数の基本的な使い方から活用例まで、わかりやすく解説します。
②:IF関数とは?
IF関数は、指定した条件(論理式)が満たされているか(真:True)どうか(偽:False)を判定し、その結果に応じて異なる値を返す関数です。
例えば、「もし、売上目標を達成していたら『達成』と表示し、そうでなければ『未達成』と表示する」といった、条件分岐を処理できます。
IF関数を使うメリット
- データ分析の効率化:大量のデータから特定の条件に合うものだけを素早く分類・評価できます。(例:顧客ランク付け、重要リードの抽出)
- レポート作成の自動化:条件に応じたステータス表示やアラート通知を自動化し、レポートの見やすさと正確性を向上させます。(例:納期遅延アラート、KPI達成状況の可視化)
- ミスの削減:手作業による判断や入力を減らし、ヒューマンエラーを防ぎます。
③:IF関数の基本的な使い方
(1)基本構文
IF関数の基本的な構文(書き方のルール)は以下の通りです。
IF(論理式, 真の場合の値, 偽の場合の値)
それぞれの引数(ひきすう:関数に渡す情報)を見ていきましょう。
- 論理式:
- 条件式を入力します。結果が「真(True)」または「偽(False)」になる式です。
- 比較演算子(比較のための記号)を使って記述します。
>: より大きい
< : より小さい
= : 等しい
>=: 以上
<=: 以下
<>: 等しくない - 例:B2 >= 1000000 (セルB2の値が1,000,000以上かどうか)
- 例:C2 = “東京都” (セルC2の値が”東京都”と等しいかどうか) ※文字列は”(ダブルクォーテーション)で囲みます。
- 真の場合の値:
- 論理式の結果が「真(True)」だった場合に表示させたい値や、実行したい計算式を入力します。
- 例:”達成” (文字列を表示)
- 例:D2 * 0.1 (セルD2の値に10%を掛ける計算)
- 偽の場合の値:
- 論理式の結果が「偽(False)」だった場合に表示させたい値や、実行したい計算式を入力します。
- 例:”未達成”
- 例:”” (空白を表示)
(2)例:売上目標達成 or 未達成の判定
営業担当者ごとの月間売上(B4:B13)が、目標である1,000,000円(B1セルに入力)を達成しているか判定してみましょう。D列に結果を表示します。
セルC4に入力する数式:
=IF(B4>=$B$1, "達成", "未達成")
- B4>=$B$1: セルB4(担当者の売上)が、セルB1(目標額)以上かどうかを判定します。目標額はどの担当者も共通なので、絶対参照($B$1)にしています。
- “達成”: 条件を満たす(真)場合に表示する文字列。
- “未達成”: 条件を満たさない(偽)場合に表示する文字列。
この数式をC5以降のセルにコピーすれば、各担当者の達成状況が自動で表示されます。

④:IF関数活用例
IF関数は、様々なビジネスシーンで応用できます。ここでは具体的な例をいくつか紹介します。
例1:顧客ステータス判定
年間の取引額(B列)に応じて、顧客をランク分けします。ここでは、500万円以上を「優良」、それ未満を「通常」と判定し、C列に表示します。
セルC2に入力する数式:
=IF(B2>=5000000, "優良", "通常")

例2:納期アラート
商品の納品予定日(B列)と今日の日付を比較し、納期までの残り日数(C列に =B2-DATE(2025,8,8) のような数式で計算済みと仮定)が3日以内になった場合に、D列に「要対応」というアラートを表示します。残り日数が3日より多い場合は空白にします。
セルD2に入力する数式:
=IF(C2<=3, "要対応", "")
- C2<=3: 納期までの残り日数(C2)が3日以下かどうかを判定。
- “”: 偽の場合(残り4日以上)は空白を表示。

例3:割引率の適用
注文された商品の数量(B列)に応じて、適用する割引率(C列)を変更します。数量が100個以上なら10%割引、それ未満なら割引なし(0%)とします。
セルC2に入力する数式:
=IF(B2>=100, 0.1, 0)
- 0.1: 真の場合(100個以上)は10% (0.1) を返す。
- 0: 偽の場合(100個未満)は0% (0) を返す。
この結果(割引率)を使って、別のセルで割引額(=単価 * 数量 * 割引率)や割引後の価格を計算できます。

⑤複数の条件を組み合わせる:AND関数・OR関数
「〇〇 かつ △△の場合」や「〇〇 または △△の場合」のように、複数の条件を組み合わせて判定したい場合は、AND関数やOR関数をIF関数と組み合わせます。
(1)基本説明
- AND関数: AND(条件1, 条件2, …)
- すべての条件が真(True)の場合にのみ、全体として真(True)を返します。一つでも偽(False)があれば偽(False)を返します。
- OR関数: OR(条件1, 条件2, …)
- いずれか一つの条件でも真(True)の場合に、全体として真(True)を返します。すべての条件が偽(False)の場合にのみ偽(False)を返します。
(2)具体例
例(AND関数):特別オファー対象者の判定
年間取引額(B列)が300万円以上 かつ 契約年数(C列)が3年以上 の顧客を「特別オファー対象」と判定し、D列に表示します。
セルD2に入力する数式:
=IF(AND(B2>=3000000, C2>=3), "特別オファー対象", "")

例(OR関数):キャンペーン割引対象の判定
顧客区分(B列)が「新規」 または 購入金額(C列)が600万円以上 の場合に「キャンペーン割引適用」と判定し、D列に表示します。
セルD2に入力する数式:
=IF(OR(B2="新規", C2>=6000000), "キャンペーン割引適用", "")

⑥:条件が3つ以上ある場合にIF関数を重ねる(ネスト)
「Aの場合は〇〇、Bの場合は△△、Cの場合は□□」のように、3つ以上の条件で結果を分けたい場合があります。このような場合、IF関数の中にさらにIF関数を入れる「ネスト(入れ子)」というテクニックを使います。
(1)例:営業担当者の評価ランク付け
営業担当者の年間取引額(B列)に応じて、S・A・B・Cの4段階でランク付け(C列)します。
- 50,000,000円以上: S
- 30,000,000円以上、50,000,000円未満: A
- 10,000,000円以上、30,000,000円未満: B
- 10,000,000円未満: C
セルC2に入力する数式:
=IF(B2>=50000000, "S",
IF(B2>=30000000, "A",
IF(B2>=10000000, "B", "C")
)
)
(2)解説と書き方のポイント
- 最初のIF(B2>=50000000, “S”, …): まず50,000,000円以上か判定し、真なら”S”を返します。
- 偽の場合(50,000,000円未満)の処理として、次のIF関数IF(B2>=30000000, “A”, …)が入ります。ここで30,000,000円以上か判定し、真なら”A”を返します。
- さらに偽の場合(30,000,000円未満)の処理として、最後のIF関数IF(B2>=10000000, “B”, “C”)が入ります。ここで10,000,000円以上か判定し、真なら”B”、偽なら”C”を返します。
- インデントと改行: 上記のように、IF関数ごと(または偽の場合の処理が始まる前)に改行し、半角スペース偶数個(例では2個)でインデント(字下げ)を入れると、構造が分かりやすくなります。スプレッドシートの数式バー内やメモ帳などでこのように整形してから貼り付けると良いでしょう。(スプレッドシートのセル内では通常改行は無視されますが、数式バーを広げれば確認できます)
- 括弧の数: ネストが深くなると括弧 () の対応が分かりにくくなります。開く括弧 ( と閉じる括弧 ) の数が必ず同じになるように注意しましょう。

(3)注意点と代替案:IFS関数
IF関数のネストですが、条件が多くなると数式が複雑になり、管理が難しくなることがあります。
Googleスプレッドシートには、複数の条件分岐をよりシンプルに書ける IFS 関数もあります。
IFS関数の構文:
IFS(条件1, 真の場合の値1, 条件2, 真の場合の値2, ...)
上記のランク付けの例をIFS関数で書くと以下のようになります。
=IFS(B2>=50000000, "S", B2>=30000000, "A", B2>=10000000, "B", B2<10000000, "C")
または、最後の条件は TRUE を使って書くこともできます(どの条件にも当てはまらなかった場合のデフォルト値)。
=IFS(B2>=50000000, "S", B2>=30000000, "A", B2>=10000000, "B", TRUE, "C")
条件が3つ以上ある場合は、IFS関数の利用も検討しましょう。
ネストされたIF関数よりも直感的で分かりやすいことが多いです。
⑦:よくあるエラーと対処法
IF関数を使っていると、意図しない結果になったり、エラーが表示されたりすることがあります。
よくある原因と対処法を知っておきましょう。
(1)#ERROR! や #N/A などが表示される
- 括弧 () の数が合っていない: 開き括弧と閉じ括弧の数が一致しているか確認しましょう。ネストしている場合は特に注意が必要です。
- 文字列が ” で囲まれていない: 条件や返す値として文字列を指定する場合は、必ずダブルクォーテーション ” で囲みます。(例:”達成”)
- 関数名やセル参照のスペルミス: スペル自体が間違っているとエラーになります。セル番地(例:B2)も正しく入力されているか確認しましょう。
- 比較演算子の間違い: > と < を逆にしている、= が抜けている(例:>= とすべきところを > にしている)など、演算子が正しくない場合があります。
(2)意図しない結果になる
- 論理式の条件が間違っている: > と >= を間違えている、ANDとORを逆に使っているなど、条件設定そのものを見直しましょう。
- ネストIFの順番が不適切: ネストしたIF関数では、条件判定の順番が重要です。より厳しい(または範囲が狭い)条件から先に判定しないと、意図した結果にならないことがあります。(例:ランク付けで、先に >=10000000(Bランク)を判定してしまうと、50,000,000円以上の人もBランクと判定されてしまう)
- 絶対参照と相対参照の使い分け: 数式をコピーする際に、参照するセルを固定したい場合は絶対参照(例:$C$2)、コピー先のセルに合わせて参照先も移動させたい場合は相対参照(例:C2)を使います。使い分けが適切か確認しましょう。
(3)エラー対処のヒント:IFERROR関数
計算結果がエラーになる可能性がある場合(例:割り算で分母が0になる、VLOOKUP関数で参照が見つからないなど)、IFERROR関数を組み合わせると便利です。
IFERROR(値, エラーの場合の値)
例えば、= A1 / B1 という計算式で、B1が0または空白だと #DIV/0! エラーになります。これを避けるには、以下のように書けます。
=IFERROR(A1/B1, "計算不可")
もし A1/B1 の計算がエラーになったら “計算不可” と表示し、エラーでなければ計算結果を表示します。IF関数の結果がエラーになる可能性がある場合にも応用できます。
⑧:まとめ
GoogleスプレッドシートのIF関数は、条件に応じて処理を分岐させるための基本かつ強力な関数です。
- 基本的な構文: IF(論理式, 真の場合の値, 偽の場合の値)
- 複数条件: AND関数、OR関数 と組み合わせる
- 3つ以上の条件: IF関数をネストさせるか、IFS関数を使う
- エラー対策: IFERROR関数も活用する
IF関数を使いこなすことで、日々のデータ集計や分析、レポート作成といった業務を大幅に効率化できます。まずは簡単な例から試してみて、徐々に複雑な条件設定にもチャレンジしてみてください。この記事が、あなたのスプレッドシート活用の一助となれば幸いです。
※Googleサービスは、Google LLC の商標であり、この記事はGoogleによって承認されたり、Google と提携したりするものではありません。