cellio

ExcelのSUMPRODUCT関数の使い方:掛け算と足し算を一度に計算

SUMPRODUCT関数を使えば、作業列を作らずに単価×数量の合計や加重平均、複数条件でのカウント・合計が簡単に計算できます。基本構文から応用テクニックまで分かりやすく解説します。

著者 Ayoub Farid · · 3 分で読めます

SUMPRODUCT(サムプロダクト)関数は、2つ以上のセル範囲にある対応する数値を掛け合わせ、その積の合計を一度に算出するExcel関数です。つまり、売上計算用の作業列を追加することなく、単価と数量から合計売上額を1つの数式だけで求められます。

構文

=SUMPRODUCT(配列1, [配列2], ...)

合計売上額を計算する

ABC
1商品名単価数量
2エスプレッソ2.5034
3カフェラテ3.5041
4紅茶2.0018
=SUMPRODUCT(B2:B4,C2:C4)

計算結果:2.50×34 + 3.50×41 + 2.00×18 = 85 + 143.50 + 36 = 264.50

加重平均を求める

数量で重み付けした加重平均単価を算出します:

=SUMPRODUCT(B2:B4,C2:C4)/SUM(C2:C4)

詳しくは加重平均の計算方法をご覧ください。

条件を指定して計算する(すべてのExcelバージョンに対応)

D列のカテゴリが「Coffee」の売上額のみを合計する場合:

=SUMPRODUCT((D2:D50="Coffee")*B2:B50*C2:C50)

条件に一致する行は1(TRUE)、一致しない行は0(FALSE)となるため、「Coffee」以外の行はすべて0として計算されます。

2つの条件を同時に満たす行数をカウントする場合:

=SUMPRODUCT((D2:D50="Coffee")*(C2:C50>20))

使用時の注意点

  • 指定するすべての配列は同じサイズ(行数・列数)である必要があります。サイズが異なると #VALUE! エラーが発生します。
  • * 演算子で乗算するセル範囲に文字列が含まれているとエラーになります。あらかじめデータを整理しておきましょう。
  • 単純な条件付き合計を行いたい場合は、SUMIFS関数を使う方が数式がシンプルで読みやすくなります。

よくある質問

SUMPRODUCT関数は何をする関数ですか?

複数のセル範囲の対応する数値を掛け合わせ、その合計値を返す関数です。

SUMIFS関数ではなくSUMPRODUCT関数を使うべきなのはどんな時ですか?

複数の列を掛け合わせてから合計したい場合や、OR条件(いずれかを満たす)を使いたい場合、日付の一部を判定するなどSUMIFS関数では対応できない複雑な条件を処理したい時に適しています。

SUMPRODUCT関数で #VALUE! エラーが出る原因は何ですか?

指定したセル範囲のサイズ(行数や列数)が一致していないことが原因です。

SUMPRODUCT関数はGoogleスプレッドシートでも使えますか?

はい、Googleスプレッドシートでもまったく同様に動作します。

あわせて読みたい