SUMPRODUCT関数

SUMPRODUCT関数はとっても便利ですが、ちょっと使い方が難しいです。

SUMPRODUCT関数

引数として指定した配列の対応する要素間の積をまず計算し、さらにその和を返します。
SUMPRODUCT(配列 1, [配列 2], [配列 3], …)

以上Excel2013 SUMPRODUCT関数のヘルプより

下のような商品名、価格、数量がある表で価格×数量の合計を出してみます。

sumproduct

 

D列に行ごとの価格と数量を掛けた数値をだして、SUM関数で合計することで計算できます。

sumproduct_1

うまくいきました。今回必要なのはセルD20の合計だけで、各商品の価格×数量は必要ないといった場合、D列自体(セルD20を除く)を作業列と言ったりします。

今回の合計を作業列なしで計算できるのがSUMPRODUCT関数です。セルC20に =SUMPRODUCT(B2:B19,C2:C19) と入力します。

sumproduct_2

 

引用したヘルプにもあるように(B2:B19,C2:C19) の要素間の積を計算します。セルB2*C2、セルB3*C3、セルB4*C4、と順に第1引数と第2引数のそれぞれを掛け合わせ、その和を返すので最後にすべてを加算してくれます。これなら作業列なしで計算できます。

また、引数の配列は2つ以上(1つは必須)指定できますので、以下のように利益率の列を追加したものでも価格×数量×利益率も同じ要領で計算できます。D列に利益率を記入します。セルD20に =SUMPRODUCT(B2:B19,C2:C19,D2:D19) と入力します。セルB2*C2*D2、セルB3*C3*D3、セルB4*C4*D4、と順に積を計算し、最後に加算します。

sumproduct_3

 

それ以外にも、引数の配列は2列でも大丈夫です。表の形が変わっていますのでご注意ください。価格が2種類あってそれぞれに売れた数量があります。B列とD列を掛けたものとC列とE列を掛けたものの合計を出す場合は =SUMPRODUCT(B2:C19,D2:E19) と入力します。sumproduct_4

 

これも同じようにセルB2*D2、セルC2*E2、セルB3*D3、セルC3*E3、と順に積を求めて和を算出してくれます。これに価格と、価格2の利益率も必要ならF列に価格の利益率G列に価格2の利益率を記入し、第3引数として F2:G19 を入れてあげれば計算できますので試してみてください。

SUMPRODUCT関数には、他にも便利な使い方がありますので別途ご紹介する予定です。

コメントを残す

メールアドレスが公開されることはありません。