「売上データから”東京”だけの合計を出したい」「特定の担当者×商品に絞った合計を知りたい」そんなときに便利なのが、Excel(エクセル)の条件付き合計関数です。
単なる=SUM()
では目的の結果が出ませんが、SUMIF
やSUMIFS
を使えば、指定条件に合うデータだけを正確に集計できます。
この記事では、以下について詳しく解説します:
- SUMIF関数の基本的な使い方と活用例
- SUMIFS関数を使った複数条件での集計
- ワイルドカードや比較演算子の活用テクニック
- 実務でよく使われる具体的な活用例
- よくあるエラーと解決方法
これを読めば、複雑な条件での集計が自由自在にできるようになり、データ分析の効率が大幅に向上しますよ。
条件付き合計が必要な理由

通常のSUM関数の限界
基本的なSUM関数
=SUM(範囲)
- 全データを合計:条件に関係なくすべて足し算
- 選択的集計不可:特定条件のみの抽出ができない
実際の問題例
売上データ:
支店 | 売上
東京 | 100
大阪 | 150
東京 | 200
名古屋| 120
=SUM(B2:B5) → 570(全支店の合計)
欲しい結果:東京支店のみの合計 = 300
条件付き集計の重要性
ビジネスでの必要性
- 部門別分析:特定部門の業績確認
- 地域別集計:エリア別の売上分析
- 商品別集計:カテゴリごとの実績把握
- 期間限定集計:特定期間のデータ抽出
データ分析での価値
- セグメント分析:顧客層別の購買分析
- トレンド分析:時系列での変化追跡
- 比較分析:異なる条件での比較検討
SUMIF関数の基本
基本構文と使い方
書式
=SUMIF(条件範囲, 条件, 合計範囲)
パラメーターの説明
- 条件範囲:条件を判定するセル範囲
- 条件:満たすべき条件(文字列、数値、演算子)
- 合計範囲:実際に合計するセル範囲
基本的な使用例
例1:特定の支店の売上合計
データ:
A | B
支店 | 売上
東京 | 100
大阪 | 150
東京 | 200
名古屋 | 120
=SUMIF(A2:A5, "東京", B2:B5)
結果:300(東京支店の合計)
例2:特定の商品カテゴリの売上
データ:
商品カテゴリ | 売上
電子機器 | 500
衣料品 | 300
電子機器 | 400
食品 | 200
=SUMIF(A2:A5, "電子機器", B2:B5)
結果:900(電子機器の合計)
様々な条件の指定方法
文字列条件
=SUMIF(A2:A10, "東京", B2:B10) // 完全一致
=SUMIF(A2:A10, "<>東京", B2:B10) // 東京以外
数値条件
=SUMIF(B2:B10, ">100", B2:B10) // 100より大きい
=SUMIF(B2:B10, ">=500", B2:B10) // 500以上
=SUMIF(B2:B10, "<200", B2:B10) // 200未満
セル参照を使った条件
=SUMIF(A2:A10, C1, B2:B10) // C1セルの値と一致
=SUMIF(B2:B10, ">"&D1, B2:B10) // D1セルの値より大きい
SUMIFS関数による複数条件集計

基本構文
書式
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
SUMIFとの違い
- SUMIF:条件範囲 → 条件 → 合計範囲
- SUMIFS:合計範囲 → 条件範囲1 → 条件1 → 条件範囲2 → 条件2…
実用的な使用例
例1:支店と担当者の両方で絞り込み
データ:
支店 | 担当者 | 売上
東京 | 田中 | 100
東京 | 山田 | 150
大阪 | 田中 | 200
東京 | 田中 | 250
=SUMIFS(C2:C5, A2:A5, "東京", B2:B5, "田中")
結果:350(東京支店の田中さんの合計)
例2:商品と価格帯の組み合わせ
データ:
商品 | 価格 | 売上個数
パソコン | 1000 | 5
スマホ | 800 | 10
パソコン | 1200 | 3
タブレット| 600 | 7
=SUMIFS(C2:C5, A2:A5, "パソコン", B2:B5, ">=1000")
結果:8(価格1000以上のパソコンの売上個数)
複雑な条件の組み合わせ
3つ以上の条件
=SUMIFS(売上, 支店, "東京", 担当者, "田中", 商品, "パソコン")
日付範囲での条件
=SUMIFS(売上, 日付, ">=2024/1/1", 日付, "<=2024/3/31", 支店, "東京")
数値範囲の条件
=SUMIFS(個数, 価格, ">=500", 価格, "<=1000", カテゴリ, "電子機器")
ワイルドカードと演算子の活用
ワイルドカードの使用
基本的なワイルドカード
- *:任意の文字列(0文字以上)
- ?:任意の1文字
- ~:エスケープ文字(*や?を文字として扱う)
実用例
部分一致での検索
=SUMIF(商品名, "スマート*", 売上) // "スマート"で始まる
=SUMIF(商品名, "*プロ", 売上) // "プロ"で終わる
=SUMIF(商品名, "*限定*", 売上) // "限定"を含む
1文字だけ異なる場合
=SUMIF(商品コード, "A?01", 売上) // A○01の形式
比較演算子の活用
数値比較
=SUMIF(売上, ">100", 売上) // 100より大きい
=SUMIF(売上, ">=100", 売上) // 100以上
=SUMIF(売上, "<100", 売上) // 100より小さい
=SUMIF(売上, "<=100", 売上) // 100以下
=SUMIF(売上, "<>100", 売上) // 100以外
日付比較
=SUMIF(日付, ">2024/1/1", 売上) // 2024年1月1日より後
=SUMIF(日付, ">=TODAY()", 売上) // 今日以降
=SUMIF(日付, "<TODAY()-30", 売上) // 30日前より前
文字列比較
=SUMIF(担当者, "<>田中", 売上) // 田中以外
=SUMIF(支店, "大*", 売上) // "大"で始まる支店
実務での活用例

売上分析での活用
地域別売上集計
// 関東地方の売上
=SUMIF(都道府県, "東京", 売上) +
SUMIF(都道府県, "神奈川", 売上) +
SUMIF(都道府県, "埼玉", 売上)
// より効率的な書き方
=SUMIFS(売上, 地域, "関東")
商品カテゴリ別分析
// 高額商品(10万円以上)の売上
=SUMIF(価格, ">=100000", 売上個数)
// 特定ブランドの売上
=SUMIF(ブランド, "Apple", 売上)
担当者別実績
// 営業部の田中さんの売上
=SUMIFS(売上, 部署, "営業部", 担当者, "田中")
// 今四半期の実績
=SUMIFS(売上, 日付, ">="&DATE(2024,1,1), 日付, "<="&DATE(2024,3,31))
在庫管理での活用
在庫レベル分析
// 在庫切れ商品の発注金額
=SUMIFS(発注金額, 在庫数, "<=0")
// 過剰在庫商品の評価額
=SUMIFS(評価額, 在庫数, ">100", カテゴリ, "電子機器")
倉庫別集計
// 東京倉庫の在庫総額
=SUMIFS(評価額, 倉庫, "東京", 状態, "正常")
人事データでの活用
給与集計
// 営業部の給与総額
=SUMIFS(給与, 部署, "営業部")
// 管理職の手当合計
=SUMIFS(手当, 役職, "*管理*")
勤怠分析
// 有給取得時間の合計
=SUMIF(勤怠種別, "有給", 時間)
// 残業時間が多い社員の合計
=SUMIFS(残業時間, 残業時間, ">40")
プロジェクト管理での活用
コスト分析
// 開発フェーズのコスト
=SUMIFS(コスト, フェーズ, "開発", プロジェクト, "A案件")
// 外部委託費の合計
=SUMIF(費用種別, "*外部*", 金額)
よくあるエラーと解決方法
範囲サイズの不一致
問題:#VALUE!エラー
原因:条件範囲と合計範囲の行数が異なる
// 間違った例
=SUMIF(A2:A10, "東京", B2:B5) // 範囲サイズが不一致
// 正しい例
=SUMIF(A2:A10, "東京", B2:B10) // 範囲サイズが一致
文字列の不一致
問題:期待した結果にならない
原因:余分なスペースや文字種の違い
// 問題のあるデータ
"東京 " // 末尾にスペース
" 東京" // 全角スペース
// 解決方法
=SUMIF(TRIM(A2:A10), "東京", B2:B10) // スペース除去
数値と文字列の混在
問題:数値条件が機能しない
原因:数値が文字列として保存されている
// 解決方法1:VALUE関数で変換
=SUMIF(VALUE(A2:A10), ">100", B2:B10)
// 解決方法2:文字列として比較
=SUMIF(A2:A10, ">100", B2:B10)
日付の問題
問題:日付条件が機能しない
原因:日付形式の不整合
// 問題のある例
=SUMIF(日付, "2024/1/1", 売上) // 文字列として比較
// 正しい例
=SUMIF(日付, DATE(2024,1,1), 売上) // DATE関数を使用
=SUMIF(日付, ">=2024/1/1", 売上) // 文字列比較でも可
高度な応用テクニック

配列数式との組み合わせ
複数条件のOR判定
=SUM(SUMIF(支店, {"東京","大阪","名古屋"}, 売上))
動的な条件範囲
=SUMIF(INDIRECT("A2:A"&COUNTA(A:A)), 条件, INDIRECT("B2:B"&COUNTA(B:B)))
他の関数との組み合わせ
平均との組み合わせ
// 条件付き平均
=SUMIFS(売上, 支店, "東京") / COUNTIFS(支店, "東京")
// またはAVERAGEIFS関数
=AVERAGEIFS(売上, 支店, "東京")
MAX/MINとの組み合わせ
// 条件付き最大値
=MAXIFS(売上, 支店, "東京", 担当者, "田中")
VLOOKUP等との連携
マスターデータとの照合
=SUMIFS(売上, 商品コード, VLOOKUP(商品名, マスター, 2, FALSE))
パフォーマンスの最適化
大量データでの高速化
範囲の最適化
// 非効率な例
=SUMIF(A:A, "東京", B:B) // 列全体を参照
// 効率的な例
=SUMIF(A2:A1000, "東京", B2:B1000) // 必要な範囲のみ
計算方法の最適化
// 複数のSUMIFより効率的
=SUMPRODUCT((支店="東京")*(担当者="田中")*売上)
動的範囲の活用
テーブル機能の活用
=SUMIFS(テーブル1[売上], テーブル1[支店], "東京")
名前定義の活用
// 名前定義: 売上データ = A2:B1000
=SUMIF(INDEX(売上データ,0,1), "東京", INDEX(売上データ,0,2))
まとめ
Excelの条件付き合計関数は、データ分析において非常に強力なツールです。適切に使い分けることで、効率的で正確な集計が可能になります。
基本的な使い分け
SUMIF関数
- 用途:単一条件での合計
- 書式:
=SUMIF(条件範囲, 条件, 合計範囲)
- 適用場面:シンプルな条件での集計
SUMIFS関数
- 用途:複数条件での合計
- 書式:
=SUMIFS(合計範囲, 条件範囲1, 条件1, ...)
- 適用場面:複雑な条件での精密な集計
効果的な活用のポイント
条件指定のコツ
- ワイルドカード:部分一致での柔軟な検索
- 比較演算子:数値や日付の範囲指定
- セル参照:動的な条件設定
エラー回避の方法
- 範囲サイズの統一:条件範囲と合計範囲を同じサイズに
- データ品質の確保:余分なスペースや文字種の統一
- 適切な関数選択:用途に応じたSUMIF/SUMIFSの使い分け
コメント