RM-BLOG

IT系技術職のおっさんがIT技術とかライブとか日常とか雑多に語るブログです。* 本ブログに書かれている内容は個人の意見・感想であり、特定の組織に属するものではありません。/All opinions are my own.*

【Microsoft Excel】SUMPRODUCTによる条件付き集計

よく知られてるところだが

個人的にいつか忘れたときのための備忘録とする

(SEメモは全部そうなんだが)

 

 

EXCELの関数SUMPRODUCTは本来配列の積を求める役割の関数だが

配列を0と1だけにして残りを本来の配列に指定すると

条件付きの総和を求めることができる。

 

たとえば元表が以下の通りであったとする

sumproduct_1.jpg

 

このとき、

=SUMPRODUCT(((B2:B5)=0)*1, C2:C5)

でFLG(B列)が"0"のデータのみを対象にYEN(C列)を集計してこれる

sumproduct_2.jpg

 

この条件はほかにも使える。たとえば

=SUMPRODUCT(((B2:B5)=0)*1, *1*1, C2:C5)

ならDATE(D列)が2014/12/31以前のデータを対象にYEN(C列)を集計する

sumproduct_3.jpg

 

=SUMPRODUCT(((B2:B5)=0)*1, ((E2:E5)="田中")*1, C2:C

ならNAME(E列)が"田中"のデータを対象にYEN(C列)を集計する

sumproduct_4.jpg

 

フィルタとかかけていちいち選択範囲絞ったうえでSUMする等が面倒くさい場合に使う。

*1:D2:D5)<=DATE(2014,12,31