【エクセル関数】SUMPRODUCTの概要

投稿者: | 2021年7月20日
excelアイコン

エクセルバージョン

マイクロソフト365

 

今回は掛け算を足して一気に計算結果を算出してくれるSUMPRODUCT関数についてです。

ちなみに日本語に訳すとSUMは和、PRODUCTは積なので、掛け算をして足します(*^^)v

それではいってみましょう!

 

SUMPRODUCT関数

・範囲または配列の要素の積(掛け算)を合計した値を取得します。

・既定の計算は乗算ですが、加算、減算、除算も可能です。

ワイルドカードは使用不可です。

構文

=SUMPRODUCT(配列1, [配列2], [配列3], …)
[ ]は省略可です。

引数

引数必須/任意詳細
範囲または配列必須積の合計を求めます。
・範囲または配列データを指定します。

・指定は行数、列数が等しい配列が必要です。
範囲または配列任意積の合計を求めます。
・範囲または配列データを2から255個まで指定可能。

・指定は行数、列数が等しい配列が必要です。

SUMPRODUCT引数ダイアログ

 

SUMPRODUCTサンプル

サンプル1

数量金額を掛けて合計を算出

結果(C6セル) → ¥1590

SUMPRODUCTサンプル1

SUMPRODUCT関数の引数

配列1と配列2をドラッグで範囲指定してOKボタンで下記の数式が自動で入力されます。

=SUMPRODUCT(B2:B5,C2:C5)

 

解説

SUMPRODUCTサンプル1

B列の数量(B2~B5)とC列の金額(C2~C5)の範囲の配列を掛けます。
={1;2;5;3}*{120;110;130;200}

まぐろ~うにの数量金額を掛けた結果が一気に計算されます。

SUMPRODUCT一気に掛け算バージョンによっては120しか表示されません。マイクロソフト365の表示です。

金額を合計します。
①で作成した配列の掛け算 → {1;2;5;3}*{120;110;130;200} を 
=SUM() ← のカッコの中に入れます。下記のようになります。

=SUM({1;2;5;3}*{120;110;130;200})
先程の掛け算で出来上がった値を、SUMで足すということになります。

SUMPRODUCTかけて足す

一気に掛け算から合計金額を算出して¥1590になります。

 

これと一緒の工程を=SUMPRODUCT(B2:B5,C2:C5)と入力することで一気に計算されます(*゚▽゚)ノ

 

サンプル2

18歳以上男性の人数

=SUMPRODUCT((A2:A8>=18)*(B2:B8=”男性”))

結果 → 3

SUMPRODUCTサンプル2_1

解説

=SUMPRODUCT((A2:A8>=18)*(B2:B8=”男性”))

SUMPRODUCTサンプル2_2

➀D列 18歳以上(年齢)A2:A8>=18
TRUE → 一致の場合、FALSE → 不一致の場合。

➁E列 男性(性別)B2:B8=”男性”
TRUE → 一致の場合、FALSE → 不一致の場合。

➂G列 計算
➀と②を掛けます。
TRUE → 1、FALSE → 0

➃I列 結果と合計
結果を足すと、合計3になって完成です。

 

この工程を=SUMPRODUCT((A2:A8>=18)*(B2:B8=”男性”)) と入力することで一気に計算されます(★‿★)

 

まとめ

論理値(TRUEとFALSE)を使用して、掛けて合計みたいな方法もあって少し特殊な計算ですが、今回のように非常に便利に機能してくれる時も多々あるので、使い道を考えてみて是非ご使用してみてください(^-^)

以上です。

関連記事

月別で値を取得する方法