SUMPRODUCT関数の構文 -範囲内のすべての数値の積の合計する- DL可
Excel関数のSUMPRODUCT関数の構文について詳しく説明します。
これまでに、姉妹関数のSUM関数シリーズとして、
これ以外にもたくさんの記事をアップしてきました。
他にもたくさんのあるので、興味のある方は調べてみてください。
下図の検索ボックスに、対象のキーワードを入れて、探して見てください。
なお、SUM関数シリーズとして扱うかを悩みましたが、
合計(SUM)に加えて、積(PRODUCTS)という概念が登場するため、
別途紹介することにしました。
目次
例題
下記サンプルデータの売上金額の合計を求めてみましょう。
つまり、各商品の単価×販売数量を合計した「全商品の売上合計」を算出します。
解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
解答
SUMPRODUCT関数を使用します。
なお、関数を使わずに求めることもできます。
間違いやすいし、大変ですが、記事後半で紹介しています。
=SUMPRODUCT($B$2:$B$6, $C$2:$C$6)
解説
ざっくり解説
関数の構文は以下です。[]の引数は省略可能です。
=SUMPRODUCT(配列1, [配列2], …)
そのため、
=SUMPRODUCT(単価, 販売数量)
となる具体的な範囲を配列として指定すればいいので、
下記の関数式となるわけです。
=SUMPRODUCT($B$2:$B$6, $C$2:$C$6)
くわしく解説
解説を読む前に、巻末の参考記事もチェックしておくと良いため、時間があれば覗いてみてください。
SUMPRODUCT関数とは
Excel標準機能の[関数の挿入]ダイアログ/[関数の引数]ダイアログを大体のことは書かれているので、
活用して詳しく解説します。
ダイアログの使い方は、巻末の参考記事を参照していただければと思います。
範囲または配列の対応する要素の積を合計した結果を返す
[関数の挿入]ダイアログより
「SUM」は「和」を意味し、
「PRODUCTS」は「積」を意味します。
範囲内のすべての数値の積の合計を計算します。
SUMPRODUCT関数の構文
下記が関数の構文です。[]の引数は省略可能です。
=SUMPRODUCT(配列1, [配列2], …)
引数で指定された配列同士を掛け算し、その積(PRODUCTS)を合計(SUM)しています。
第1引数:配列1
配列1: 配列1,配列2,… には、要素の積の合計を求めたい配列を2~255個まで指定できます。引数となる配列は、行数と列数が等しい配列である必要があります。
[関数の挿入]ダイアログより
配列1には、セル範囲を指定すればOKです。
先程配列の説明をしましたが、難しいことは考えてなくよいです。
ここでは、配列1は、単価「$B$2:$B$6」のセル範囲を指定しいます。
配列に関して、詳しく知りたい方は『Excel関数の引数とは』をご確認ください。
第2引数:配列2
配列2: 配列1,配列2,… には、要素の積の合計を求めたい配列を2~255個まで指定できます。引数となる配列は、行数と列数が等しい配列である必要があります。
[関数の挿入]ダイアログより
配列2も、配列1と同様です。
ここでは、配列2は販売数量「$C$2:$C$6」のセル範囲をしています。
第1引数「単価」、第2引数「販売数量」を引数にセットしましたが、
逆の順番でも問題ありません。
なぜなら、これらの引数は単に掛け算されるだけだからです。
引数のセット時の注意点
ダイアログボックスに注意点が記載されています。
分かりづらいので、簡潔に整理します。
- 配列1と配列2の要素数は同じである必要があること
※なぜなら、要素数が異なると計算ができないから - 第1引数と第2引数は省略できない
※なぜなら、1つのデータのみでは掛け算ができないから
要素数が異なると掛け算できず、1つのデータのみでは掛け算ができないからです。
掛け算の仕組みを考えれば、いずれも当たり前の考えです。
SUMPRODUCT関数で悩んだら・・・
掛け算に立ち戻って
考えてみましょう。
[OK]をクリックすると、完成です。
引数で指定された配列同士を掛け算し、
その積(PRODUCTS)を合計(SUM)された結果です。
別解2 ⇒ 力技
関数を使用せずとも、算出することができます。
=B2*C2+B3*C3+B4*C4+B5*C5+B6*C6
実は、こちらの別解2こそ、SUMPRODUCT関数のロジックそのものなのです。
具体的には・・・
=商品1の単価*商品1の販売数量+商品1の単価*商品1の販売数量+・・・・
としているだけで、単純です。
ただ、関数を使用せずに算出するのは間違いやすいし、
面倒ですし、データ数が増えると、さらに大変です。
フォローアップ
外観上は数値のケース
関数では、”引数に文字列を設定してならない”と記載されています。
ただし、外観上は数値の場合には正常に動作します。
例えば、以下の2つのケースではどちらも「999」という値が数値に見えます。
しかし、2行目の「999」は書式が文字列です。
本来ならばルール違反であり、関数はエラーを返すべきですが、
実際には正常に動作します。
おそらく、裏で数値変換が行われているものと考えられます。
そのため、書式が文字列でも外観上数値であれば、関数は正常に動作するようです。
最後に
本記事では、SUMPRODUCT関数を詳しく解説しました。
この関数は、Excelで複数の要素を掛け算し、それらの合計を計算する際に強力です。
データの加重平均値や合計値を効率的に計算することができます。
さらに、重回帰分析の予測値をExcelで求めることさえ、できます。
ぜひこの強力な関数を活用して、Excelでの作業を効率化しましょう。
解答付きのサンプルデータも提供していますので、実際に手を動かして練習してみてください。
それでは、SUMPRODUCT関数を活用して、データ処理のスキルを高めていきましょう!
今後、SUMPRODUCT関数の活用記事もアップしてきたいです。
参考記事:
Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。
構文に関する記事
Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。
ダイアログボックスの使い方に関する記事
Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。
参照形式に関する記事
関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。