Excelには数多くの関数がありますが、「SUMPRODUCT(サムプロダクト)」関数は意外と知られていない“多機能な関数”のひとつです。
単純な掛け算と合計だけでなく、条件付き集計やフィルタのような操作もできるため、IF関数やVLOOKUP関数に頼りがちな方にとっては強力な武器になります。
本記事では、初心者にもわかる基本の使い方から、業務でも役立つ応用テクニックまで、SUMPRODUCT関数の魅力を丁寧に解説していきます。
SUMPRODUCT関数は、複数の配列(範囲)を掛け合わせてその合計を求める関数です。
例えば、商品ごとの「単価」と「数量」の積をすべて合計するといった処理が、簡単な式で実現できます。
=SUMPRODUCT(配列1, 配列2, …)
商品 | 単価 | 数量 |
---|---|---|
A | 100 | 2 |
B | 200 | 3 |
C | 150 | 1 |
=SUMPRODUCT(B2:B4, C2:C4)
結果:100×2 + 200×3 + 150×1 = 200 + 600 + 150 = 950
SUMPRODUCT関数は**「同じサイズの配列同士でないと正しく動作しない」**という特徴があります。
たとえば、3行×1列の配列と2行×1列の配列を掛けようとするとエラーになります。
また、配列同士の対応は**「同じ行または列同士」**で行われるため、範囲指定のミスに注意が必要です。
SUMPRODUCT関数は条件付き集計でも活躍します。
たとえば、「商品Aだけの売上を合計したい」といった場合もIF関数なしで対応できます。
=SUMPRODUCT((A2:A4="A")*(B2:B4)*(C2:C4))
解説:
(A2:A4="A")
→ 条件に合う場合「1」、合わない場合「0」を返す*(B2:B4)*(C2:C4)
→ 条件に合う行だけが掛け算対象になるこれにより、商品Aだけの売上が自動で算出されます。
AND条件やOR条件もSUMPRODUCTで表現できます。
excelコピーする編集する=SUMPRODUCT((A2:A4="A")*(C2:C4>=2)*(B2:B4)*(C2:C4))
=SUMPRODUCT(((A2:A4="A")+(A2:A4="B"))*(B2:B4)*(C2:C4))
※足し算 +
を使うことで、いずれかの条件に合えば対象にできます。
SUMPRODUCTでは空白セルやエラー値があると、計算が不正になる場合があります。
そのような時はIFERROR
やISNUMBER
などと組み合わせて、対象外とする工夫が必要です。
=SUMPRODUCT((ISNUMBER(B2:B4))*(B2:B4))
このようにすることで、テキストが混じっていても安心して集計できます。
件数をカウントしたい場合でも、SUMPRODUCTは役立ちます。
実際、COUNTIFS
関数のような役割を果たすこともできます。
=SUMPRODUCT((A2:A10="A")*1)
TRUE/FALSEを1/0に変換して、合計で件数をカウントできます。
他の関数と組み合わせることで、より高度なデータ分析が可能になります。
日付や文字列を条件に含めたいときに役立ちます。
=SUMPRODUCT((TEXT(D2:D10,"yyyy")="2025")*(E2:E10))
→ 2025年のデータだけ集計
参照範囲を動的に変えたいときに活躍します。
実務では以下のようなケースで非常に便利です。
担当者 | 部署 | 売上 |
---|---|---|
田中 | A | 1000 |
鈴木 | B | 2000 |
佐藤 | A | 1500 |
excelコピーする編集する=SUMPRODUCT((B2:B4="A")*(C2:C4))
結果:部署Aの売上 = 1000 + 1500 = 2500
関数名 | 特徴 |
---|---|
SUMPRODUCT | 複雑な条件、掛け算、複数条件に強い |
SUMIF | 単一条件の合計に便利 |
COUNTIFS | 件数カウントに特化、複数条件OK |
IF関数+SUM | 柔軟性あり、式が長くなりがち |
まとめると、SUMPRODUCTは柔軟で万能だが、少しクセがあるため慣れが必要です。
SUMPRODUCT関数は、単なる掛け算の合計だけでなく、条件付き集計、件数カウント、複数条件の絞り込みなど、Excelでの分析作業を飛躍的に効率化してくれる強力なツールです。
最初は少し難しく感じるかもしれませんが、今回紹介した基本から応用までの例を実際に試してみることで、徐々に理解が深まるはずです。
Excelで一歩先の分析力を身につけたい方は、ぜひSUMPRODUCT関数を日常業務に取り入れてみてください。