「乗数の総和」・SUMPRODUCT関数を活用する

当ウェブサイトのような「集計マニア」からすれば、SUMPRODUCT関数は是非ともマスターしておきたい便利技だ。この関数を利用すれば、いちいちデータを増やさずとも、乗数の総和を一発で求めることができる。実務的に非常に役に立つ関数だ。

当ウェブサイトではこれまでも何度となく「集計」をテーマにした仕事術を紹介している。

たとえばシンプルなSUM関数ひとつとっても、キーボードショートカットで一発入力する技を『簡単で超絶強力!SUM関数をキーボードから一発入力』などで紹介した(ただし注意事項もあるので『単にセル合計が知りたいときの「ちょっとした表示技」』などもご参照頂きたい)。

こうしたなか、本日紹介したいのが「SUMPRODUCT関数」だ。

こんな事例を考えてみよう(図表1)。

図表1 ある店舗における商品別の売上高と粗利益

シートの構造自体は極めてシンプルで、A列に商品名、B列に実際の売上高、C列にその各商品の粗利益率、そしてD列に粗利益が示されている。一般に店舗では多くの商品を取り扱っており、この手のスプレッドシートは、実務の世界では頻繁に目にするものだろう。

当たり前の話だが、B列を合計すれば店舗全体の売上高を、D列を合計すれば店舗全体の粗利益を、それぞれ求めることができる。

ただ、この事例だと商品数はわずか4点、図表自体もたかが4列とシンプルなものだが、現実の世界では、さまざまな種類のデータが膨大に格納されているケースも多く、「売上高と粗利益」という列以外に、いちいち粗利益を求めて合計するということが難しいケースもあるだろう。

そこで、「SUMPRODUCT関数」を紹介したい。

ためしにD7セルに、こんな関数を入力してみよう。

=SUMPRODUCT(B2:B5,C2:C5)

これは、「B2×C2」、「B3×C3」、「B4×C4」、「B5×C5」という、2つのデータの掛け算の総和を計算する関数だ。入力した結果は、図表2のとおり。

図表2 SUMPRODUCT関数の入力結果

いかがだろうか。

このSUMPRODUCT関数を入力した図表2のD7セルと、シンプルに「売上高×原価率」を計算した列を合計したD6セルの値が一致していることがご確認いただけるだろう。

すなわち、SUMPRODUCT関数を使用すれば、いちいち、セルの値を計算しなくても、複数のデータの掛け算の総和を求めることができてしまう、というわけだ。この設例だと、売上高と個々の商品の原価率があれば、店舗全体の原価率がわかる、という仕掛けである。

しかも、図表2の設例は「2つのデータ範囲」だが、SUMPRODUCT関数は複数の範囲の総和を求めることも可能だ。

スプレッドシートが複雑になればなるほど、SUMPRODUCT関数は威力を発揮するのである。