COUNTIFS・SUMIFS完全ガイド ― 複数条件の件数カウント・合計集計

「東京支店かつ営業部の件数は?」「A商品で売上10万以上の合計は?」といった複数条件の集計を、VBA不要・FILTER不要で実現する方法をすべて解説します。Excel 2016・2019でも完全動作します。

💡 まず整理:COUNTIF系・SUMIF系の使い分け

データテーブル
関数やること条件数
COUNTIF1条件に合う 件数 をカウント1つ
COUNTIFS複数条件に合う 件数 をカウント127条件まで
SUMIF1条件に合う行の 合計 を集計1つ
SUMIFS複数条件に合う行の 合計 を集計127条件まで
AVERAGEIFS複数条件に合う行の 平均 を集計127条件まで
MAXIFS / MINIFS複数条件に合う行の 最大・最小 を集計Excel 2019以降

🔢 COUNTIFS の基本構文

=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)

サンプルデータ:売上明細

データテーブル
A: 支店B: 部署C: 売上
東京営業部120,000
東京企画部85,000
大阪営業部200,000
東京営業部95,000
大阪企画部110,000

例①:東京支店かつ営業部の件数

=COUNTIFS(A:A, "東京", B:B, "営業部") // → 2(1行目と4行目)

例②:条件をセル参照で指定(より実用的)

// E1に「東京」、F1に「営業部」が入力されている場合 =COUNTIFS(A:A, E1, B:B, F1)
💡 条件をセル参照にする利点
集計条件をセルに入力して参照することで、条件を変えるたびに数式を書き直さずに済む「動的な集計」が作れます。

例③:数値の比較演算子(文字列で指定)

// 売上が10万以上の件数 =COUNTIFS(C:C, ">=100000") // セル参照と組み合わせる場合(E1に100000が入力) =COUNTIFS(C:C, ">="&E1)

➕ SUMIFS の基本構文

=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
⚠️ SUMIFとSUMIFSは引数の順番が違う!
SUMIF:=SUMIF(条件範囲, 条件, 合計範囲)(合計範囲が最後)
SUMIFS:=SUMIFS(合計範囲, 条件範囲1, 条件1...)(合計範囲が最初)
複数条件を使う場合はSUMIFSに統一することをお勧めします。

例①:東京支店の売上合計

=SUMIFS(C:C, A:A, "東京") // → 300,000(120,000 + 85,000 + 95,000)

例②:東京支店かつ営業部の売上合計

=SUMIFS(C:C, A:A, "東京", B:B, "営業部") // → 215,000(120,000 + 95,000)

例③:期間を指定した合計(日付の範囲検索)

// D列が日付列の場合、2026年4月の売上合計 =SUMIFS(C:C, D:D, ">="&DATE(2026,4,1), D:D, "<="&DATE(2026,4,30)) // E1に開始日・F1に終了日を入力しておく場合 =SUMIFS(C:C, D:D, ">="&E1, D:D, "<="&F1)

📊 応用:クロス集計表を作る

「縦軸=支店、横軸=部署」のクロス集計表を、COUNTIFS・SUMIFSで一気に作る方法です。

// 集計表のレイアウト: // 行ヘッダー(E列)に支店名、列ヘッダー(F1〜H1)に部署名が入っている // セルF2の数式(下・右にコピーできる形): =SUMIFS($C:$C, $A:$A, $E2, $B:$B, F$1)
💡 混合参照を使ってコピーを効率化
$E2 → E列は固定・行は変動(下コピーで支店が変わる)
F$1 → 列は変動・1行は固定(右コピーで部署が変わる)
この混合参照の組み合わせで、1つの数式を全セルにコピーするだけでクロス集計表が完成します。

🔧 よく使う応用パターン集

① ワイルドカードで部分一致

// 「東京」を含む支店名すべてをカウント(東京本社・東京支店など) =COUNTIFS(A:A, "*東京*") // 「営業」で終わる部署名 =COUNTIFS(B:B, "*営業")

② 空白・非空白のカウント

// C列が空白(未入力)の件数 =COUNTIFS(C:C, "") // C列に何か入力されている件数 =COUNTIFS(C:C, "<>"&"")

③ AVERAGEIFS で複数条件の平均

// 東京支店・営業部の平均売上 =AVERAGEIFS(C:C, A:A, "東京", B:B, "営業部")

④ MAXIFS・MINIFS(Excel 2019以降)

// 東京支店の最高売上(Excel 2019以降) =MAXIFS(C:C, A:A, "東京") // Excel 2016の場合:配列数式で代替 =MAX(IF(A2:A100="東京", C2:C100)) ← Ctrl+Shift+Enter
⚠️ MAXIFS/MINIFSはExcel 2019から
Excel 2016 にはMAXIFS・MINIFSが存在しません。2016では上記のMAX+IF配列数式(Ctrl+Shift+Enter)で代替してください。

📗 関連記事(旧バージョン向け)