スプレッドシートのSUMPRODUCT関数とは
SUMPRODUCT関数は、2つの同じサイズの配列または範囲において対応する位置の要素同士を掛け算し、その全ての積の合計値を計算する配列関数です。この関数は統計分析や複雑な集計処理において、複数の条件を同時に考慮した計算を効率的に実行できます。
基本構文はSUMPRODUCT(配列1, [配列2, ...])となっており、第1引数として指定した配列の各要素と第2引数の配列の対応する要素をそれぞれ掛け合わせます。第2引数が省略された場合は、自動的に同じ長さの1で構成された配列が使用され、実質的に第1引数の配列の要素の合計値が返されます。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
基本的な数値配列での積和計算
最もシンプルな使用例として、2つの数値配列を使った積和計算があり、例えば価格と数量のデータから売上合計を算出する際に活用できます。具体的には売上データがA列に価格、B列に数量として配置されている場合、SUMPRODUCT(A2:A5,B2:B5)で各商品の売上を一度に計算できます。
SUMPRODUCT(A2:A5,B2:B5)
=SUMPRODUCT({100,200,300,150},{2,3,1,4})
=(100×2ぎ+んん(200×3ぎ+んん(300×1ぎ+んん(150×4)
=200+600+300+600
=1700
この関数は複数の配列を引数として受け取ることができ、3つ以上の配列を指定した場合は全ての対応する要素の積を計算した後に合計します。英名では「Sum of Products」と呼ばれ、統計学や線形代数の分野でも頻繁に使用される計算手法として知られています。
条件付き集計での応用的な活用方法
SUMPRODUCT関数は論理式と組み合わせることで、複数の条件を満たすデータのみを集計する高度な条件付き集計が可能です。例えば特定の部門かつ特定の期間のデータのみを抽出して計算したい場合、(部門="営業")*(期間>="2023-01-01")のような論理式を配列内に組み込めます。
SUMPRODUCT((A2:A10="営業")*(B2:B10>=DATE(2023,1,1))*(C2:C10))
=SUMPRODUCT((部門範囲="営業")*(日付範囲>=条件日付)*(金額範囲))
この応用方法では論理式の結果がTRUE(1)またはFALSE(0)として扱われるため、条件を満たす行のみが計算に含まれる仕組みとなります。複雑なデータ分析において、SUMIFS関数では対応できない複合的な条件設定を行う際に特に威力を発揮する手法です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介