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

Excelの初心者向け入門解説
公開日:2013年5月以前 最終更新日:2021-06-25

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


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


SUMPRODUCT関数の書式

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

配列 1

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

配列 2, 配列 3,...

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

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

SUMPRODUCT関数の使用例

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

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関数が無かったため、
COUNTIFSやSUMIFSのような集計をする手段として、SUMPRODUCT関数が使われることがありました。

複数条件の合計・件数
・サンプルデータ ・複数条件の合計 ・複数条件の件数 ・スピルと新関数

しかし、Excel2007以降では、COUNTIFS関数やSUMIFS関数ができたことで、
SUMPRODUCT関数の必要性は、大幅に減ったと言って良いでしょう。

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


Officeサポート SUMPRODUCT関数


ワークシート関数一覧
・文字列関数 ・日付と時刻の関数 ・情報関数 ・論理関数 ・検索/行列関数 ・数学/三角関数 ・統計関数 ・財務関数 ・エンジニアリング関数 ・データベース関数 ・アドイン/オートメーション ・キューブ ・Microsoft Office のサポート

ワークシート関数の一覧(2010以降)
・Excel2010で追加されたワークシート関数 ・Excel2013で追加されたワークシート関数 ・Excel2016/Excel2019で追加されたワークシート関数 ・Excel2021で追加されたワークシート関数 ・Excel2021より後の365で追加されたワークシート関数 ・Microsoft 365 Insider ・Microsoft「Office のサポート」



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

COUNTBLANK(空白セルの個数)

指定された範囲に含まれる空白セルの個数を返します。COUNTBLANK関数の書式 COUNTBLANK(範囲) 範囲に含まれる空白セルの個数を返します。範囲 空白セルの個数を求めるセル範囲を指定します。
AVERAGE関数(引数の平均値)
引数の算術平均値を返します。AVERAGE関数の書式 AVERAGE(数値1,[数値2],...) 算術平均値を返します。数値1 平均値を求める1つ目の数値、セル参照(セル範囲)または配列を指定します。
AVERAGEIF関数(検索条件に一致する平均値)
・AVERAGEIF関数の書式 ・AVERAGEIF関数の使用例 ・ワイルドカードを使ったAVERAGEIF関数の使用例
SUMPRODUCT関数(配列の対応する要素の積の合計)
IFERROR関数(エラーの場合は指定値、以外の場合は数式)
数式がエラーとして評価される場合は指定の値を返し、それ以外の場合は数式の結果を返します。※Excel2007以降に追加された関数です。IFERROR関数の書式 IFERROR(値,エラーの場合の値) 値 エラーかどうかをチェックする引数です。
作業セル、計算セル
関数の引数に、さらに関数を入れ、関数をネスト(入れ子)にしますが、このネストが多くなると、数式が複雑になりすぎてしまい、他人が見たときに数式の意味するところが分からなくなってしまいます。数式を書いた本人であっても、時が経つと解読が困難になる場合もあります。
SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)
SUMIFS関数は、SUMIF関数の条件が複数指定できるようになったものです。COUNTIFS関数は、COUNTIF関数の条件が複数指定できるようになったものです。・COUNTIF関数の書式・COUNTIF関数の使用例・COUNTIF関数でワイルドカードを使用・COUNTIF関数の応用例 AVERAGEIFS関数は、
MOD関数(除算したときの剰余)
数値を除数で割ったときの剰余を返します。割り算の余りです。MOD関数の書式 MOD(数値,除数) 数値 割り算の分子となる数値を指定します。除数 割り算の分母となる数値を指定します。戻り値は除数と同じ符号になります。
MROUND関数、CEILING関数、FLOOR関数(指定値の倍数)
・MROUND関数、CEILING関数、FLOOR関数の書式 ・MROUND関数、CEILING関数、FLOOR関数の使用例 ・MROUND関数、CEILING関数、FLOOR関数の実践例 ・同時に覚えたい関連関数
RAND関数、RANDBETWEEN関数(乱数)
RAND関数:0以上で1より小さい実数の乱数を発生させます。RANDBETWEEN関数:指定された範囲内の整数の乱数を返します。いずれも、ワークシートが再計算されるたびに、新しい乱数が返されます。RAND関数、RANDBETWEEN関数の書式 RAND() RANDBETWEEN(最小値,最大値) ※RAND関数に…
CELL関数(セルの書式、位置、内容の情報)
セルの書式、位置、または内容に関する情報を返します。CELL関数の書式 CELL(検査の種類,[対象範囲]) 検査の種類 parentheses 正の値またはすべての値をかっこで囲む書式がセルに設定されている場合は1。それ以外の場合は0。


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

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




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


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


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