Excel関数入門:SUMPRODUCT関数の使い方【掛け算と合計を同時に計算】

複数の配列を掛け合わせて合計を出す、配列演算の万能関数が「SUMPRODUCT関数」です。
関数名の通り「SUM(合計)」と「PRODUCT(積)」を組み合わせた動作をします。

この記事では、SUMPRODUCT関数の基本的な書式から、条件付き集計やIFの代替活用まで、実務で役立つ使い方をわかりやすく解説します。


SUMPRODUCT関数とは?

SUMPRODUCT関数は、複数の配列(範囲)を要素ごとに掛け合わせたうえで、すべて合計する関数です。

書式

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

引数の意味

  • 配列1, 配列2, …:掛け算する数値の配列(範囲)。2つ以上指定可。

基本的な使い方

例1:単純な掛け算と合計

=SUMPRODUCT(A2:A4, B2:B4)

→ A列の数量 × B列の単価 の合計金額を求める

数量(A)単価(B)
2100
3200
1150
→ 計算結果:2×100 + 3×200 + 1×150 = 950

条件付き集計(IFの代用)

SUMPRODUCTは条件付きの集計にも活用できます。IF関数を使わずに複雑な条件を実現できるのが強みです。

例2:条件付き合計

=SUMPRODUCT((A2:A10=”男性”)*(B2:B10))

→ A列が「男性」の行に対応するB列の合計を求める

※条件式の部分 (A2:A10="男性") は TRUE/FALSE を 1/0 に変換して機能


複数条件の集計

AND条件も掛け合わせるだけで簡単に実現できます。

例3:複数条件(AND)の合計

=SUMPRODUCT((A2:A10=”男性”)*(B2:B10>20)*(C2:C10))

→ A列が「男性」かつ B列が20より大きい行の C列を合計


応用例

1. 加重平均の計算

=SUMPRODUCT(A2:A10, B2:B10) / SUM(B2:B10)

→ A列が得点、B列が重み(比率など)の場合に加重平均を求める

2. 複数条件での件数カウント(COUNTIF代替)

=SUMPRODUCT((A2:A10=”東京”)*(B2:B10=”営業”))

→ 東京 × 営業 に該当する件数をカウント(合計 1)


注意点

  • 配列のサイズ(行数・列数)は一致させる必要あり
  • 配列内に文字列が混ざるとエラーの原因になる
  • 配列演算の中ではカッコが重要(条件のグルーピング)

関連関数

関数内容
IF条件に応じた値を返す(SUMPRODUCTで代用可)
SUMIFS条件付きの合計を出す
COUNTIFS条件付きの件数カウント
AVERAGEIFS条件付きの平均を出す

まとめ

SUMPRODUCT関数は、条件付き合計・加重平均・複数配列の演算などに強い、柔軟で高性能な関数です。
IF関数やSUMIFSではできない複雑な条件処理にも対応できるため、上級者の定番関数のひとつとされています。