ExcelとAccessのスキルアップをサポートするサイトです

ExcelとAccessの学習室

エクセルのSUMPRODUCT関数を使って集計する

今日はエクセルのSUMPRODUCT関数を紹介したいと思います。

一般に、単価と個数を掛けて金額を計算し、総合計を求めることができる、「掛け算と足し算を一緒に行う」関数としてSUMPRODUCT関数は知られています。

しかし、SUMPRODUCT関数の優れた機能はそれだけではありません。

条件を設定出来て、抽出したいところの合計や件数を示すことが出来ます。

つまり、SUMIFやCOUNTIFと同等の機能をSUMPRODUCT関数は持ち合わせています。

この記事を読むことで、

  • 掛け算と足し算の組み合わせ計算が一発で計算できる
  • 表に途中のセルを設けずに最終の計算結果を求めることできる
  • 表のサイズを節約することができる

といった効果を期待できます。

SUMPRODUCT関数の標準的な使い方

各商品の日別売上データがあります。

全期間の売上総額を計算したい時には、以下のような流れで作業を追加することが多いのではないでしょうか?

  1. 単価と個数をかけて金額を計算
  2. SUM関数を使って売上総額を計算

ここでは、金額を合計して、「16,330」という結果が出力されました。

元々がシンプルな表であれば、そのような流れでも支障ないのですが、

  • 印刷スペースが足りない
  • 表自体のボリュームを節約したい

といったときに、計算の途中で表示される金額の計算が邪魔になることもあり得ます。

四則演算でも計算できるのですが、メンテナンス性の悪い数式が出来上がってしまいます。

そんな時は、SUMPRODUCT関数を使うと、数式の長さも短く済み、途中の計算も不要です。

引数として2つのセル範囲を設定するだけで、掛け算と足し算を組み合わせて計算してくれます。

SUMPRODUCT関数を使うことで、途中の計算の必要なく「16,330」という結果を求めることが出来ました。

2. SUMPRODUCT関数の使い方応用編

SUMPRODUCT関数を使っていろいろ集計を行うことが出来ます。

まずは総金額の計算方法を少し変えて計算してみます。

引数を1つにして、範囲を*(アスタリスク)で結ぶと、基本のSUMPRODUCT関数と同じ結果を出力します。

SUMPRODUCT関数と「*」を組み合わせて使う事が出来ると、更に使い方の幅が大きく広がります。

まずは、SUMPRODUCT関数でSUMIF関数と同じ計算を行うことができます。

全商品ではなく、「たまねぎ」のみの金額を合計してみます。

第一引数は、「*」を使って掛け算と足し算を組み合わせたい2つの範囲を結びます。

第二引数では「たまねぎ」を条件に指定するため、商品名が入力された範囲を使って「(B2:B16=F2)*1」とします。

結果、「たまねぎ」のみの合計金額をを計算することが出来ました。

ここで、第二引数を設定する時に「*1」を入れ忘れると、結果が「0」になってしまいます。

条件を指定する引数では、「*1」が必要になるので、注意しましょう。

更に、先ほどの数式に第一引数を無くし、「(B2:B16=F2)*1」のみを引数にすると、COUNTIF関数と同じ様に、「たまねぎ」のデータ件数である「3」を求める事が出来ました。

まとめ

このように、SUMPRODUCT関数を使って、様々な計算を行う事が出来ます。

今回は、どちらかと言えばシンプルな計算方法に触れましたが、他の関数と組み合わせることで、更に色々な計算を行う事が出来ます。

自分だけのSUMPRODUCT関数の使い方を見つける事が出来れば、Excel に対する理解も深まり、レベルアップも図れるのではないでしょうか?


本日もありがとうございました。