複数条件に一致するデータ同士を掛け合わせて合計する方法

本記事では、SUMPRODUCT関数だけで条件に合致した合計を求める方法を紹介します。

SUMPRODUCT関数は、複数の配列を要素ごとに掛け合わせてその合計を求める機能ですが、
論理値の配列計算を利用することで、複数の条件を同時に判定することができます。

これにより、より複雑な条件を評価しながら、売上計算などに役立てることができます。

SUMPRODUCT関数の基礎については、こちらの記事をご覧ください。
また、仕組みについてさらに詳しく知りたい場合は、こちらの記事もお読みください。

SUMPRODUCT関数の応用例

「論理演算の考え方」を説明して、「SUMPRODUCT関数だけで条件に合致した合計を求める方法」を解説します。

論理演算の考え方

論理値TRUEは1、FALSEは0として数値計算に使用でき、
複数の条件を同時に判定することが可能です。

論理値1論理値2数値変換1数値変換2掛け合わせ結果最終結果
TRUETRUE111TRUE
TRUEFALSE100FALSE
FALSETRUE010FALSE
FALSEFALSE000FALSE

具体的には、TRUEが1、FALSEが0に変換され、それらを掛け合わせることで、
結果が1であればTRUE、0であればFALSEとなる仕組みです。

この論理値演算の仕組みを応用することで、より複雑な条件評価が簡単に行えます。
論理値演算の詳細については、こちらをご覧ください。

このテクニックは、FILTER関数やSUMPRODUCT関数などの配列を返す関数において、
複数条件に基づくデータの抽出に使用されます。

特に、SUMPRODUCT関数では有効です。
これは、SUMPRODUCT関数が複数の配列を要素ごとに掛け合わせ、その合計を求める機能を持っているためです。

より詳細解説はこちら

SUMPRODUCT関数だけで条件に合致した合計を求める方法

例えば、特定の条件に基づいた売上集計をしてみます。
ここで、カテゴリが「A」でかつ在庫が20以上の商品の売上の合計を求めます。

データ:

A1セル:商品名B1セル:カテゴリC1セル:売上D1セル:在庫
商品AA10010
商品BB20020
商品CA30030
商品DB40040

関数式:

=SUMPRODUCT((B2:B5=”A”)*(D2:D5>=20)*C2:C5)

この数式は、次のように動作します:


  1. (B2:B5="A") は、カテゴリが「A」である行をTRUE(1)に、それ以外をFALSE(0)に変換します。
  2. (D2:D5>=20) は、在庫が20以上である行をTRUE(1)に、それ以外をFALSE(0)に変換します。
  3. C2:C5 は、対応する売上の値です。
  4. SUMPRODUCT関数は、各条件の配列を掛け合わせ、その結果を合計します。

これにより、カテゴリが「A」でかつ在庫が20以上の商品の売上の合計が求められます。

この場合、300が求まります。

このような条件の組み合わせを評価する場合、SUMPRODUCT関数は非常に便利です。


売上計算の仕組み
カテゴリ売上在庫(B2:B5="A") の結果(D2:D5>=20) の結果結果
A10010100
B20020010
A3003011300
B40040010

このように、(B2:B5="A")(D2:D5>=20) の結果を掛け合わせて、売上を掛けることで、最終的に条件に合致した売上の合計が求められます。

1行目を例にして、売上計算の仕組みを説明します。

いずれかの条件に合致すれば:

  1. (B2:B5="A") がTRUEで1、(D2:D5>=20) がFALSEで0の場合
  • 例えば、商品AがカテゴリAで在庫が10の場合
  • 計算式は:売上 × 1 × 0 = 0
  • つまり、この条件では売上は0となります。

もし条件に合致しなければ:

  1. (B2:B5="A") がFALSEで0、(D2:D5>=20) もFALSEで0の場合
  • 例えば、商品BがカテゴリBで在庫が20未満の場合
  • 計算式は:売上 × 0 × 0 = 0
  • つまり、どちらの条件にも合致しないため、売上は0となります。

この仕組みにより、

条件に合致しないデータは自動的に0
条件に合致するデータのみが売上

として計算されます。

結果として、条件に合致した売上の合計が正確に求められます。

最後に

本記事では、論理演算を活用し、SUMPRODUCT関数を利用した複数条件の評価方法を紹介しました。
複雑な条件を評価しながら、売上計算やデータ抽出など、様々な場面で役立てることができます。

この記事を参考にして、ぜひご自身のデータ分析に応用してみてください。

解答付きサンプルデータ

解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。