GoogleスプレッドシートやExcelで、2つの配列の各要素をかけあわせた総和を算出することができる【SUMPRODUCT関数】について説明していきます。Product(積)をSum(和)してくれる関数ってことですね。
でも、実はそれだけでなく、多彩な動きができることも合わせてお
伝えできればと思います。
例えば、かけあわせた総和ではなく、足し合わせた総和、引いた総和、割った総和などを算出できる点ですね。
この記事は、Googleスプレッドシートベースで解説記事を作成してますが、エクセルでも同様に使用することができる関数です。
こんにちは。当ブログの管理人のくろんです。
30代サラリーマン、新規事業推進室に所属。仕事で身につけた業務効率化ノウハウをアウトプットしていきます。読んでくれた方の業務が一秒でも早く終わりますように!!
SUMPRODUCT関数とは?
SUMPRODUCT関数とは、2つの配列について、各要素をかけあわせて、その結果を足し合わせた値を返す関数です。
このような形で、例えばレジ金の金種の集計結果をもとに、合計金額を算出したいときなど、それぞれの項目を掛け合わせた上で、それらの合計値を算出したいときに有用な関数です。
SUMPRODUCT関数の構文
SUMPRODUCT(配列1, [配列2], …)
項目 | 内容 |
配列1 | 掛け合わせる1つ目の配列または範囲。 |
配列2 | 【省略可】配列1に掛け合わせる同じ長さをもつ2つ目の配列または範囲。 省略した場合は配列1と同じ長さの、すべての要素が1の配列です。 |
配列は同じ長さを指定する必要があり、異なる長さを指定した場合は『#VALUE!』エラーとなります。
下図は、配列1と配列2の長さが異なるためエラーになっている例です。
足す型SUMPRODUCT関数
SUMPRODUCT関数は、その名前から、『積を足し合わせる関数』だけに思われがちですが、実は四則演算すべてできる関数です。
=SUMPRODUCT(B2:B10+C2:C10+D2:D10)
足す場合は、範囲どおしを『+』でつなぎ合わせればOKです。
とはいっても、範囲を足し合わせるだけなんで、『SUM関数』でやっても変わらないんですけどね笑
引く型SUMPRODUCT関数
=SUMPRODUCT(B2:B10-C2:C10)
引く場合は、範囲どおしを『-』でつなぎ合わせればOKです。
割る型SUMPRODUCT関数
割った商を足し合わせるいい例が、まったく思いつきませんでした!!!ごめんなさい。
=SUMPRODUCT(B2:B10/C2:C10)
このような形で、割る場合は、範囲どおしを『/』でつなぎ合わせてください。
条件付きSUMPRODUCT関数
=sumproduct(A2:A31=F2,B2:B31=G2,C2:C31,D2:D31)
このように、『SUMPRODUCT関数』の引数に、範囲『=』抽出したい文字列(値)、という形で指定して貰えれば、該当する部分だけのかけ合わせ総和を求めることが出来ます。
『SUMIF関数』でも近しいことはできるのですが、『SUMIF関数』は、かけ合わせの計算を事前に行ってセルに表示しておかなければいけませんが、『SUMPRODUCT関数』ではそれが不要になるので、時と場合で使い分けて貰えればと思います。
SUMPRODUCT関数のまとめ
『SUMPRODUCT関数』は、指定した配列どうし(同じ長さでないとNG)の各要素を掛けて、足し合わせてくれる関数です。つまりは、Product(積)をSum(和)してくれます。
また、応用することで、各要素を四則演算して足し合わせてくれたり、条件付きのかけ合わせ総和も求めることが出来ます。