エクセル入門 | SUMPRODUCT関数(配列の対応する要素の積の合計) | Excelの初心者向け入門解説



最終更新日:2016-08-11

数式.SUMPRODUCT関数(配列の対応する要素の積の合計)


エクセル入門 > 数式 > 数式.SUMPRODUCT関数(配列の対応する要素の積の合計)

引数として指定した配列の対応する要素間の積をまず計算し、さらにその和を返します。

書式

SUMPRODUCT(配列 1, [配列 2], [配列 3], ...)

配列 1

計算の対象となる要素を含む最初の配列引数を指定します。

配列 2, 配列 3,...

省略可能です。
計算の対象となる要素を含む配列引数を指定します。
引数は最大 255 個まで指定できます。



引数となる配列は、行数と列数が等しい配列である必要があります。
行数と列数が等しくない場合、エラー値 #VALUE! が返されます。
数値以外の配列要素は、0 であると見なされます。


使用例

以下の表で、合計金額を求めます。

A列 B列
数量 単価
2 180
4 230
1 120
3 160
5 220

=SUMPRODUCT(A2:A6,B2:B6) ・・・ 2980

SUMPRODUCT関数においては、列指定は避けて下さい。
=SUMPRODUCT(A:A,B:B)
これでも問題はありませんが、多用するとExcelの再計算がとても遅くなります。

このような合計を求める場合、
本来は、C列に各行の金額を求める計算式(単価 * 数量)を入れて、その金額をSUMします。
従って、SUMPRODUCT関数を使用する機会は、極めて少ないと言えます。

Excel2003までは、COUNTIFS関数やSUMIFS関数が無かったため、
COUNTIFSSUMIFSのような集計をする手段として、SUMPRODUCT関数が使われることがありました。

複数条件の合計・件数

しかし、Excel2007移行で、COUNTIFS関数やSUMIFS関数ができたことで、
SUMPRODUCT関数の必要性は、ほとんどなくなったと言っても良いでしょう。

そもそも、作業列(途中計算をするセル、上記の例でC列の金額)を使う事で、同じ結果を得られます。
2003以前でのSUMIFS関数代わりに使っている場合でも、作業列(複数条件をまとめる列)を使う事で解決できるものです。



ワークシート関数一覧




同じテーマ「エクセル入門」の記事

COUNTBLANK(空白セルの個数)
AVERAGE関数(引数の平均値)
AVERAGEIF関数(検索条件に一致する平均値)
IFERROR関数(エラーの場合は指定値、以外の場合は数式)
作業セル、計算セル
SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)
MOD関数(除算したときの剰余)
MROUND関数、CEILING関数、FLOOR関数(指定値の倍数)
RAND関数、RANDBETWEEN関数(乱数)
CELL関数(セルの書式、位置、内容の情報)

新着記事 ・・・新着記事一覧を見る

複数条件判定を行う時のコツ|ExcelマクロVBA技術解説(7月11日)
For Next の使い方いろいろ|VBA技術解説(6月14日)
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)
ファイルの操作|MOS VBAエキスパート対策(3月14日)
ユーザーフォームの各種イベント|Excelユーザーフォーム(3月13日)
レジストリの操作|MOS VBAエキスパート対策(3月12日)
変数と配列|MOS VBAエキスパート対策(3月12日)
Colorプロパティの設定値一覧|VBA技術解説(3月12日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.変数とデータ型(Dim)|ExcelマクロVBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.マクロって何?VBAって何?|ExcelマクロVBA入門
6.RangeとCellsの使い方|ExcelマクロVBA入門
7.とにかく書いて見よう(Sub,End Sub)|VBA入門
8.繰り返し処理(For Next)|ExcelマクロVBA入門
9.定数と型宣言文字(Const)|ExcelマクロVBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門



  • >
  • >
  • >
  • SUMPRODUCT関数(配列の対応する要素の積の合計)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。





    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ

    ↑ PAGE TOP