SUM/SUMIF/SUMIF -違いと使い分け-


SUM関数、SUMIF関数、SUMIFS関数に関して、取り上げました。

以降、SUM関数、SUMIF関数、SUMIFS関数をSUM関数シリーズと呼びます。

本記事では、SUM関数シリーズの違いと使い分けを関してお伝えできればと思いますが、
筆者の見解である点をご留意頂ければ幸いです。

SUM関数シリーズの違い

出来る範囲と制限

  • SUM関数:同じ範囲内の数値セルの合計を計算可能
    • SUM関数単体では条件を指定しての計算は不可 (※1)
      • 条件の数 = 0
  • SUMIF関数: 1つのみの条件に一致するセルの合計を計算可能
    • 1つ以上の条件の指定ができない
      • 条件の数 = 1
  • SUMIFS関数: 1つ以上の条件に基づいてセルの合計を計算可能
    • 条件の数が1以上が必須
      • 条件の数 >= 1
関数出来る範囲制限条件の数
SUM関数同じ範囲内の数値セルの合計を計算条件に基づいて合計を計算できない10
SUMIF関数1つのみ条件に一致するセルの合計を計算1つ以上条件の指定ができない1
SUMIFS関数1つ以上の条件に基づいてセルの合計を計算条件の数が1以上である必要がある1以上
  1. SUM関数の単体では条件に基づいて合計を計算することはできないが、IF関数を組み合わせて使用すれば、条件に応じて合計を計算できます。
    しかし、労力はかかりますし、間違いやすいです。
    SUMIF関数とSUMIFS関数の登場した背景が、SUM関数とIF関数を併用したいという考えからと筆者は考えています。 ↩︎

条件の数の重要性に関して

  • SUM関数は条件を指定することはできず、すべての数値を合計します
    • 条件の数 = 0
  • SUMIF関数は1つのみの条件を指定して一致するセルの合計を計算します
    • 条件の数 = 1
  • SUMIFS関数は、1つ以上の条件を指定できます。1つ以上の条件を満たすセルの合計を計算します
    • 条件の数 >= 1

つまり、関数の違いは条件の数です。

たった、それだけなのです。

それは関数名にも表れています。

関数名の違い

SUM/SUMIF/SUMIFS関数:違いと使い分け


関数名が違うのは当たり前じゃないかと思うかもしれません。

この関数名にこそ秘密があり、Microsoft社の想い、関数の意味が隠れています。

条件(IF)が足されて、SUMIF関数

複数形(S)の条件(IF)が足されて、SUMIFS関数

条件の「IF」に複数形の「S」が付与されています。

つまり、条件の数によって関数名が変わっているのです。
SUM関数シリーズの命名規則からも、「条件の数」が肝となっていることが分かりますね。

構文の違い

SUM(数値1,数値2,...)

SUMIF(範囲,条件,合計範囲)

SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2, …)

SUM関数は、範囲の合計計算に使う範囲を指定します。
つまり、合計範囲のみ、条件部分の引数がありません。

SUMIF関数は、範囲, 条件部分の引数が1つしかありません。

一方、SUMIFS関数は、
条件範囲1, 条件1, 条件範囲2, 条件2, …のように、
条件部分の引数が1つ以上存在します。

さらに、

SUMIFS関数はSUMIF関数とは異なり、

最初の引数として合計範囲を指定し、

その後に条件範囲と条件が続きます。
(SUMIF関数は、最初の引数として条件範囲と条件を指定し、その後に合計範囲が続きます)

これは、おそらく、条件部分の引数が増減するために、
このような順になっていると思われます。

ちなみに、SUM関数は初期、SUMIF関数は2007、SUMIFS関数は2010にリリースされています。
リリース後のため、引数の順序や表記揺れを統一できなかったのではないかと考えています。

使い分け

結論としては、

  • 条件がない場合は、SUM関数
  • 条件がある場合は、SUMIFS関数(条件の数が1つでも)

が良いでしょう。

SUM関数は自明の理です。

問題はSUMIF関数とSUMIFS関数の使い分けです。

なぜ、SUMIFS関数が良いのでしょうか。

汎化性能が最も高いのは、SUMIFS関数だからです。

いやいや、汎化性能は高いけど、引数が増えるので複雑さになるでしょう・・・

と思うかもしれません。

実はそんなことはありません。

なぜならば、条件が1つだからです。
条件が1つの場合は、SUMIF関数もSUMIFS関数も、引数の数は3つで同じです。

したがって、何も複雑ではありません。
慣れの問題です。

SUMIF関数とSUMIFS関数は、SUM関数の代用にもなる

SUMIF関数とSUMIFS関数はSUM関数の代用になります。

どういうことでしょうか。

SUMIF関数とSUMIFS関数の条件を、すべてのデータに合致する条件を指定すれば、
SUM関数と同じ結果になります。

例えば、男性のみデータのため、SUMIF関数/SUMIFS関数の条件を男性にすれば、
SUM関数は同じ結果になりますね。

実は、SUMIF関数とSUMIFS関数ですべてのSUM関数シリーズを代用できるのです

さらに、極論を言うと・・・

SUMIFS関数は、すべてのケースに対応できます。

最後に

SUM関数、SUMIF関数、SUMIFS関数は、
Excelで数値データを効率的に処理する際に強力なツールです。

これらの関数を適切に活用することで、
データの合計計算や条件に基づいたデータ抽出が簡単に行えます。

SUM関数は単純な合計計算に、
SUMIF関数は1つのみ条件のデータ抽出に、
そしてSUMIFS関数は1つ以上の条件の元でのデータ抽出に向いています。

条件の数に応じて、適切な関数を選択しましょう。
また、関数名に含まれるヒントを活用して、
条件の数に関する理解を深めることができます。

Excelの関数は、データ分析と効率化において強力な味方となることでしょう。

この記事を参考にして、Excelの関数を使いこなし、
データ処理のスキルを向上させてください。


参考記事

Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

参照形式に関する記事

関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。