Excel(エクセル)のSUMPRODUCT関数の使い方を紹介します。SUMPRODUCT関数は応用することで、複数条件に合うデータの合計を算出したり重複を除いたデータカウントをしたりと様々な使い方をさせることができます。
まずは基本的な積の合計の仕方を学び、SUMPRODUCT関数を使用した発展的な使い方を紹介します。
目次
SUMPRODUCT関数とは
Excel(エクセル)のSUMPRODUCT関数は、対応する範囲または配列の積の合計を求める関数です。例えば画像のように、各製品の単価と販売数の積を求めて合計する場合に便利です。
応用することで掛け算の合計だけでなく、条件に合うセルのカウント(=COUNTIF)や条件に合うセルの合計(=SUMIF)を求めることもできます。
SUMPRODUCT関数の書式
SUMPRODUCT関数の書式は「=SUMPRODUCT(配列1,配列2,配列3…)」です。掛け合わせたい範囲をカンマ「,」で区切って指定します。
1つの範囲につき1列(例えばA1:A5など)を指定します。列を指定する時にはそれぞれの行番号が合うようにしてください。この行の範囲がズレるとエラーになってしまいますので気をつけましょう。
SUMPRODUCT関数の使い方|【実例】掛け算の積を合計
それではSUMPRODUCT関数の使い方を具体例を用いて見てみましょう。ここでは販売した商品の単価と購入数をまとめた表を使用して、商品の売上全ての金額を計算します。
まずは画像のような表を用意してください。表の下の方に売上の合計金額を表示する欄も作成しておきましょう。
次に作成した欄に「=SUMPRODUCT(C3:C7,D3:D7)」と関数を入力していきます。これで「Enter」キーを押すと「C3~C7」と「D3~D7」の各行のセル同士を掛け合わせた積を合計した値が算出されます。
このようにSUMPRODUCT関数を使用すれば、わざわざ掛け算の結果を別の列に表示させることなく数式一つのみで結果を得ることができます。
SUMPRODUCT関数の応用|条件に合うデータの合計を求める方法
SUMPRODUCT関数を応用すれば、条件に合うデータの合計を求めることができます。関数の基本的な使い方をマスターしていれば簡単に適用できますのでやり方を覚えましょう。
- SUMPRODUCT関数で条件に合うデータの合計を求める
- SUMPRODUCT関数で複数条件を満たすデータの合計を求める
SUMPRODUCT関数で条件に合うデータの合計を求める
まずはSUMPRODUCT関数で条件に合致する項目の数値を合計する方法です。条件に当てはまる項目の数値のみを足し合わせたい時に使用します。
構文は「=SUMPRODUCT((配列1=条件))*(配列2)」となります。具体的な使い方を見ていきましょう。
まず画像のような表を用意してください。ここでは「いちご味」の販売数を合計します。
次に販売数を表示させたいセルに「=SUMPRODUCT((B3:B14=B16)*E3:E14)」と入力しましょう。このように記述すれば、B3~B14までのセルの内、B16(いちご味)に該当する項目の行のみ有効となりE3~E14の該当するセルの値が足し合わされます。
関数を入力し終えたら「Enter」キーを押しましょう。これでいちご味のみの販売数が求められました。
このように、条件となる列×合計したい列を関数の引数に書いて該当する項目の合計を求めます。指定の仕方が少し独特なので慣れるまで繰り返し練習しましょう。
SUMPRODUCT関数で複数条件を満たすデータの合計を求める
今度はSUMPRODUCT関数で複数条件を満たすデータの合計を求めてみましょう。例えば「条件A」かつ「条件B」など、複数の条件に合致する項目の数値の合計を知りたい時に使用します。
構文は「=SUMPRODUCT((配列1=条件)*(配列2=条件))」となります。
まず画像のような表を用意してください。ここでは「いちご味」かつ「Mサイズ」の販売数のみを合計してみましょう。
次に販売数を表示させたいセルに「=SUMPRODUCT((B3:B14=B16)*(C3:C14=D16),E3:E14)」と入力しましょう。合計したいセルを第2引数に指定します。
このように記述すれば、B3~B14までのセルの内、「B16(いちご味)」かつC3~C14までのセルの内、「D16(Mサイズ)」を満たす項目の行のみ有効となり、E3~E14の該当するセルの値が足し合わされます。
このようにSUMPRODUCT関数を応用すればSUMIF関数やSUMIFS関数のように扱うことができます。
SUMPRODUCT関数で重複を除いてデータの件数をカウントする方法
SUMPRODUCT関数を使用すれば、重複を除いたデータ件数をカウントすることも可能です。例えば、重複して出てくるデータの中に項目が何種類あるのか知りたい場合に使います。
まず画像のような当番表を準備しましょう。表には当番となる人の名前が14日分表示されていますが、同じ人が異なる日を担当しているので実際に勤務している人は数名です。このように重複のあるデータで、担当者が何人いるのかカウントしてみましょう。
重複を除いてカウントする場合の構文は「=SUMPRODUCT(1/COUNTIF(範囲,範囲))」となります。範囲には重複を除いてカウントしたい範囲を指定し、両方とも同じ範囲を指定します。範囲は複数列を指定することも可能です。
例ではC18セルに「=SUMPRODUCT(1/COUNTIF(C3:C16,C3:C16))」と入力することになります。
関数を入力し終えたら「Enter」キーを押しましょう。これで重複なく、存在する項目の種類を数えることができます。例では担当者の数が3人と分かりました。
SUMPRODUCT関数の#VALUE!エラーの原因・対処方法
SUMPRODUCT関数を使用している時、#VALUE!エラーが出ることがあります。#VALUE!エラーは入力した数式に問題があるか、参照先のセルに問題がある時に表示されるエラーです。
よくある間違えとして、関数の引数同士の行範囲が一致していないことが考えられます。SUMPRODUCT関数で引数を指定する時、全ての配列の範囲(行の範囲)が一致している必要がありますので、この範囲がズレていないか確認してみましょう。
また、SUMPRODUCT関数は比較的スペルが長い関数ですので、スペルミスがないか確認しましょう。数式をよく書き間違えてしまう場合は、Excel(エクセル)の数式オートコンプリート機能を使うとミスが発生しづらくなります。
SUMPRODUCT関数の使い方についておさらい
SUMPRODUCT関数は配列の積の合計を求める関数で、応用すればCOUNTIFやSUMIFの代わりにも使えます。エラーを出さないためには、引数で指定した各範囲がズレないようにするのがポイントです。
SUMPRODUCT関数はどのような場面で使うのかイメージしづらいところもあるかもしれませんが、この記事で紹介した例を参考にしながら適用できるシーンを積極的に探してみましょう。
今話題のリスキリングは手元から!
リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。
(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)