結論: SUMIFS関数は、複数の条件をすべて満たす行だけを合計します。COUNTIFS関数は、条件に合う件数を数えます。書き方は、合計範囲、条件範囲1、条件1、…の順で、SUMIF(合計範囲が最後)と順番が違うので注意してください。結果が0になる時は、スペースや全角半角、文字列と数値の違いを疑います。
SUMIFSとCOUNTIFSとは
| 関数 | 何をするか |
|---|---|
| SUMIFS | 条件に合う行の、合計を出す |
| COUNTIFS | 条件に合う行の、件数を数える |
「東京で、商品Aの売上だけを合計したい」「担当が田中で、未完了の件数を知りたい」といった場面で使います。
書き方
=SUMIFS(合計範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …)
=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], …)
例:地域と商品で絞って合計する
| A列:地域 | B列:商品 | C列:売上 | |
|---|---|---|---|
| 2行目 | 東京 | A | 1000 |
| 3行目 | 大阪 | A | 2000 |
| 4行目 | 東京 | B | 1500 |
| 5行目 | 東京 | A | 500 |
| やりたいこと | 式 | 結果 |
|---|---|---|
| 東京で、商品Aの売上の合計 | =SUMIFS(C2:C5, A2:A5, "東京", B2:B5, "A") |
1500(1000+500) |
| 東京の件数 | =COUNTIFS(A2:A5, "東京") |
3 |
| 東京で、商品Aの件数 | =COUNTIFS(A2:A5, "東京", B2:B5, "A") |
2 |
| 売上が1000以上の合計 | =SUMIFS(C2:C5, C2:C5, ">=1000") |
4500(1000+2000+1500) |
条件は、すべてを満たす行だけが対象です(AND条件)。
条件の書き方
| 条件 | 書き方 |
|---|---|
| 文字が一致 | "東京" |
| 数値が1000以上 | ">=1000" |
| 数値が500未満 | "<500" |
| 完了以外 | "<>完了" |
| 「東京」で始まる | "東京*"(ワイルドカード) |
| セルの値以上 | ">="&E1 |
- 数の条件は、記号と数字を、引用符で囲みます(
">=1000") - セルの値と組み合わせる時は、
&でつなぎます(">="&E1) *は、任意の文字列、?は、任意の1文字を表します
日付で絞る
=SUMIFS(C2:C100, A2:A100, ">="&E1, A2:A100, "<="&E2)
E1に開始日、E2に終了日を入れると、その期間の合計が出ます。
SUMIFとの違い
| SUMIF | SUMIFS | |
|---|---|---|
| 条件の数 | 1つ | 複数 |
| 引数の順番 | 範囲、条件、合計範囲 | 合計範囲、条件範囲1、条件1 … |
合計範囲の位置が、SUMIFとSUMIFSで逆です。条件が1つでも、SUMIFSを使うと、あとから条件を足しやすくなります。
OR条件(AまたはB)で合計する
SUMIFSは、すべてを満たす行が対象です。「東京または大阪」を合計したい時は、次のように書きます。
=SUM(SUMIFS(C2:C5, A2:A5, {"東京","大阪"}))
または、SUMIFSの結果を、足し算します。
=SUMIFS(C2:C5, A2:A5, "東京") + SUMIFS(C2:C5, A2:A5, "大阪")
結果が0・エラーになる時
| 症状 | 原因 | 直し方 |
|---|---|---|
| 結果が0 | 見た目が同じでも、一致していない(スペース・全角半角) | TRIMや、表記の統一。条件の文字をコピーして試す |
| #VALUE! | 合計範囲と条件範囲の、行数・列数がそろっていない | 同じ大きさにそろえる |
| コピーするとずれる | 範囲が相対参照のまま | 範囲に$を付けて固定する(例:$A$2:$A$100) |
| 数値の条件が効かない | 数字が文字列になっている、条件の書き方 | 数値にそろえる。">=1000" のように書く |
数字が文字列になっている場合の直し方は、Excelの文字と数字の変換、先頭の0が消える場合は、先頭の0が消える時の対処をご覧ください。同じ値が重複している場合は、Excelで重複を見つけて削除する方法も参考になります。
集計の使い分け
| やりたいこと | 向く方法 |
|---|---|
| 条件に合う合計・件数を、数式で出す | SUMIFS・COUNTIFS |
| 表の値を探して取り出す | VLOOKUP・XLOOKUP |
| 項目別に、まとめて集計する | ピボットテーブル |
| 条件で値を切り替える | IF関数 |
条件が増えて、見出しごとの集計が必要になったら、ピボットテーブルのほうが、早いことがあります。
まとめ
- SUMIFSは、複数の条件をすべて満たす行を合計、COUNTIFSは件数を数える
- 引数は、**合計範囲、条件範囲1、条件1、…**の順。SUMIFとは、合計範囲の位置が逆
- 数の条件は、
">=1000"のように引用符で囲み、セルの値とは、">="&E1でつなぐ - 結果が0なら、スペース・全角半角・型の違い、**#VALUE!**なら、範囲の大きさを確認する
関連記事:VLOOKUP関数の使い方、XLOOKUP関数の使い方、IF関数の使い方、ピボットテーブルの使い方、Excelで重複を見つけて削除する方法