掛け算した結果が複数あり、それを合計したい場合、SUMPRODUCT(サムプロダクト)関数が便利です。 Excelでは、単価×数量を合計して複数の商品の売上を求めたいとき、掛け算と足し算を組み合わせて行うことがよくあります。 下図は、各商品の「単価×販売個数」を計算し、まずは売上合計を求めています。その全行分を売上総合計に算出しています。
「1月の売上総合計を求める」
しかし、このような中継点となる列を設けなくてもシンプルに最終結果(売上総合計)を計算できる方法があります。そこで、「SUMPRODUCT関数」を使用します。 また、同様の結果が得られる、「配列数式」の使い方も解説していきます。 さらに、SUMPRODUCT関数の便利な使用法を後述します。
SUMPRODUCT関数を使うと、配列の対応する要素間の積をまず計算し、さらにその結果の合計を求めることができます。
=SUMPRODUCT(配列1,配列2,…) 配列:数値が入力されているセル範囲を指定
※引数は最大255個まで指定
※配列をセル範囲で指定する場合は、同じ行数と列数を持つセル範囲を指定
例)「1月の売上総合計を求める」 =SUMPRODUCT(B4:B7,C4:C7)と入力し、Enterを押す。
関数の挿入ダイアログボックスを使用する場合は、関数の分類は「数学/三角」にし、 引数の配列1にセル範囲【B4:B7】、配列2にセル範囲【C4:C7】を指定します。 (187,000×3)+(30,000×5)+(10,000×6)+(3,890×15)と、各要素の積を計算し、その結果の合計が求められました。 これが、SUMPRODUCT関数の基本的な使い方になります。
次に、配列数式を使って売上総合計を求めてみます。 そもそも、「配列数式」とは何でしょうか。「配列数式」とは表内の複数のセルやセル範囲の値をまとめて、ひとつの数式で計算できるようにしたものです。複雑な計算をしたり、いくつものセルを使用したりする場合も簡単に計算できます。 数式を入力し、Ctrl + Shift + Enterで確定すると、入力した数式が「配列数式」と見なされます。配列数式は、自動的に「 { } 」(中カッコ)で囲まれます。
例)「1月の売上総合計を求める」 =SUM(B4:B7*C4*C7)と数式を入力し、最後にEnterではなく、「Ctrl + Shift + Enter」で確定します。 入力した数式が「配列数式」と見なされ、自動的に「 { } 」(中カッコ)で囲まれます。
※この、「配列数式」は、Microsoft 365のExcelでは、Spill(動的配列数式)機能により、Enterでの通常確定で 配列数式として扱われるようになりました。
このように「SUMPRODUCT関数」や「配列数式」を使用して計算すれば、各商品の「単価×販売個数」の結果を算出しなくてもいいので、スピーディーに売上合計を出すことができ、時短につながります。
さて、SUMPRODUCT関数には、他にも便利な使い方があります。 様々なシーンで活躍できる使い方3点をご紹介します。
先述した「SUMPRODUCT関数」は、配列の掛け算の和以外に、割り算の和、引き算の和、足し算の和を求めることもできます。数式は配列引数を区切る「,(カンマ)」を、必要な算術演算子に置き換えます。 数式は配列引数を区切る「,(カンマ)」を、必要な算術演算子に置き換えます。
例)「テキストの全在庫数を求める」 =SUMPRODUCT(B3:B8-C3:C8) 各配列の要素の引き算の結果をすべて足した値(和)が表示されています。
※配列数式を使う場合は「=SUM(B3:B8-C3:C8)」と入力して「Ctrl + Shift + Enter」で確定します。
SUMPRODUCT関数は、「条件に合うセルの数をカウント」することもできます。
◉条件が一つの場合
=SUMPRODUCT((条件式1)*1) 条件が一つの場合は1つ目の条件のカッコの後ろに「*1」を付けます。
例)「研修名が「Excel関数」の回数を求める」 =SUMPRODUCT((A3:A13=E3)*1)と入力してEnterを押します。 ※カッコの数や「*」の位置などを間違えないように入力しましょう。
◉複数条件の場合 =SUMPRODUCT((条件式1)*(条件式2)... ) 複数条件の場合は条件のカッコ同士を「*」で繋げます。
例)「研修名が「Excel関数」で担当者が「安藤」の回数を求める」 =SUMPRODUCT((A3:A13=E3)*(C3:C13=F3)) と入力してEnterを押します。 ※カッコの数や「*」の位置などを間違えないように入力しましょう。
SUMPRODUCT関数を使うと、SUMIF関数のように、条件に合う値の合計を求めることができます。 =SUMPRODUCT((配列1=条件)*(配列2)) 例)「 Excel販売合計を求める」 =SUMPRODUCT((B3:B12="Excel")*(C3:C12))と入力してEnterを押します。 配列1には(検索条件範囲と条件)が入ります。その後ろに「*」を入力して(合計したいセル範囲)を入力します。 ※カッコの数や「*」の位置などを間違えないように入力することがポイントです。 「Excel」だけの合計が求められました。
※COUNTIF関数、COUNTIFS関数、SUMIF関数、SUMIFS関数との違い 条件に合うセルの数をカウントするには「COUNTIF関数、COUNTIFS関数」があります。 条件に合うセルの合計を求めるには「SUMIF関数、SUMIFS関数」があります。 では、「SUMPRODUCT関数」との違いは何でしょうか。「SUMPRODUCT関数」は別ブック(ファイル)を参照してもエラーになりません。「別ブックを参照する」とは、「数式を入れたブックと値を参照するブックが異なる」場合のことです。COUNTIF関数、COUNTIFS関数、SUMIF関数、SUMIFSは別ブックを参照すると、そのブックが閉じている場合にはエラーになります。その都度参照先のブックを開くことでエラーは解消されますが、別ブック(ファイル)を参照する数式を作成する場合は「SUMPRODUCT関数」を使うとよいでしょう。
いかがでしたでしょうか。このようにSUMPRODUCT関数1つを使って、様々な結果を算出することが出来ました。 数式を入力する必要もあるので、複雑そうに見えますが、入力している情報はシンプルです。数式を入力して結果を出してから意味を理解できるようにすることがポイントです。「SUM関数」や「COUNTIF関数」など、普段使い慣れている関数を引き続き使用するのもよいですが、また違った関数を使ってみることで、その違いを理解することができたり、時間短縮やミスを防いだりすることにもつながりますね。ぜひ、試してみてください。 Officeが新しくなるたびに新しい関数が登場しますね。 東京パソコンアカデミーの新講座、「Excel関数」ではSUMPRODUCT関数と配列数式について解説しています。 他にも「INDIRECT」「CONCAT」「WEEKDAY」「WORKDAY」「EOMONTH」など新しく関数を取り入れました。 ご希望の方は教室スタッフまでお問合せください。
この記事の著者:石田 亜希子
Copyright © 2019 by KOHGAKUSHA Co. Ltd All rights reserved.