Excelで集計作業をしていると、「単価に数量を掛け算して、その合計を出したい」という場面がよくあります。
通常であれば、まず右側の列に「単価×数量」という計算式を入れて一行ずつ計算し、最後にその列をSUM関数で合計する、という手順を踏むはずです。しかし、データ量が多くなると、この「作業用の列」をいくつも作るのは手間ですし、シートが見づらくなってしまいます。
そんなときに役立つのが「SUMPRODUCT(サムプロダクト)関数」です。この関数を使えば、わざわざ作業列を作らなくても、一つの数式だけで「掛けてから合計する」という計算を完結させることができます。
今回は、Excel初心者の方に向けて、SUMPRODUCT関数の仕組みから具体的な設定方法、そして使う際の注意点まで、わかりやすく解説します。
SUMPRODUCT関数とは?「掛け算」と「合計」を同時に行う関数
SUMPRODUCT関数は、その名前の通り「SUM(合計)」と「PRODUCT(積=掛け算)」を組み合わせた関数です。
具体的にどのような動作をするのかというと、「指定した範囲(配列)の対応する要素同士を掛け合わせ、その結果をすべて合計した値」を算出します。
例えば、以下のような商品リストがあったとします。
- 商品A:単価100円 × 個数2個
- 商品B:単価200円 × 個数3個
- 商品C:単価300円 × 個数1個
これを普通に計算すると、「(100×2) + (200×3) + (300×1) = 200 + 600 + 300 = 1,100円」となりますよね。SUMPRODUCT関数はこの一連の流れを、一つのセルの中で自動的に行ってくれる便利な関数なのです。
SUMPRODUCT関数の基本の使い方と設定手順
それでは、実際にどのように数式を入力すればよいのか、具体的な手順を見ていきましょう。
基本の構文(書き方)
SUMPRODUCT関数の基本的な書式は以下の通りです。
`=SUMPRODUCT(配列1, [配列2], [配列3], …)`
ここでいう「配列」とは、計算対象となるセルの範囲のことです。
具体的な操作手順
例えば、B2からB5に「単価」が、C2からC5に「数量」が入っている状態で、合計金額を求めたい場合は次のように入力します。
- 関数の入力開始
結果を表示させたいセルに「`=SUMPRODUCT(`」と入力します。
- 1つ目の範囲(配列1)を指定
単価の範囲である「`B2:B5`」を選択し、区切り文字の「`,`(カンマ)」を入力します。
- 2つ目の範囲(配列2)を指定
数量の範囲である「`C2:C5`」を選択し、閉じカッコ「`)`」を入力します。
- 数式の確定
Enterキーを押せば計算が完了します。
入力した数式は `=SUMPRODUCT(B2:B5, C2:C5)` となります。これにより、Excel内部で「B2×C2」「B3×C3」「B4×C4」「B5×C5」をそれぞれ計算し、最後にその4つの答えを足し合わせてくれます。
3つ以上の範囲を掛けることも可能
SUMPRODUCT関数の便利な点は、2つの範囲だけでなく、3つ以上の範囲を掛け合わせることができる点です。
例えば、「単価 × 数量 × 利益率」という計算をして、全体の利益合計を出したい場合は、引数に3つの範囲を指定します。
`=SUMPRODUCT(単価の範囲, 数量の範囲, 利益率の範囲)`
このように、引数をどんどん足していくことで、複雑な掛け算の合計もシンプルに計算できます。
【応用】条件付きの集計に活用する方法
SUMPRODUCT関数は単なる掛け算の合計だけでなく、他の仕組みと組み合わせることで「条件に合うデータだけを合計する」という使い方も可能です。
例えば、「販売数が3個以上の商品だけの利益計を求めたい」という場合、論理式を組み込むことができます。
Excelでは「`=C1>=3`」のような数式を使うと、条件を満たしていれば「TRUE(真)」、満たしていなければ「FALSE(偽)」という値を返します。この論理的な判断をSUMPRODUCT関数の中で行うことで、実質的にSUMIF関数のような条件付き集計を行うことができます。
具体的には、「条件に一致すれば1、そうでなければ0」として扱う計算を組み込むことで、特定の条件に合致する行だけを計算に含め、それ以外をゼロにして合計するという仕組みです。
SUMPRODUCT関数を使う際の重要な注意点
非常に便利な関数ですが、正しく動作させるためには絶対に守らなければならないルールがあります。ここを間違えるとエラーが発生するため注意してください。
1. 範囲のサイズ(行数・列数)を一致させる
これが最も多いエラーの原因です。SUMPRODUCT関数では、指定するすべての配列(範囲)の大きさが同じである必要があります。
- 正しい例: `=SUMPRODUCT(B2:B10, C2:C10)` → 両方とも9行分で一致している。
- 間違いな例: `=SUMPRODUCT(B2:B10, C2:C5)` → 片方は9行、もう片方は4行のため、エラーになる。
配列の大きさが異なると、Excelはどのセルとどのセルを掛け合わせればよいか判断できず、エラーを返してしまいます。範囲を選択するときは、開始セルと終了セルが揃っているか必ず確認しましょう。
2. 参照範囲を広げすぎない(パフォーマンスへの影響)
「データがどこまで増えるかわからないから」と、`A:A`のように列全体を指定したり、`A1:A10000`のように過剰に広い範囲を指定したりすることがあります。
しかし、SUMPRODUCT関数は指定された範囲のすべての要素を計算しようとするため、参照範囲が大きすぎるとExcelの動作が非常に重くなることがあります。必要なデータがある範囲だけをピンポイントで指定することを推奨します。
配列数式との違いについて
解説の中で「配列数式」という言葉が出てきました。Excelには、`Ctrl + Shift + Enter` キーで確定させることで、複数のセルをまとめて計算させる「配列数式」という機能があります。
例えば、`=SUM(B4:B7*C4:C7)` という数式を入力して `Ctrl + Shift + Enter` で確定させると、数式が `{ }`(中カッコ)で囲まれ、SUMPRODUCT関数と同じ結果を導き出します。
しかし、SUMPRODUCT関数は「配列数式」ではないため、通常の `Enter` キーだけで確定でき、誰が見ても数式の意味がわかりやすいというメリットがあります。特にMicrosoft 365などの最新バージョンでは「Spill(動的配列数式)」機能により扱いが変わっていますが、基本的にはSUMPRODUCT関数を使う方がシンプルで扱いやすいと言えるでしょう。
まとめ:SUMPRODUCT関数で集計を効率化しよう
SUMPRODUCT関数を使いこなせると、これまでにかかっていた「作業列を作成する手間」を大幅に削減できます。
改めてポイントをまとめます。
- 役割: 「範囲同士の掛け算」を行い、その「合計」を一度に出す。
- メリット: 作業列を作らなくて済むため、シートがスッキリし、時短になる。
- 基本の書き方: `=SUMPRODUCT(範囲1, 範囲2)`。
- 注意点: 指定する範囲の行数・列数は必ず一致させること。
「単価×数量」や「単価×数量×利益率」といった計算が必要な集計表を作成するときは、ぜひこのSUMPRODUCT関数を活用してみてください。一度慣れてしまえば、Excelでの集計作業が格段にスムーズになります。
ピックアップ記事



