Excel関数SUMPRODUCTの使い方

概要

Excelで複数の条件データを集計したいときSUMPRODUCT関数を使うことで表現ができます。
この関数はいつも使い方を迷ってしまうのでまとめてみました。

構造
=SUMPRODUCT(列1=値1*列2=値2*…*列n=値n*1, 合計算出列)
※SUMPRODUCTの引数は2つで実現できます。

式のサンプル

=SUMPRODUCT((日次作業!$F:$F=作業工数!$A2)*(日次作業!$A:$A=作業工数!B$1)*1,日次作業!$E:$E)

日次作業シート(インプットの情報)

 

作業工数シート(B列、C列でSUMPRODUCT関数を使用)

 

 

 

 

 

式の説明(セルB2の説明)

【条件】
日次作業!$F:$F=作業工数!$A2
└日次作業シートのF列が「内部定例」であるものが対象となる。
日次作業!$A:$A=作業工数!B$1
└日次作業シートのA列が山田であるものが対象となる。
・複数の条件がある場合は、「*」でつなげる。and条件になる。

【合計】
・日次作業!$E:$E
└条件にマッチしたE列の合計値を算出する。
└F列が「内部定例」かつA列が山田の工数は3:00になります。

 

特徴

・ピボットテーブルを使わずに集計ができる。
・ピボットテーブルの場合、データ(ここでいう日次作業シート)が変更された場合、右クリックで更新する必要があるので手間がかかる。
・ただし、SUMPRODUCTは常に計算を行うので、Excelに負荷がかかり、操作が重くなる。

ダウンロード

サンプルのExcelファイルです。
ご自由にどうぞ。