実務では、条件をつけて合計するとき、SUMIFは使わずにSUMIFSだけを使っています。条件が1つのときもSUMIFSです。
理由は、SUMIFとSUMIFSでは引数の順番が違うからです。条件が複数になるとSUMIFでは同じように書けず、2つの書き方を覚えるのは面倒です。SUMIFSにそろえておけば、条件が1つでも複数でも、同じ書き方で済みます。
この記事では、SUMIFSにそろえる理由と、SUMIFSではできない「または(OR)」の条件で合計する方法を紹介します。
なお、この記事の表や数字は説明のために作ったもので、実際に使っているExcelとは作りが違います。コードや数字も架空です。
例の表
「売上」という名前のテーブルを使います。
| 店舗コード | 商品コード | 数量 |
|---|---|---|
| 101 | 1001 | 3 |
| 101 | 1002 | 4 |
| 102 | 1001 | 5 |
| 102 | 1002 | 2 |
| 103 | 1001 | 6 |
SUMIFとSUMIFSは引数の順番が違う
店舗コード101の数量を合計する式を、SUMIFとSUMIFSで書くと次のようになります。
=SUMIF(売上[店舗コード],101,売上[数量])
=SUMIFS(売上[数量],売上[店舗コード],101)
どちらも結果は7です。
- SUMIF:条件範囲、条件、合計範囲の順。合計範囲が最後
- SUMIFS:合計範囲、条件範囲、条件の順。合計範囲が最初
同じことをする関数なのに、合計範囲の位置が逆になっています。
条件を足すときは後ろに付け足すだけ
店舗コード101で、商品コード1001の数量だけを合計したいときは、SUMIFSの後ろに条件範囲と条件を付け足します。
=SUMIFS(売上[数量],売上[店舗コード],101,売上[商品コード],1001)
結果は3です。
SUMIFは条件を1つしか書けないので、条件を足すときはSUMIFSに書き直すことになります。そのとき、合計範囲を最後から最初に移す必要があります。最初からSUMIFSで書いておけば、条件が増えても後ろに足すだけです。
テーブル名と列名で書く方法は、こちらの記事で紹介しています。

「または」で合計したいときはSUM(FILTER)
SUMIFSの条件は、すべてを満たす「かつ(AND)」です。「または(OR)」で合計したいときは、SUMIFSではできません。
そのときは、SUMとFILTERを組み合わせています。たとえば「店舗コードが101または102」かつ「商品コードが1001」を合計する式は次のとおりです。
=SUM(FILTER(売上[数量],((売上[店舗コード]=101)+(売上[店舗コード]=102))*(売上[商品コード]=1001),0))
結果は、101の商品コード1001の3と、102の商品コード1001の5を足して8です。
FILTERの条件では、+ が「または」、* が「かつ」の意味になります。掛け算は足し算より先に計算されるので、「101または102」の部分を外側のかっこで囲んでいます。かっこがないと、「101」または「102かつ1001」という意味に変わってしまいます。
注意すること
- 条件に合う行が1つもないと、FILTERはエラー(#CALC!)になり、SUMもエラーになります。FILTERの3つ目の引数に0を入れておくと、0になります
- FILTERは、条件の計算結果が0以外なら「合う」と判断します。
+でつないだ条件が両方当てはまる行があっても、二重には数えません - FILTERは、Microsoft 365やExcel 2021以降で使える関数です
SUMIFSを2つ足し算しても同じ結果は出せますが、条件が増えると式が長くなります。
まとめ
- SUMIFとSUMIFSは、合計範囲の位置が逆
- 条件が1つでもSUMIFSで書けば、書き方を1つ覚えるだけで済む
- 条件を足すときは、SUMIFSの後ろに付け足すだけ
- 「または」で合計したいときは、SUM(FILTER)で
+と*を使う - COUNTIFとCOUNTIFS、AVERAGEIFとAVERAGEIFSも同じ関係なので、IFSのほうにそろえておくと迷いません

