SUMPRODUCT 関数


書式 :SUMPRODUCT(配列1, [配列2], [配列3]...)

機能 :指定した配列の、乗算の和を返します

解説 :かけ算した全ての結果を合計するときに使います

下の図をご覧ください。4人の社員で飲み会を開きます。基本的な会費は男性2,000円で女性は1,500円です。ただし、勤続年数によって多めに負担しなければなりません。どれくらい上乗せするかは掛け率が決まっています。さて、4人合わせていくら集まるでしょう…という計算をしています。答はSUMPRODUCT関数を使って一発です。

かけ算の結果を合計する

SUMPRODUCT関数で指定した引数は下図のとおりです。

SUMPRODUCT関数の引数には配列を指定します。配列とはデータのかたまりです。関数の引数に指定する配列は、一般的に複数個のセルです。ここではSUMPRODUCT関数に、セル範囲B2:B5とセル範囲C2:C5の2つの配列を指定しました。

これを手計算で行う場合、まず田中さんの支払う金額を「2000×1.5」として計算します。次に山下さんの「2000×1.2」を計算します。そうして計算した4人それぞれの金額を合計します。つまり、本来は下図のように計算するわけです。

わかりますか?イメージしてくださいね。SUMPRODUCT関数に指定した配列は次の2つです。

それぞれの配列の、1番目の要素(1)同士をかけ算し、次に2番目(2)同士をかけ算し…すべての要素をかけ算したら、かけ算の結果を合計します。それがSUMPRODUCT関数の働きです。

あまり使う機会がないと思いますか?そうかもしれませんね。SUM関数やIF関数のように、日常ひんぱんに使う関数ではありません。しかし、関数の持ちネタは多いに越したことはありません。何かのケースで「むむ、アレだ!」と閃くかもしれません。さらに上級者は、次のような必殺技も覚えておきましょう。興味のある方はだけどうぞ。

SUMPRODUCT関数の引数には配列を指定します。Excel上で配列といえば、VBA以外では一般的にセル範囲を指します。ところが、実は配列をそのまま指定することもできるのです。

セル内で指定する配列は中括弧でくくり、要素をセミコロンで区切ります。さらに、この配列に名前を付けて使うとカッコイイです。配列に名前を付けるには、[挿入]-[名前]-[定義]で[名前の定義]ダイアログボックスを開きます。[名前]ボックスに適当な名前を入力し、[参照範囲]ボックスに配列を入力します。このとき、配列の先頭に「=」を付けてください。

あとはSUMPRODUCT関数など配列を使う関数内で、この名前を使います。可読性は悪くなりますが、テクニック的に85へぇ~はいくでしょう。