
エクセルやGoogleスプレッドシートで範囲同士を掛け算できる、SUMPRODUCT関数の使い方をご紹介します。判定式を組み合わせて、複数条件を満たすセルだけを掛け算する方法についても解説しているので、ぜひ参考にしてみてください。
SUMPRODUCT関数の使い方
SUMPRODUCT関数で何ができるのか、基本的な使い方を解説します。配列や範囲を指定するときは、それぞれの要素数を合わせる点に注意が必要です。
SUMPRODUCT関数とは?

SUMPRODUCT関数は指定した「範囲」または配列同士を乗算し、その合計を返します。
例えば「SUMPRODUCT(A1:A5,C1:C5)」のように、2つの範囲を指定してみましょう。
範囲1と範囲2の対応する要素(範囲内の同じ行)同士を乗算して合計するので、計算結果は「(1×10)+(2×10)+(3×10)+(4×10)+(5×10)」=150です。
SUMPRODUCT関数の構成要素:(配列1, [配列2], [配列3], …)
複数の範囲を指定する方法

乗算対象には複数の「範囲」が指定可能ですが、範囲同士は同じサイズ(要素数が同じ)でなければなりません。また、空白のセルはゼロ(0)として計算されます。
例えば「SUMPRODUCT(A1:A5,C1:C5,E3:E7)」のように、3つの範囲を指定してみましょう。
3つの範囲の、対応する要素同士を乗算して合計します。空白のセルはゼロ(0)として計算されるため、計算結果は「(1×10)+(0)+(0)+(4×10)+(5×10)」=100です。
範囲と配列を掛け合わせる方法

SUMPRODUCT関数には範囲だけでなく、配列として直接数値を掛け合わせることも可能です。
配列は中括弧「{}」の中に、セミコロン「;」で区切りながら入力します。
例えば「SUMPRODUCT(A1:A5,C1:C5,{1;0;0;1;1})」のように、3つ目の範囲を配列で指定してみましょう。計算結果は範囲として指定したときと同じ100です。
SUMPRODUCT関数で条件を満たすセルを計算する方法
SUMPRODUCT関数に判定式を組み込み、条件を満たすセルだけを計算する方法を解説します。ほかの関数よりも、数式をシンプルにまとめられるのが特徴です。
条件を指定する方法

SUMPRODUCT関数の範囲には、条件を指定することも可能です。条件の判定結果がTRUEの場合は「1」、FALSEの場合は「0」になる点に注目してください。
例えば「SUMPRODUCT(A1:A5=”A”)」のように、範囲に条件を指定します。
判定結果は{1;1;0;0;1}の配列として返されるので、計算結果は「1+1+0+0+1」=3です。
判定式に文字列を使用する場合、「”ダブルクォーテーション”」を忘れないようにしましょう。
複数条件を指定する方法

複数の条件を満たすセルだけを計算対象とする場合、条件同士を掛け合わせます。
SUMPRODUCT((A1:A5=”A”)*(B1:B5=”A”)*C1:C5) のように、条件を2つ指定してみましょう。
判定結果は2つの配列{1;1;0;0;1}と{1;1;1;1;1;}として返されるので、これに配列{10;20;30;40;50}を追加すると計算結果は「10+20+0+0+50」=80です。
(1*1*10)+(1*1*20)+(0*1*30)+(0*1*40)+(1*1*50)=80