「東京で売れた商品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件と数えるため、重複を除いた購入者数を求める関数としては使えません。

集計セルは元データの範囲外に置きます。例えばE列より右へ結果欄を作り、A2:C6に集計式を混ぜないようにします。見出しを含めるかどうかよりも、各範囲の同じ位置が同じ明細に対応していることが重要です。
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・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Excel】オートフィル(右下の+)が効かない!ドラッグできない時のオプション有効化設定
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【PDF】EdgeでPDFを開くと印刷できない・プリンタ一覧が出ない時のブラウザ再起動とシステムダイアログ
- 【Word】差し込み印刷の金額にカンマを付ける方法|小数・0・空欄の確認
- 【Outlook】祝日が表示されない・重複する時の対処|追加方法と対象年の確認
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 保存せずに閉じたExcel・Wordを復元する方法|自動回復・未保存ファイル・履歴の確認
- 【Excel】COUNTAでセルの個数を数える方法|空文字・空白・COUNTとの違い
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】入力した文字のフォント・サイズ・色を変更する方法|注釈とフォームの違い
