【Excel】SUMIFは使わずSUMIFSだけでいい|条件が1つでも同じ書き方、ORはSUM(FILTER)で

Excel・業務効率化

実務では、条件をつけて合計するとき、SUMIFは使わずにSUMIFSだけを使っています。条件が1つのときもSUMIFSです。

理由は、SUMIFとSUMIFSでは引数の順番が違うからです。条件が複数になるとSUMIFでは同じように書けず、2つの書き方を覚えるのは面倒です。SUMIFSにそろえておけば、条件が1つでも複数でも、同じ書き方で済みます。

この記事では、SUMIFSにそろえる理由と、SUMIFSではできない「または(OR)」の条件で合計する方法を紹介します。

なお、この記事の表や数字は説明のために作ったもので、実際に使っているExcelとは作りが違います。コードや数字も架空です。

例の表

「売上」という名前のテーブルを使います。

店舗コード商品コード数量
10110013
10110024
10210015
10210022
10310016

SUMIFとSUMIFSは引数の順番が違う

店舗コード101の数量を合計する式を、SUMIFとSUMIFSで書くと次のようになります。

=SUMIF(売上[店舗コード],101,売上[数量])
=SUMIFS(売上[数量],売上[店舗コード],101)

どちらも結果は7です。

  • SUMIF:条件範囲、条件、合計範囲の順。合計範囲が最後
  • SUMIFS:合計範囲、条件範囲、条件の順。合計範囲が最初

同じことをする関数なのに、合計範囲の位置が逆になっています。

条件を足すときは後ろに付け足すだけ

店舗コード101で、商品コード1001の数量だけを合計したいときは、SUMIFSの後ろに条件範囲と条件を付け足します。

=SUMIFS(売上[数量],売上[店舗コード],101,売上[商品コード],1001)

結果は3です。

SUMIFは条件を1つしか書けないので、条件を足すときはSUMIFSに書き直すことになります。そのとき、合計範囲を最後から最初に移す必要があります。最初からSUMIFSで書いておけば、条件が増えても後ろに足すだけです。

テーブル名と列名で書く方法は、こちらの記事で紹介しています。

【Excel】テーブルは設定するだけ|一手間で増えるメリットと注意点
Excelのテーブルは、設定するだけで式の自動入力や範囲の自動拡張など、便利なことがたくさん増えます。設定方法とメリット、使っていて気づいた注意点を紹介します。

「または」で合計したいときは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のほうにそろえておくと迷いません
タイトルとURLをコピーしました