STEP 20:IF関数の基礎(単純な条件分岐)

🔀 Step 20: IF関数の基礎(単純な条件分岐)

条件によって結果を変える!スプレッドシート最重要関数の1つ

📋 このステップで学ぶこと

  • IF関数の基本構文
  • 条件式の書き方(比較演算子)
  • 真の場合・偽の場合の指定
  • 実務での活用例(合格判定、ランク分けなど)
  • よくあるエラーと対処法

🎯 1. IF関数とは

🔑 IF関数の役割

IF関数は、「もし〜なら〇〇、そうでなければ××」という条件分岐を行う関数です。条件によって、表示する内容や計算結果を変えることができます。

📝 日常の例で理解する(※横スクロールできます)

【日常の例でIF関数を理解しよう】 もし 天気が晴れなら → 公園に行く そうでなければ → 家で遊ぶ もし テストが60点以上なら → 合格 そうでなければ → 不合格 もし 売上が目標以上なら → ボーナス支給 そうでなければ → ボーナスなし このような「もし〜なら」の判断をスプレッドシートで自動化できます!
💡 IF関数の重要性

IF関数は最も使用頻度の高い関数の1つです。合格判定、ランク分け、条件付き計算など、実務で毎日のように使います。しっかりマスターしましょう!

📝 2. IF関数の基本構文

📋 基本の書き方(※横スクロールできます)

【IF関数の構文】 =IF(条件式, 真の場合, 偽の場合) 3つの要素: 1. 条件式 : 判定する条件(例:A1>=60) 2. 真の場合 : 条件が正しいときに返す値(例:”合格”) 3. 偽の場合 : 条件が正しくないときに返す値(例:”不合格”) ※ 3つの要素はカンマ(,)で区切ります

具体例:合格判定

🎯 合格判定の例(※横スクロールできます)

【例: テストの合格判定】 A1に点数が入力されている B1に合格・不合格を表示したい B1に入力する数式: =IF(A1>=60, “合格”, “不合格”) 意味: もし A1が60以上なら → “合格” を表示 そうでなければ → “不合格” を表示

✅ 動作確認(※横スクロールできます)

【動作確認】 A1 = 80 のとき → B1 = “合格” (80>=60 は「真」なので) A1 = 50 のとき → B1 = “不合格” (50>=60 は「偽」なので) A1 = 60 のとき → B1 = “合格” (60>=60 は「真」なので、60ちょうども含む)

🔢 3. 比較演算子

条件式では、比較演算子を使って条件を書きます。比較演算子は「2つの値を比べる記号」です。

📋 比較演算子一覧(※横スクロールできます)

【比較演算子一覧】 記号 意味 例 読み方 ──────────────────────────────────────────── = 等しい A1=100 A1は100と等しい > より大きい A1>100 A1は100より大きい(100は含まない) < より小さい A1<100 A1は100より小さい(100は含まない) >= 以上 A1>=100 A1は100以上(100を含む) <= 以下 A1<=100 A1は100以下(100を含む) <> 等しくない A1<>100 A1は100と等しくない
⚠️ 注意点
  • 等号は「=」1つ(プログラミングの==ではない)
  • 以上・以下は「=」が後ろ(>=、<= の順番)
  • 不等号は「<>」(プログラミングの!=ではない)

比較演算子の実例

📝 各演算子の使用例(※横スクロールできます)

【実例】 1. =IF(A1=100, “ぴったり”, “違う”) → A1が100と等しいなら「ぴったり」 2. =IF(A1>100, “超過”, “OK”) → A1が100より大きいなら「超過」(100は含まない) 3. =IF(A1>=60, “合格”, “不合格”) → A1が60以上なら「合格」(60を含む) 4. =IF(A1<0, "マイナス", "プラス") → A1が0より小さいなら「マイナス」 5. =IF(A1<>0, “あり”, “なし”) → A1が0でないなら「あり」
💡 「以上」と「より大きい」の違い

A1>=60(60以上):60, 61, 62… すべてOK(60を含む)
A1>60(60より大きい):61, 62, 63… のみOK(60は含まない)

「〇〇以上」「〇〇以下」は境界値を含む、「〇〇より大きい」「〇〇より小さい」は境界値を含まないことに注意!

📊 4. 実用例

例1: テストの合格判定

📚 成績表の例(※横スクロールできます)

【成績表】 A列 B列 C列 1 名前 点数 判定 2 田中 80 =IF(B2>=60, “合格”, “不合格”) 3 佐藤 50 =IF(B3>=60, “合格”, “不合格”) 4 鈴木 75 =IF(B4>=60, “合格”, “不合格”) C2の数式をC3、C4にコピー 結果: C2: 合格 (80>=60 は真) C3: 不合格 (50>=60 は偽) C4: 合格 (75>=60 は真)

例2: 売上目標の達成判定

💰 売上管理の例(※横スクロールできます)

【売上管理】 A列 B列 C列 D列 1 月 売上 目標 達成状況 2 1月 1000 1200 =IF(B2>=C2, “達成”, “未達成”) 3 2月 1500 1200 =IF(B3>=C3, “達成”, “未達成”) 4 3月 1100 1200 =IF(B4>=C4, “達成”, “未達成”) 結果: D2: 未達成 (1000<1200) D3: 達成 (1500>=1200) D4: 未達成 (1100<1200)

例3: 在庫アラート

📦 在庫管理の例(※横スクロールできます)

【在庫管理】 A列 B列 C列 1 商品 在庫 状態 2 りんご 5 =IF(B2<10, "要発注", "OK") 3 バナナ 15 =IF(B3<10, "要発注", "OK") 4 みかん 8 =IF(B4<10, "要発注", "OK") 結果: C2: 要発注 (5<10 は真) C3: OK (15<10 は偽) C4: 要発注 (8<10 は真)

💡 5. 文字列の比較

IF関数は、数値だけでなく文字列も比較できます。

📝 文字列の比較(※横スクロールできます)

【文字列の比較】 =IF(A1=”東京”, “関東”, “関東以外”) A1が「東京」という文字と等しいなら → “関東” そうでなければ → “関東以外”
⚠️ 文字列の注意点
  • ダブルクォーテーション(“”)で囲む:=IF(A1=”東京”, …)
  • 大文字・小文字を区別しない(Excelの場合):”ABC”と”abc”は同じ
  • スペースの有無も重要:”東京”と”東京 “は別物として扱われる

実用例:地域別の送料

🚚 送料計算の例(※横スクロールできます)

【例: 地域別の送料】 A列 B列 C列 1 地域 商品 送料 2 東京 りんご =IF(A2=”沖縄”, 1500, 500) 3 大阪 バナナ =IF(A3=”沖縄”, 1500, 500) 4 沖縄 みかん =IF(A4=”沖縄”, 1500, 500) 結果: C2: 500円 (東京≠沖縄) C3: 500円 (大阪≠沖縄) C4: 1500円 (沖縄=沖縄)

🔢 6. 数値を返すIF関数

IF関数は、文字列だけでなく数値数式も返せます。

💰 割引計算の例(※横スクロールできます)

【例1: 会員割引】 もし 会員なら → 10%引き そうでなければ → 定価 =IF(A1=”会員”, B1*0.9, B1) A1が「会員」なら → B1×0.9(10%引き) そうでなければ → B1(定価そのまま)

🚚 送料計算の例(※横スクロールできます)

【例2: 送料無料の条件】 もし 5000円以上なら → 送料無料(0円) そうでなければ → 送料500円 =IF(A1>=5000, 0, 500) A1が5000以上なら → 0円 そうでなければ → 500円

実用例: ボーナス計算

💵 ボーナス計算の例(※横スクロールできます)

【ボーナス計算】 A列 B列 C列 1 名前 売上 ボーナス 2 田中 1500 =IF(B2>=1000, B2*0.1, 0) 3 佐藤 800 =IF(B3>=1000, B3*0.1, 0) 4 鈴木 1200 =IF(B4>=1000, B4*0.1, 0) ルール: 売上1000以上なら売上の10%をボーナスとして支給 結果: C2: 150 (1500×0.1 = 150) C3: 0 (800<1000なのでボーナスなし) C4: 120 (1200×0.1 = 120)
💡 数式を返すメリット

IF関数で数式を返すと、条件に応じて計算方法を変えることができます。「会員なら割引計算、非会員なら定価」のような処理が1つの数式で実現できます。

⚠️ 7. よくあるエラーと注意点

🚨 よくある間違い(※横スクロールできます)

【よくある間違い】 ❌ 間違い1: カンマが抜けている =IF(A1>100 “大きい”, “小さい”) → 条件式と真の場合の間にカンマがない ✅ 正しい: =IF(A1>100, “大きい”, “小さい”) ❌ 間違い2: 文字列の””が抜けている =IF(A1=100, 合格, 不合格) → 合格・不合格が””で囲まれていない ✅ 正しい: =IF(A1>=100, “合格”, “不合格”) ❌ 間違い3: 比較演算子が逆 =IF(A1=>100, “OK”, “NG”) → =>ではなく>=が正しい ✅ 正しい: =IF(A1>=100, “OK”, “NG”)
⚠️ 空白セルの扱い(重要!)

空白セルは「0」として扱われます。

📝 空白セルの例(※横スクロールできます)

【空白セルの注意】 A1が空白のとき: =IF(A1>=60, “合格”, “不合格”) → 結果: “不合格” (空白は0として扱われ、0<60なので) 【解決策: 空白チェックを追加】 =IF(A1="", "", IF(A1>=60, “合格”, “不合格”)) → 空白なら何も表示しない、そうでなければ判定する

💡 8. IF関数の応用テクニック

テクニック1: 他の関数との組み合わせ

📊 AVERAGE関数との組み合わせ(※横スクロールできます)

【例: 平均点以上かどうか判定】 クラスの平均点以上なら「優秀」と表示 =IF(B2>=AVERAGE($B$2:$B$10), “優秀”, “普通”) B2がB2:B10の平均以上なら「優秀」 そうでなければ「普通」 ※ $をつけて絶対参照にすることで、コピーしても範囲がずれない

テクニック2: 空白を返す

📝 条件を満たさない場合は空白に(※横スクロールできます)

【例: 合格者だけ表示】 =IF(A1>=60, “合格”, “”) A1が60以上なら「合格」を表示 そうでなければ 空白(何も表示しない) ※ “”は空の文字列(空白)を表す 不合格の人は何も表示されないので、合格者だけが目立つ

テクニック3: セル参照で条件を変更可能に

🔧 柔軟な条件設定(※横スクロールできます)

【例: 合格ラインを変更可能に】 A列 B列 C列 D列 1 合格点 70 2 名前 点数 判定 3 田中 80 =IF(B3>=$C$1, “合格”, “不合格”) C1の値を変更すると、全ての判定が自動で変わる C1=70 のとき: 80>=70 → 合格 C1=85 のとき: 80>=85 → 不合格 ※ 合格ラインを1箇所で管理できるので便利!

📝 練習問題

練習 1
初級

A1が60以上なら「合格」、そうでなければ「不合格」と表示する数式を書いてください

解答:

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

確認:

  • A1=80 → 合格
  • A1=50 → 不合格
  • A1=60 → 合格(60も含む)
練習 2
初級

A1が0より小さいなら「マイナス」、そうでなければ「プラス」と表示する数式を書いてください

解答:

=IF(A1<0, "マイナス", "プラス")

確認:

  • A1=-10 → マイナス
  • A1=10 → プラス
  • A1=0 → プラス(0は0以上なので)
練習 3
中級

次の成績表で、C列に合格・不合格を表示してください(60点以上で合格)

A列 B列 C列 1 名前 点数 判定 2 田中 80 ? 3 佐藤 50 ? 4 鈴木 75 ?

解答:

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

C2をC3、C4にコピー

結果:

  • C2: 合格
  • C3: 不合格
  • C4: 合格
練習 4
中級

売上が5000円以上なら送料0円、未満なら500円と表示してください

A1に売上金額が入力されています。B1に送料を表示してください

解答:

B1に =IF(A1>=5000, 0, 500)

確認:

  • A1=6000 → B1=0
  • A1=4000 → B1=500
  • A1=5000 → B1=0(5000ちょうども無料)
練習 5
上級

会員なら10%割引、非会員なら定価で計算してください

A列 B列 C列 1 会員区分 定価 支払額 2 会員 1000 ? 3 非会員 1000 ? 4 会員 1500 ?

解答:

C2に =IF(A2="会員", B2*0.9, B2)

C2をC3、C4にコピー

結果:

  • C2: 900(1000×0.9)
  • C3: 1000(定価のまま)
  • C4: 1350(1500×0.9)
練習 6
上級

在庫が10未満なら「要発注」、10以上なら空白を表示してください

A列 B列 C列 1 商品 在庫 状態 2 りんご 5 ? 3 バナナ 15 ? 4 みかん 8 ?

解答:

C2に =IF(B2<10, "要発注", "")

C2をC3、C4にコピー

結果:

  • C2: 要発注(5<10)
  • C3: (空白)(15>=10)
  • C4: 要発注(8<10)

ポイント: ""は空白を表します。問題がない場合は何も表示しないことで、問題のある行だけが目立ちます。

📝 Step 20 のまとめ

✅ このステップで学んだこと
  • =IF(条件式, 真の場合, 偽の場合)が基本構文
  • 比較演算子: =、>、<、>=、<=、<>
  • 文字列は""(ダブルクォーテーション)で囲む
  • 数値、文字列、数式、すべて返せる
  • 空白セルは0として扱われる(注意!)
  • 合格判定、送料計算など実務で頻繁に使う
🎯 次のステップの予告

IF関数の基礎をマスターしました!次のSTEP 21では、「ネストしたIF関数(複数条件)」を学びます。3段階以上の条件分岐やAND/OR関数との組み合わせなど、より高度なIF関数を使いこなせるようになります。

❓ よくある質問

Q1: 条件が3つ以上ある場合はどうしますか?
IF関数を入れ子(ネスト)にします。例えば「80点以上なら優、60点以上なら良、それ未満なら可」という3段階の判定は、次のSTEP 21で学習します。IF関数の中にIF関数を入れることで、複数の条件を扱えます。
Q2: 「かつ」や「または」の条件はどう書きますか?
AND関数やOR関数を使います。例: 「60点以上かつ出席率80%以上」→ =IF(AND(A1>=60, B1>=0.8), "合格", "不合格")。これもSTEP 21で詳しく学習します。
Q3: 空白の場合だけ特別な処理をしたいです
=IF(A1="", "空白です", A1)のように書きます。A1が空白なら「空白です」、そうでなければA1の値を表示します。空白セルは0ではなく""(空の文字列)で判定します。
Q4: 真の場合だけ処理して、偽の場合は何もしたくないです
偽の場合に""(空白)を指定してください。例: =IF(A1>=60, "合格", "")。A1が60以上なら「合格」、そうでなければ何も表示しません。
Q5: 大文字・小文字は区別されますか?
Excelでは区別されませんが、Googleスプレッドシートでは区別される場合があります。安全のため、比較する文字列は正確に一致させましょう。大文字小文字を無視したい場合はUPPER関数やLOWER関数を使います。
Q6: エラーが出たときだけ特別な処理をしたいです
IFERROR関数を使います。=IFERROR(数式, エラー時の値)で、数式がエラーになったときだけ指定した値を返します。例: =IFERROR(A1/B1, "計算不可")。これはSTEP 56で学習します。
Q7: 日付で条件分岐できますか?
はい、できます。日付は内部的に数値なので、=IF(A1>=DATE(2025,1,1), "2025年以降", "2024年以前")のように比較できます。DATE関数はSTEP 39で学習します。
📝

学習メモ

Excel・Googleスプレッドシート完全マスター - Step 20

📋 過去のメモ一覧
#artnasekai #学習メモ
LINE