
Excelで範囲同士の掛け算や、条件を指定した集計に便利なSUMPRODUCT関数ですが、範囲の指定方法や、条件の記入方法によってエラーが発生します。この記事では、SUMPRODUCT関数のエラーや、結果が0になる場合の解決策を解説しているので、ぜひ参考にしてみください。
SUMPRODUCT関数の基本の使い方

SUMPRODUCT関数は、複数の範囲の対応する要素同士を掛け合わせ、その合計を返します。
たとえば、A列(価格)とB列(個数)をそれぞれ掛け合わせた合計を求めたい場合に使います。
例:=SUMPRODUCT(A2:A4,B2:B4)
この数式は、(100×2)+(300×1)+(200×2)を行い、結果として900を返します。
SUMPRODUCT関数の引数:(配列1, [配列2, …])
💡 ポイント:
第2引数の「配列2」を省略すると、「配列1」と同じ長さの {1;1;1;…} が自動的に補填されます。そのため、配列を1つだけ指定した場合、SUM関数と同じように動作します。
#VALUE!エラーになる場合

原因: 参照範囲の行数が一致しない
最もよくあるエラーの原因は、掛け合わせる範囲のサイズが異なることです。
SUMPRODUCT関数は、それぞれの配列の対応する要素同士を掛け合わせるため、範囲の行数が一致しないと計算できません。

解決方法:参照範囲の行数を一致させる
この問題を解決するには、すべての引数で同じサイズの範囲を指定します。
例:=SUMPRODUCT(A2:A4,B2:B4)
このように、すべての範囲をA2:A4とB2:B4のように同じ行数に合わせることで、正しく計算を行えるようになります。
#N/Aエラーになる場合

原因: 参照元の範囲にエラーがある
掛け合わせる範囲にエラー値が含まれていると、その結果もエラーになります。

解決方法:エラー値を0にする
この問題を解決するには、IFERROR関数を使って、範囲のエラー値を0に変換します。
例:=SUMPRODUCT(IFERROR(A2:A4,0),B2:B4)
💡 ポイント: Excelの古いバージョンでは、数式を確定する際にCtrl + Shift + Enterを押す必要があります。
結果が0になる場合
SUMPRODUCT関数で条件式を使ったとき、計算結果が0になってしまうことがあります。これは、特にExcelでよく起こる現象です。

原因:論理値と数値の掛け算
A2:A4="野菜": この条件式は、{TRUE; FALSE; TRUE}という配列を返します。
Excelは、この論理値の配列と数値の配列を直接掛け合わせることができず、0になります。

解決方法:*1で数値に変換する
この問題を解決するには、次のように、条件式の後ろに*1をつけます。
例:=SUMPRODUCT((A2:A4="野菜")*1,B2:B4)
これにより{TRUE; FALSE; TRUE}が{1; 0; 1}に変換され、正しく計算を行えるようになります。