【Excel・エクセル】SUMPRODUCT関数の使い方!掛け算したものを足し算

計算,調べる

もりの

金額と個数をかけ算したものを、足し算していかなきゃ。

やまの

それなら、SUMPRODUCT関数を使ってみよう。

今回のポイント
  • 積の合計を求めるならSUMPRODUCT関数
  • =SUMPRODUCT(配列1,配列2,配列3……)
  • 配列には条件の指定もできる
  • ワイルドカードは使えない

スポンサーリンク

 SUMPRODUCT関数の練習ファイルダウンロード

もりの
 
 

一緒にやってみませんか?

【Excel・エクセル】積を合計する、SUMPRODUCT関数とは

SUMPRODUCT関数の使用例

SAMは足し算する関数、PRODUCTはかけ算する関数ですよね。
つまりSUMPRODUCT関数は、足し算と掛け算を組み合わせた関数なんです。

やまの

かけ算して出た積(かけ算の答え)を、足していってくれるんよ。

もりの

今までそれぞれの金額を出して、それを合計してたけど、コレなら一発でできるんだね。

ちなみに読み方は「サムプロダクト関数」です。

ではさっそく、使い方を見ていきましょう!

【Excel・エクセル】SUMPRODUCT関数の使い方

SUMPRODUCT関数の書き方

=SUMPRODUCT(配列1,[配列2],[配列3]……)

SUMPRODUCT配列1と配列2と……をかけ算して、出た答えを合計してね
配列1かけられる数の範囲
配列2かける数の範囲
もりの

配列1×配列2って感じかな。

ちなみに配列の範囲(広さ)は、同じじゃないといけません。

範囲が違うとエラーになってしまうので、ご注意ください。

配列の範囲がバラバラな画像
範囲の広さは合わせましょう

SUMPRODUCT関数の使用例

では次の図のセルA7に、B列とC列の積の合計を出してみましょう。

SUMPRODUCT関数の練習問題
SUMPRODUCT関数を使ってみよう
やまの

=SUMPRODUCT(B2:B4,C2:C4)で、求められるよ。説明するね。

ステップ1

セルA7に、「=SUMPRODUCT(」と入力してください。

または、「=SUMP」まで入力して「TABキー」でもOKです。

「=SUMPRODUCT(」と入力した画像
「=SUMPRODUCT(」と入力

ステップ2

まずは●×■の●の部分を決めます。

今回は、B列とC列の数値をかけ算したいので、まずはB列、セルB2~B4ですね。

セルB2~B4をドラッグして、「,(カンマ)」を入力してください。

かけられる数の範囲をドラッグした画像
かけられる数の範囲をドラッグ

ステップ3

次は●×■の■の部分です。

今回はC列、セルC2~C4ですね。

セルC2~C4をドラッグして、カッコを閉じてください。

かける数の範囲をドラッグした画像
かける数の範囲をドラッグ

完成!

エンターキーを押すと、積の合計が出ました!

ためしにB列とC列をかけ算したものをD列に出して、そられを合計してみると、同じ数値になりましたね!

SUMPRODUCT関数を使った表
D列の合計と同じ

【Excel・エクセル】SUMPRODUCT関数の使い方、応用編

このSUMPRODUCT関数ですが、計算するだけではありません。

もりの

と、言いますと?

実は引数(配置)には文字列なども使えます。
これを使って、条件に合うセルの数や、条件に合うセルの合計も分かっちゃいます!(ただちょっとポイントがあります)

やまの

理論式が使えるんよ。

※練習ファイルをダウンロードされた方は、Sheet2を開いてください。

SUMPRODUCT関数で、条件に合うセルの合計を求める

SUMPRODUCT関数を使うと、SUMIF関数のように、条件に合う値の合計ができます。
書き方は以下の通り。

書き方

=SUMPRODUCT((配列1=条件)*(配列2))

簡単にすると

=SUMPRODUCT((範囲と条件)*(合計したい範囲)))

厳密には配列1、2と呼ぶのはちょっと違う気もしますが、便宜上そう呼ばせてください。

「配列=条件」と書きましたが、もちろん不等号(>,<)も使えます
配列1の中で3以上のものなら、「配列1>=3」といった具合です。

ちなみに、ワイルドカードは使えません……。

この表のセルE2に、商品名がアメの合計金額を出したいと思います。

SUMPRODUCT関数で条件に合うセルの合計の練習問題
SUMPRODUCT関数の応用技、とくと見よ!
やまの

配列1と2を、「,(カンマ)」じゃなくて「*(アスタリスク)」でつなげるのがポイントなんよ。

複数条件の合計を求めたい場合は、こちらをご参照ください。

ステップ1

何はともあれ、まずはセルE2に、「=SUMPRODUCT(」と入力します。

「=SUMP」まで入力して「TABキー」でもOKです。

「=SUMPRODUCT(」と入力した画面
まずは「=SUMPRODUCT」

ステップ2

次に配列1ですが、その前に「(」をもう一つ入れるのを忘れないでくださいね!

入力したら、今回アメの単価を合計したいので、商品名が書かれたセルA2~A10をドラッグします。

SUMPRODUCT関数の配列1を指定した画像
配列の前に「(」を忘れずに!

ステップ3

続いて条件ですが、今回は「商品名がアメ」が条件なので、「="アメ"」となりますね。

続いて「)」、配列2へ移るので「*」を忘れずに!

SUMPRODUCT関数の条件を入力した画像
条件を入力
もりの

文字列の時は「"(ダブルクォーテーション)」で囲むんだよね。

ステップ4

配列2もそのままセル範囲をドラッグしたくなりますが、ここはぐっとこらえて「(」を入れましょう。

入れたら配列2を選択します。
今回は合計金額を出したいので、単価が書かれたセルC2~C10をドラッグします。

配列2まで終わったのでカッコで締めたいのですが、ここもまたちょっとややこしく、「))」とカッコが二つ続くのでご注意ください。

SUMPRODUCT関数でカウントするときの式
配列2を選択し、カッコ2つで閉じる
やまの

配列2が終わる「)」と、SUMPRODUCT関数が終わる「)」だね。

完成!

これで式は完成です。
エンターキーで確定すると……

無事、アメの金額だけを合計できました!

アメだけの合計をSUMPRODUCT関数で求めた画像
アメだけの合計が出た!

SUMPRODUCT関数で、複数条件に合うセルをカウントする

SUMPRODUCT関数を使うと、COUNTIFS関数のように、条件に合うセルの数をカウントできます。
書き方は以下の通り。

書き方

=SUMPRODUCT((配列1=条件)*(配列2=条件))

簡単にすると

=SUMPRODUCT((範囲と条件1)*(範囲と条件2)))

厳密には配列1、2と呼ぶのはちょっと違う気もしますが、便宜上そう呼ばせてください。

こちらも、もちろん不等号(>,<)が使えます
配列の中で3以上のものなら、「配列1>=3」といった具合です。

やまの

これも配列1と2を、「,(カンマ)」じゃなくて「*(アスタリスク)」でつなげるのがポイントなんよ。

「*」でつなげれば、条件を3つ4つと増やせます。

この表のセルE5に、商品名がアメかつ、味がバナナの数をカウントしたいと思います。

SUMPRODUCT関数で条件に合うセルの個数の練習問題
SUMPRODUCT関数の応用技を見せてあげる!

ステップ1

お分かりかと思いますが、まずはセルE5に、「=SUMPRODUCT(」と入力します。

「=SUMP」まで入力して「TABキー」でもOKです。

「=SUMPRODUCT」と入力した画面
まずは「=SUMPRODUCT」

ステップ2

次に配列1ですが、その前に「(」をもう一つ入れますよ!

入力したら、今回は1つ目の条件としてアメをカウントしたいので、商品名が書かれたセルA2~A10をドラッグします。

SUMPRODUCT関数の配列1を指定した画像
配列の前に「(」を忘れずに!

ステップ3

条件は「商品名がアメ」なので、「="アメ"」となりますね。

続いて「)」、配列2へ移りますがカンマではなく「*」なので、お間違いなきよう!

一つ目の条件を入力した画像
条件を入力

ステップ4

さて配列2……とその前に、「(」を入れましょう。

入れたら、2つ目の条件の範囲を選択します。
今回はバナナ味の数をカウントしたいので、味が書かれたセルB2~B10をドラッグします。

2つ目の条件の範囲を選択した画面
2つ目の条件の範囲を選択

ステップ5

次に2つ目の条件を指定します。
今回は、バナナ味の数をカウントしたいので、「="バナナ"」と入力します。

さてさて配列2まで終わったのでカッコで締めるんですが、「))」とカッコが二つ続くのでご注意ください。

2つ目の条件を指定した画像
2つ目の条件を指定

完成!

これで式は完成です。

エンターキーで確定すると……
無事、バナナ味のアメの個数がカウントできました!

アメかつバナナ味の個数がカウントできた画像
アメかつバナナ味の個数がカウントできた

SUMPRODUCT関数で、複数条件に合うセルの合計を求める

SUMPRODUCT関数を使うと、SUMIFS関数のように、複数の条件に合うセルの数値を合計できます。
書き方は以下の通り。

書き方

=SUMPRODUCT((配列1=条件)*(配列2=条件),配列3)

簡単にすると

=SUMPRODUCT((範囲と条件1)*( 範囲と条件2),合計したい範囲))

厳密には配列1、2と呼ぶのはちょっと違う気もしますが、便宜上そう呼ばせてください。

こちらも、不等号(>,<)が使えますよ。
配列の中で3以上のものなら、「配列1>=3」といった具合です。

やまの

これも配列1と2を、「,(カンマ)」じゃなくて「*(アスタリスク)」でつなげるのがポイント!

こちらも「*」でつなげば、条件を3つ、4つと増やせますよ。

この表のセルE8に、商品名がガムかつ、味がみかんの金額を合計したいと思います。

SUMPRODUCT関数で複数条件の合計を出したい表
SUMPRODUCT関数の応用技をご覧あれ!

ステップ1

まずはセルE5に、「=SUMPRODUCT(」と入力します。

「=SUMP」まで入力して「TABキー」でもOKです。

「=SUMPRODUCT」と入力した画像
まずは「=SUMPRODUCT」

ステップ2

次に配列1ですが、ここでも「(」をもう一つ入れますよ!

入力したら、今回は1つ目の条件としてガムをカウントしたいので、商品名が書かれたセルA2~A10をドラッグします。

SUMPRODUCT関数の配列1を指定した画像
配列の前に「(」を忘れずに!

ステップ3

続いて条件は「商品名がガム」なので、「="ガム"」となりますね。

続いて「)」、配列2へ移るので「*」を忘れずに!

1つ目の条件を入力した画像
条件を入力

ステップ4

次に「(」を入力して、2つ目の条件の範囲を選択します。
今回はみかん味なので、味が書かれたセルB2~B10をドラッグします。

2つ目の条件の範囲を選択した画面
2つ目の条件の範囲を選択

ステップ5

次に2つ目の条件を指定します。
今回はみかん味の金額を合計したいので、「="みかん"」と入力します。

カッコで締め、次の引数に移るので「,(カンマ)」も入れておいてくださいね。

2つ目の条件を指定した画像
2つ目の条件を指定
もりの

カンマ、久しぶり。

ステップ6

最後に、合計する数値の範囲を指定します。

今回は金額の合計を出したいので、単価が書かれたセルC2~C10ですね。
セルC2~C10をドラッグして、式は完成なのでカッコを閉じます。

合計したい範囲を選択した画像
最後に合計したい範囲を選択

完成!

これで式は完成です。
エンターキーで確定すると……

無事、みかん味のガムの合計金額が出せました!

ガムかつみかん味の金額が合計できた画像
ガムかつみかん味の金額が合計できた

なんでSUMPRODUCT関数で条件が指定できるの?

やまの

ここは読み飛ばしても大丈夫!

SUMPRODUCT関数は掛け算の積を合計する関数なのに、なんで条件の指定ができるのか?

例えば複数条件に合うセルの個数が分かる「=SUMPRODUCT((A2:A10="アメ")*(B2:B10="バナナ"))」で見てみましょう。

(A2:A10="アメ") や (B2:B10="バナナ") は理論式と言って、合っていたら1、違っていたら0になります。

もりの

そういう宿命なのか。

二つを「*」で掛け算しているので、どちらも合っている場合だけ、1×1で1。
どちらかが合っていなかったら0を掛けて0になります。

条件1×条件2の結果
条件1×条件2の結果

で、SUMPRODUCT関数は出てきた積を合計する関数なので、すべての答え(上の図の赤字部分)を足し算していきます。

もりの

両方合ってる1だけが、合計されていくんだね。

そう、つまり、どちらの条件も満たす件数が分かるというわけなのでした。

SUMPRODUCT関数は工夫次第で、いろんなシーンんで使えそうですね!
それでは、お疲れさまでした!

今回のおさらい
  • 積の合計を求めるならSUMPRODUCT関数
  • =SUMPRODUCT(配列1,配列2,配列3……)
  • 配列には条件の指定もできる
  • ワイルドカードは使えない

SUMPRODUCT関数を動画で見る