Excelで条件付きの合計を出すには?SUMIFとSUMIFSの使い方をやさしく解説

Excel

「売上データから”東京”だけの合計を出したい」「特定の担当者×商品に絞った合計を知りたい」そんなときに便利なのが、Excel(エクセル)の条件付き合計関数です。

単なる=SUM()では目的の結果が出ませんが、SUMIFSUMIFSを使えば、指定条件に合うデータだけを正確に集計できます。

この記事では、以下について詳しく解説します:

  • 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の使い分け

コメント

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