【Excel】SUMIFSとCOUNTIFSの違い:複数条件で金額と件数を集計する

【Excel】SUMIFSとCOUNTIFSの違い:複数条件で金額と件数を集計する
🛡️ 超解決

「東京で売れた商品Aの売上はいくらか」ならSUMIFS、「東京で売れた商品Aの明細は何件か」ならCOUNTIFSを使います。条件が同じでも、金額の合計と一致する件数は別の結果です。数量の合計や顧客の人数とも区別して、最初に何を数えるかを決めましょう。

以下は1行を1件の売上明細とする例です。金額は数値、日付はExcelが日付として扱える値で入力します。文字列の「100円」や「4月」ではなく、計算できる元データを用意してから式を組み立てます。

ADVERTISEMENT

1. 同じ条件で「合計」と「件数」を見比べる

A1:C1に「地域」「商品」「金額」の見出しを作り、2~6行目に次の5件を入力します。東京かつ商品Aという条件に一致するのは2行目と5行目で、金額は1000と1500です。

行・地域 商品 金額
2・東京 A 1000
3・東京 B 2000
4・大阪 A 3000
5・東京 A 1500
6・大阪 B 500

この条件のSUMIFSは2500、COUNTIFSは2です。金額が1500だから1500件になるわけではありません。また同じ人が2回購入した明細ならCOUNTIFSは2件と数えるため、重複を除いた購入者数を求める関数としては使えません。

5件の明細のうち東京かつ商品Aは2行目1000と5行目1500。SUMIFSは両金額を足して2500、COUNTIFSは一致する明細を数えて2となる。
対象の行は同じでも、SUMIFSは金額、COUNTIFSは一致件数を返す。

集計セルは元データの範囲外に置きます。例えばE列より右へ結果欄を作り、A2:C6に集計式を混ぜないようにします。見出しを含めるかどうかよりも、各範囲の同じ位置が同じ明細に対応していることが重要です。

※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. SUMIFSは最初に合計する範囲を書く

空いているセルへ次の式を入力します。C2:C6が足す金額、A2:A6が地域を調べる範囲、B2:B6が商品を調べる範囲です。文字の条件は半角の二重引用符で囲みます。

=SUMIFS(C2:C6,A2:A6,"東京",B2:B6,"A")

結果が2500になったら、1000+1500という手計算と比べます。商品条件をBへ変えれば、東京の商品Bは3行目だけなので2000です。地域を大阪、商品をAへ変えると3000になります。条件を一つずつ変えると、地域列と商品列を取り違えていないかが分かります。

SUMIFでは合計範囲が第3引数ですが、SUMIFSでは先頭です。既存のSUMIFにSだけを追加しても、引数の位置が変わるため正しい式にはなりません。一つの条件ならSUMIFでも十分であり、SUMIFSのほうが計算の精度が高いという違いではありません。

一致する行があっても、金額が文字列なら期待する合計に含まれない原因になります。0が返ったときは「対象がない」と即断せず、条件と金額のデータ型を両方確認してください。

3. COUNTIFSは条件の組を並べて数える

COUNTIFSには合計範囲を指定しません。条件範囲と条件を組にして並べます。同じデータで東京の商品Aの明細数を求める式は次のとおりです。

=COUNTIFS(A2:A6,"東京",B2:B6,"A")

結果は2です。さらに「金額が1200以上」を加えると、1000の行は対象外になり、1500の5行目だけが残るため1件になります。

=COUNTIFS(A2:A6,"東京",B2:B6,"A",C2:C6,">=1200")

複数の条件は基本的にAND、つまりすべてを満たす必要があります。同じ地域列に「東京」と「大阪」を別々の条件として並べても、一つのセルが両方に一致しないため、東京または大阪というOR条件にはなりません。

東京分と大阪分を別々に数えて加算する方法なら、この2条件は重ならないので二重計上しません。しかし「商品A」と「金額1200以上」の件数を単純に足すと、両方に当てはまる行を二重に数えます。OR条件は、対象の重なりまで決めてから集計します。

4. 条件をセルに置き、日付は範囲で指定する

E2に東京、F2にAを入力し、結果をG2へ出すなら、次のように条件セルを参照できます。コピーして条件一覧を作るときは、元データの範囲を固定し、E2とF2は行に応じて変わるようにします。

=SUMIFS($C$2:$C$6,$A$2:$A$6,E2,$B$2:$B$6,F2)

金額の基準をH2に1200として置くなら、比較条件は">="&H2と書きます。引用符の中にH2を書いた">=H2"では、H2セルの値を読み取る条件になりません。

日付を加える例では、D2:D6に順に2026/4/1、2026/4/10、2026/4/15、2026/4/30、2026/5/1を入力します。東京の商品Aで2026年4月に該当する合計は、次の式で2500です。

=SUMIFS(C2:C6,A2:A6,"東京",B2:B6,"A",D2:D6,">="&DATE(2026,4,1),D2:D6,"<"&DATE(2026,5,1))

月だけの「4月」と比較するのではなく、開始日以上・翌月初日未満とします。年を区別でき、4月30日に時刻が含まれていても、その日の分を対象にできます。日付に見える文字列は、表示形式を変えるだけでは正しい日付値になるとは限りません。

5. ワイルドカードは一致範囲を確認して使う

文字の条件では、*が0文字以上の任意の文字列、?が任意の1文字に一致します。例えば"商品??"は商品01に一致しますが、商品100には一致しません。アスタリスクそのものを探すときは"~*"のように、直前へ~を付けます。

"*株式会社"は末尾が株式会社の文字列に一致し、"*株式会社*"は途中に株式会社を含む文字列にも一致します。便利だからとすべての条件を*で囲むと、本来対象にしたくない名称まで含めます。集計したい集合を、実際の会社名や商品名で確認してください。

ワイルドカードは前後の余計な空白、全角・半角の違い、表記揺れをすべて自動修正する機能ではありません。まず元データの入力ルールをそろえ、必要な場合だけ部分一致にします。

6. 範囲のずれと0の原因を切り分ける

SUMIFSでは合計範囲と各条件範囲、COUNTIFSでは各条件範囲の行数と列数をそろえます。C2:C6とA2:A5のような大きさの違いはエラーの原因です。同じ大きさでもC2:C6とA3:A7では明細の対応がずれ、期待しない結果になるため、開始行と終了行の両方を確認します。

原因が分からないときは、元の式を控え、まず地域だけの条件に減らします。東京の合計4500、件数3を確認してから、商品Aを追加し2500、2へ絞られるかを見ます。最初からIFERRORで0に置き換えると、範囲の間違いまで見えなくなります。

一致件数は正しいのに合計が小さい場合は、金額列の空白や文字列数値を確認します。フィルターで行を見えなくしても、この2関数が可視行だけを対象にするわけではありません。画面に見える行と、条件に一致する行を混同しないでください。

7. データ追加後の確認までを集計手順にする

固定範囲A2:C6の下へ明細を追加しても、式が必ず新しい行まで広がるとは限りません。追加後は集計範囲を確認するか、データをテーブルとして管理し、構造化参照で追従させる方法を検討します。全列参照を選ぶだけで、余計な集計値や将来の入力まで含める問題が消えるわけではありません。

練習では東京の商品Aの金額1000を1100へ変え、SUMIFSが2600、COUNTIFSが2のままになることを確認します。その後1000へ戻します。金額を変えたとき件数が変わらないという違いを確かめれば、二つの関数の役割が明確になります。

報告には対象期間と条件、合計の単位、件数が何を数えたものかを添えます。同じ2500と2でも、売上額と明細数なのか、数量と顧客数なのかで意味は変わります。式だけでなく集計の定義も残すことで、次回の更新時に結果を比較できます。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】