条件付きSUMPRODUCT

SUMPRODUCTは、複数の配列中の各データを掛けた数値の合計を求める関数です。

SUMPRODUCT関数で合計する対象を特定の条件でフィルタリングする方法について説明します。

構文
=SUMPRODUCT(N(TRUE/FALSEを返す数式の配列), 配列A, 配列B)

条件判定用の列を設けてSUMPRODUCT

まず、一時的に判定用の列を設けた例で説明します。

判定列の数式:  N(A2=$F$3)

各行で条件を判定してTRUE/FALSE を返す数式を指定します。この例では、「項目が商品2」の条件で判定しています。

N関数は、判定結果のTRUE1FALSE0に数値化して演算可能な状態にしています。

集計の数式:  SUMPRODUCT(B2:B8,C2:C8,D2:D8)

この例の場合、単価列、数量列の値、判定列の配列をそのままSUMPRODUCTに指定するだけです。例えば1行目は2800×25×0、2行目は1900×68×1 となります。

正確には、条件に適合しない行を除外するのではなく、0として加算する仕組みです。

条件判定をSUMPRODUCT関数内に含めてスッキリ

上記では条件判定の列を設けましたが、この数式をSUMPRODUCT関数に含めて表をシンプルにできます。

集計の数式:  SUMPRODUCT(B2:B8,C2:C8,N(A2:A8=$F$3))

 

今回は1つの条件で解説しましたが、「特定の商品名で特定の数量以上のもの」のように複数の条件を指定することもできます。判定列を設ける必要がないので、複数の条件でも表が煩雑化することもありません。
タイトルとURLをコピーしました