Step 36:SUMIF/SUMIFS(条件付き合計)

📊 Step 36: SUMIF/SUMIFS(条件付き合計)

特定の条件を満たすデータだけを合計しよう!

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

  • SUMIF関数の基本(単一条件)
  • SUMIFS関数の基本(複数条件)
  • 数値条件の使い方(○○以上、○○未満)
  • ワイルドカードの活用
  • 実務での活用例

🎯 1. SUMIF関数とは

なぜSUMIF関数が必要なのか

通常のSUM関数は、範囲内のすべての数値を合計します。しかし実務では「特定の商品だけ」「特定の部署だけ」など、条件に合うデータだけを合計したいことがよくあります。そこで使うのがSUMIF関数です。

🏠 日常生活に例えると…

家計簿で「食費だけの合計」「交通費だけの合計」を計算したいとき、手作業で電卓を叩くのは大変ですよね。
  • SUM:家計簿の金額を全部足す(食費+交通費+娯楽費+…)
  • SUMIF:「食費」というラベルの金額だけを足す
これがSUMIF関数の考え方です。

SUMとSUMIFの違い

📊 比較してみよう(※横スクロールできます)

【売上データ】 A列 B列 1 商品 金額 2 りんご 1000 3 みかん 800 4 りんご 1200 5 バナナ 600 6 りんご 900 【SUM関数(全体の合計)】 =SUM(B2:B6) 結果: 4500(すべての金額を合計) 1000 + 800 + 1200 + 600 + 900 = 4500 【SUMIF関数(条件付き合計)】 =SUMIF(A2:A6, “りんご”, B2:B6) 結果: 3100(「りんご」だけを合計) 1000 + 1200 + 900 = 3100 💡 SUMIFを使えば、特定の商品だけを自動で集計できる!
🔑 SUMIF関数の役割

  • 指定した条件に一致するデータだけを合計
  • 商品別、担当者別、部署別などの集計に便利
  • データが増えても数式は変わらない

📝 2. SUMIF関数の基本

基本の書き方

📋 構文(※横スクロールできます)

=SUMIF(範囲, 検索条件, 合計範囲) 【引数の説明】 範囲 :条件を判定する範囲(商品名の列など) 検索条件 :合計したい条件(”りんご”など) 合計範囲 :実際に合計する範囲(金額の列など) 【イメージ】 =SUMIF(どこを見て, 何を探して, どこを足す) 【例】 =SUMIF(A2:A10, “りんご”, B2:B10) 意味: A2:A10を見て、「りんご」を探して、 該当するB2:B10の値を合計する

SUMIF関数の動作の流れ

📊 ステップバイステップ(※横スクロールできます)

=SUMIF(A2:A6, “りんご”, B2:B6) の動作 【Step 1】A列を1行ずつチェック A列(判定) B列(合計対象) 判定結果 2 りんご ✓ 1000 → 合計に含める 3 みかん ✗ 800 → 含めない 4 りんご ✓ 1200 → 合計に含める 5 バナナ ✗ 600 → 含めない 6 りんご ✓ 900 → 合計に含める 【Step 2】条件に一致した行のB列を合計 1000 + 1200 + 900 = 3100 【結果】3100

いろいろな条件の指定方法

📊 条件の書き方パターン(※横スクロールできます)

【パターン1】文字列を直接指定 =SUMIF(A2:A10, “りんご”, B2:B10) → 「りんご」と完全一致するものを合計 → 文字列は””(ダブルクォーテーション)で囲む 【パターン2】セル参照で条件を指定 =SUMIF(A2:A10, D2, B2:B10) → D2セルの値と一致するものを合計 → D2に「みかん」と入力すれば、みかんの合計 → セル参照の場合は””は不要 【パターン3】数値条件(○○以上など) =SUMIF(B2:B10, “>=1000”, B2:B10) → 1000以上の値を合計 → 演算子も””で囲む(”>=1000″) 【パターン4】セル参照と演算子の組み合わせ =SUMIF(B2:B10, “>=”&D2, B2:B10) → D2セルの値以上を合計 → &(アンパサンド)で演算子とセルを連結
✅ SUMIF関数のポイント

  • 範囲と合計範囲の行数は必ず同じにする
  • 文字列の条件は“”で囲む
  • セル参照の場合は””は不要
  • 数値条件(>=、<など)も“”で囲む

🔢 3. 数値条件の使い方

比較演算子を使った条件

SUMIFでは、「○○以上」「○○未満」などの数値条件も指定できます。

演算子 意味 書き方例 意味の説明
>= 以上 “>=1000” 1000以上を合計
> より大きい “>500” 500より大きい(501以上)
<= 以下 “<=100" 100以下を合計
< より小さい “<1000" 1000未満を合計
<> 等しくない “<>0″ 0以外を合計

数値条件の実例

📊 売上データの分析(※横スクロールできます)

【データ】 A列 B列 1 担当者 売上 2 田中 1200 3 佐藤 800 4 鈴木 1500 5 高橋 600 6 伊藤 2000 【例1】1000円以上の売上合計 =SUMIF(B2:B6, “>=1000”, B2:B6) 結果: 4700(1200 + 1500 + 2000) 【例2】1000円未満の売上合計 =SUMIF(B2:B6, “<1000", B2:B6) 結果: 1400(800 + 600) 【例3】セル参照で条件を指定 D2セルに「1000」と入力されている場合 =SUMIF(B2:B6, ">=”&D2, B2:B6) 結果: 4700 💡 “>=” と D2 を &(アンパサンド)で連結する
💡 範囲と合計範囲が同じ場合

数値条件の場合、範囲と合計範囲が同じことがよくあります。
  • =SUMIF(B2:B10, “>=1000”, B2:B10)
「B列で1000以上を探して、B列を合計」という意味です。

📋 4. SUMIFS関数(複数条件)

SUMIFS関数とは

SUMIFS関数は、複数の条件をすべて満たすデータだけを合計する関数です。「東京の営業の売上」「1月の商品Aの売上」など、2つ以上の条件を組み合わせたいときに使います。

基本の書き方

📋 構文(※横スクロールできます)

=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …) 【引数の説明】 合計範囲 :実際に合計する範囲(最初に指定!) 条件範囲1 :1つ目の条件を判定する範囲 条件1 :1つ目の条件 条件範囲2 :2つ目の条件を判定する範囲 条件2 :2つ目の条件 … :条件は最大127個まで追加可能 【例】 =SUMIFS(D2:D10, B2:B10, “東京”, C2:C10, “営業”) 意味: D2:D10を合計する ただし、B列が「東京」かつC列が「営業」のデータだけ
⚠️ SUMIFとSUMIFSの違いに注意!

引数の順番が違います!
  • SUMIF:=SUMIF(条件範囲, 条件, 合計範囲)
  • SUMIFS:=SUMIFS(合計範囲, 条件範囲1, 条件1, …)
SUMIFSは合計範囲が最初に来ます。順番を間違えると正しく計算できません。

SUMIFS関数の動作の流れ

📊 ステップバイステップ(※横スクロールできます)

=SUMIFS(D2:D6, B2:B6, “東京”, C2:C6, “営業”) の動作 【データ】 A列 B列 C列 D列 1 担当者 支店 部署 売上 2 田中 東京 営業 1000 3 佐藤 大阪 営業 800 4 鈴木 東京 開発 1200 5 高橋 東京 営業 1500 6 伊藤 名古屋 営業 900 【Step 1】各行を2つの条件でチェック 行2: 東京✓ かつ 営業✓ → 両方OK → 1000を含める 行3: 大阪✗ かつ 営業✓ → 支店NG → 含めない 行4: 東京✓ かつ 開発✗ → 部署NG → 含めない 行5: 東京✓ かつ 営業✓ → 両方OK → 1500を含める 行6: 名古屋✗ かつ 営業✓ → 支店NG → 含めない 【Step 2】条件を両方満たした行のD列を合計 1000 + 1500 = 2500 【結果】2500

SUMIFS関数の使用例

📊 いろいろな条件の組み合わせ(※横スクロールできます)

【例1】東京の営業の売上合計 =SUMIFS(D2:D6, B2:B6, “東京”, C2:C6, “営業”) 結果: 2500(田中1000 + 高橋1500) 【例2】東京で1000円以上の売上合計 =SUMIFS(D2:D6, B2:B6, “東京”, D2:D6, “>=1000”) 結果: 2700(田中1000 + 鈴木1200 + 高橋1500? → 1000+1200+1500=3700… あ、もう一度確認: 田中: 東京✓ 1000>=1000✓ → 1000 鈴木: 東京✓ 1200>=1000✓ → 1200 高橋: 東京✓ 1500>=1000✓ → 1500 結果: 3700(1000 + 1200 + 1500) 【例3】セル参照で条件を指定 E2セルに「東京」、F2セルに「営業」と入力されている場合 =SUMIFS(D2:D6, B2:B6, E2, C2:C6, F2) 結果: 2500
💡 SUMIFSはAND条件

SUMIFSはすべての条件を同時に満たすデータだけを合計します(AND条件)。
  • 条件1 ✓ かつ 条件2 ✓ → 合計に含める
  • 条件1 ✓ かつ 条件2 ✗ → 含めない
📝 OR条件(AまたはB)の場合

SUMIFSはOR条件に対応していません。
SUMIFを複数使って足し算します:
  • =SUMIF(…,”東京”,…)+SUMIF(…,”大阪”,…)

🔤 5. ワイルドカードの活用

ワイルドカードとは

ワイルドカードを使うと、部分一致あいまい検索ができます。「○○を含む」「○○で始まる」などの条件を指定できます。

記号 意味 マッチする文字列
*(アスタリスク) 任意の文字列 “*東京*” 東京、東京支店、新東京
?(クエスチョン) 任意の1文字 “田中??” 田中太郎(4文字)

ワイルドカードの使用例

📊 いろいろなパターン(※横スクロールできます)

【データ】 A列 B列 1 商品名 売上 2 ノートPC 80000 3 マウス 2000 4 キーボード 3500 5 ノート 500 6 PCスタンド 1500 【例1】「ノート」を含む商品の合計 =SUMIF(A2:A6, “*ノート*”, B2:B6) 結果: 80500 ノートPC(80000)+ ノート(500) 【例2】「PC」で終わる商品の合計 =SUMIF(A2:A6, “*PC”, B2:B6) 結果: 80000 ノートPC だけが該当 【例3】「PC」を含む商品の合計 =SUMIF(A2:A6, “*PC*”, B2:B6) 結果: 81500 ノートPC(80000)+ PCスタンド(1500) 【例4】3文字の商品の合計 =SUMIF(A2:A6, “???”, B2:B6) 結果: 2500 マウス(2000)+ ノート(500) ※「マウス」は3文字、「ノート」は3文字
💡 ワイルドカードの活用シーン

  • 会社名:「*株式会社」で株式会社で終わる会社を集計
  • 商品カテゴリ:「*PC*」でPC関連商品を集計
  • 地名:「東京*」で東京から始まる地名を集計
  • 担当者名:「田中*」で田中さんを集計

💼 6. 実務での活用例

例1:商品別売上集計

📊 商品ごとの売上を集計(※横スクロールできます)

【売上データ】 A列 B列 C列 1 日付 商品 売上 2 1/5 りんご 1000 3 1/10 みかん 800 4 1/15 りんご 1200 5 2/3 バナナ 600 6 2/15 りんご 900 【集計表】 E列 F列 1 商品 売上合計 2 りんご =SUMIF(B:B,”りんご”,C:C) → 3100 3 みかん =SUMIF(B:B,”みかん”,C:C) → 800 4 バナナ =SUMIF(B:B,”バナナ”,C:C) → 600 💡 セル参照を使うとさらに便利: =SUMIF(B:B, E2, C:C) → E2の商品名を参照

例2:期間別集計

📊 特定の期間の売上を集計(※横スクロールできます)

【1月の売上合計】 =SUMIFS(C2:C6, A2:A6, “>=2025/1/1”, A2:A6, “<=2025/1/31") 意味: C列を合計する ただし、A列が2025/1/1以上かつ2025/1/31以下のデータだけ 💡 同じ範囲(A列)を2回指定して、期間の両端を条件にする 【りんごの1月の売上】 =SUMIFS(C2:C6, B2:B6, "りんご", A2:A6, ">=2025/1/1″, A2:A6, “<=2025/1/31") 意味: りんごかつ1月のデータを合計(3つの条件)

例3:部門別・担当者別集計

📊 クロス集計表の作成(※横スクロールできます)

【売上データ】 A列 B列 C列 1 部門 担当者 売上 2 営業 田中 1000 3 開発 佐藤 2000 4 営業 鈴木 1500 5 営業 田中 800 【クロス集計】 営業部・田中の売上合計: =SUMIFS(C2:C5, A2:A5, “営業”, B2:B5, “田中”) 結果: 1800(1000 + 800) 営業部の売上合計: =SUMIF(A2:A5, “営業”, C2:C5) 結果: 3300(1000 + 1500 + 800)
✅ SUMIFが0を返すケース

条件に一致するデータがない場合、SUMIFは自動的に0を返します。
  • エラーにはならない
  • IFERRORなどのエラー処理は不要

⚠️ 7. よくある間違いと注意点

間違い1:範囲と合計範囲の行数が違う

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

❌ 間違い: =SUMIF(A2:A10, “りんご”, B2:B20) ↑9行 ↑19行(違う!) → エラーにはならないが、正しい結果が得られない ✅ 正しい: =SUMIF(A2:A10, “りんご”, B2:B10) ↑9行 ↑9行(同じ!) → 範囲と合計範囲の行数は必ず揃える

間違い2:SUMIFとSUMIFSの引数順を間違える

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

❌ 間違い: =SUMIFS(A2:A10, “東京”, C2:C10, B2:B10, “営業”, D2:D10) ↑条件を最初に書いてしまった ✅ 正しい: =SUMIFS(D2:D10, A2:A10, “東京”, B2:B10, “営業”) ↑合計範囲が最初! 【覚え方】 SUMIF :範囲 → 条件 → 合計範囲 SUMIFS:合計範囲 → 範囲1 → 条件1 → 範囲2 → 条件2 …

間違い3:数値条件の書き方を間違える

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

❌ 間違い1:””で囲んでいない =SUMIF(B2:B10, >=1000, B2:B10) ↑ エラーになる ✅ 正しい: =SUMIF(B2:B10, “>=1000”, B2:B10) ↑ “”で囲む ❌ 間違い2:セル参照との組み合わせ =SUMIF(B2:B10, “>=D2”, B2:B10) ↑ D2が文字列として扱われる ✅ 正しい: =SUMIF(B2:B10, “>=”&D2, B2:B10) ↑ &で連結する
⚠️ 条件に空白が含まれると?

条件の前後に余分な空白があると、一致しないことがあります。
  • 「りんご」と「りんご 」(後ろに空白)は別の文字列
  • データにTRIM関数を使って空白を除去すると安全

📝 練習問題

練習 1
初級

SUMIF関数で特定商品の売上を合計してください

【データ】(A1:B6) A列 B列 1 商品 売上 2 りんご 100 3 みかん 80 4 りんご 120 5 バナナ 60 6 りんご 90 「りんご」の売上合計を求めてください

数式:

=SUMIF(A2:A6, “りんご”, B2:B6)

結果: 310(100 + 120 + 90)

解説:

A2:A6の範囲で「りんご」を探し、該当するB2:B6の値を合計します。「りんご」は3行あるので、それらの売上(100、120、90)が合計されます。

練習 2
中級

SUMIFS関数で複数条件の売上を合計してください

【データ】(A1:D6) A列 B列 C列 D列 1 担当者 支店 部署 売上 2 田中 東京 営業 1000 3 佐藤 大阪 営業 800 4 鈴木 東京 開発 1200 5 高橋 東京 営業 1500 6 伊藤 名古屋 営業 900 「東京」の「営業」の売上合計を求めてください

数式:

=SUMIFS(D2:D6, B2:B6, “東京”, C2:C6, “営業”)

結果: 2500(1000 + 1500)

解説:

SUMIFSは複数条件をすべて満たすデータを合計します。B列が「東京」かつC列が「営業」の行のD列(売上)を合計します。該当するのは田中(1000)と高橋(1500)の2行です。

練習 3
上級

数値条件とワイルドカードを組み合わせてください

【データ】(A1:B6) A列 B列 1 商品名 売上 2 ノートPC 80000 3 マウス 2000 4 デスクトップPC 120000 5 キーボード 3500 6 PCスタンド 1500 「PC」を含む商品で、50000円以上の売上合計を求めてください

数式:

=SUMIFS(B2:B6, A2:A6, “*PC*”, B2:B6, “>=50000”)

結果: 200000(80000 + 120000)

解説:

SUMIFSで2つの条件を指定します。
1. A列が「PC」を含む(*PC*)
2. B列が50000以上
該当するのはノートPC(80000)とデスクトップPC(120000)です。PCスタンド(1500)は「PC」を含みますが50000未満なので除外されます。

📝 Step 36 のまとめ

✅ このステップで学んだこと
  • SUMIF関数:単一条件での合計 =SUMIF(範囲, 条件, 合計範囲)
  • SUMIFS関数:複数条件での合計 =SUMIFS(合計範囲, 範囲1, 条件1, …)
  • 数値条件:>=、<、<>などの演算子(””で囲む)
  • ワイルドカード:*(任意の文字列)、?(任意の1文字)
  • 引数の順番:SUMIFとSUMIFSで合計範囲の位置が違う
  • セル参照との組み合わせ:&で演算子と連結
🎯 次のステップの予告

SUMIF/SUMIFS関数をマスターしました!次のStep 37では、「COUNTIF/COUNTIFS/AVERAGEIF/AVERAGEIFS関数」を学びます。条件付きのカウントや平均を計算する関数です。

❓ よくある質問

Q1: SUMIFとSUMIFSのどちらを使うべきですか?
条件が1つならSUMIF、条件が2つ以上ならSUMIFSを使います。ただし、SUMIFSは条件が1つでも使えるので、将来的に条件が増える可能性がある場合は最初からSUMIFSを使うのも良い選択です。
Q2: 範囲と合計範囲の行数が違うとどうなりますか?
エラーにはなりませんが、正しい結果が得られません。必ず同じ行数にしてください。例えば、A2:A10とB2:B10のように、開始行と終了行を揃える必要があります。
Q3: 日付の範囲を指定する方法は?
SUMIFSを使って、「○○以上」かつ「○○以下」の2つの条件で指定します:
=SUMIFS(売上範囲, 日付範囲, “>=2025/1/1”, 日付範囲, “<=2025/1/31")
同じ範囲(日付範囲)を2回指定することで、期間の範囲指定ができます。
Q4: OR条件(AまたはB)は指定できますか?
SUMIFSはAND条件(AかつB)のみです。OR条件の場合は、複数のSUMIF関数を足し算します:
=SUMIF(範囲,”条件A”,合計範囲)+SUMIF(範囲,”条件B”,合計範囲)
例:東京または大阪の合計
=SUMIF(B2:B10,”東京”,C2:C10)+SUMIF(B2:B10,”大阪”,C2:C10)
Q5: ワイルドカードで「*」自体を検索したい場合は?
「*」や「?」自体を検索したい場合は、チルダ(~)を前に付けます:
“~*” → 「*」という文字を検索
“~?” → 「?」という文字を検索
Q6: 条件に一致するデータがない場合はどうなりますか?
SUMIFは該当データがない場合、自動的に0を返します。エラーにはならないので、IFERRORなどのエラー処理は不要です。
Q7: Googleスプレッドシートでも同じ関数が使えますか?
はい、SUMIFとSUMIFSはGoogleスプレッドシートでも同じように使えます。構文も全く同じです。
📝

学習メモ

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

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