データ入力や図表の作成、画像挿入、文章の記述まで、エクセルではあらゆる操作ができます。特にデータ入力に関しては、非常に便利な関数が多数用意されているおかげで、効率的に作業を進めることが可能です。
特に、データの合計を瞬時に求める関数や、条件を設定して、求めたい数値だけを算出できる関数は、汎用性が高く、組みあわせて使えるため、よく利用されます。
この記事では、SUMPRODUCT(サムプロダクト)関数の基本的な使い方を解説します。後半では、応用方法や、メリット・デメリットについても解説するので、ぜひ参考にしてください。
目次
エクセルのSUMPRODUCT関数とは?
エクセルのSUMPRODUCT(サムプロダクト)関数とは、指定した範囲または、配列に含まれる数値の積を合計した結果を返す関数です。商品売上の総合計を求める際は、各商品の小計を求めて、それらをSUM関数で合算する処理を行いがちですが、SUMPRODUCT関数を使えば、小計を求める掛け算と総合計を求める足し算を一括で行えます。
SUMPRODUCT関数の数式
SUMPRODUCT関数は、下記の数式で表現されます。
=SUMPRODUCT(配列,[配列2],[配列3],…)
配列は255個までセルを指定可能です。配列はコロン(:)で範囲選択します。
SUMPRODUCT関数の使い方
SUMPRODUCT関数の強みは、一括で指定範囲の数値の積を合算できる点です。上記のような売上表をまとめる際に、便利な関数になります。数式は下記のように表します。
=SUMPRODUCT(C4:C8,D4:D8)
C4セルからC8セルまでの定価を示す配列と、売り上げた個数を示すD4セルからD8セルの配列を引数に取ります。これで一括で総合計(E9セル)を算出可能です。
SUMPRODUCT関数に条件を組み合わせる
SUMPRODUCT関数は、数式に条件を自由に組み合わせられます。上記の表のように、売上や原価など、指定した文字列と合致した数値を合算できるのが特徴です。
条件を1つ設定する場合
まずは条件を1つだけ設定する場合を考えてみましょう。D列の内容が「売上」だった場合に、その数だけを抽出して合算する式を作ります。数式は下記のようになります。
=SUMPRODUCT((D4:D10=”売上”)*1,C4:C10)
D4セルからD10セルまでの配列で、売上に合致した場合に、C4セル~C10セルの対応する数値に1倍して足し算していきます。セルを足し算すると780000という売上の合計値を算出できました。
また、=SUMPRODUCT((D4:D10=G5)*1,C4:C10)という数式のように既に検索したい文字列が入力されたセルを引数に指定できます。
エクセルの仕様上、関数の引数に文字列を入力する場合は、ダブルクオーテーションマークで囲わなければなりません。ダブルクオーテーションマークを忘れてしまうと、エラーが発生します。このミスを避けたい場合は、セル番地を指定するのがおすすめです。
ちなみに、同様の処理はSUMIFS(サムイフス)関数でも可能です。数式は下記のようになります。
=SUMIFS(C4:C10,D4:D10,”売上”)
どちらを使うかは好みの問題ですが、数式を一目見たときに処理の内容がわかりやすいのはSUMPRODUCT関数の方です。
複数の条件を設定する場合
SUMPRODUCT関数は、複数の条件を設定できます。下記の画像を見てください。
新宿支店と渋谷支店の売上や家賃をまとめた表です。支店ごとに総計を出したいときは、支店と内容による検索条件を設定しなければなりません。このような場合でも、SUMPRODUCT関数が役立ちます。下記のような数式を入力してみましょう。
=SUMPRODUCT((E4:E12=”売上”)*(C4:C12=”新宿”),D4:D12)
「売上」と「新宿」の交わるセルの金額を算出しています。これを原料費、家賃でもおなじことを繰り返し、渋谷に変えて表を完成させると、上記の画像のようになります。
こちらも同様の処理をSUMIFS(サムイフス)関数で可能です。数式は下記のようになります。
=SUMIFS(D4:D12,C4:C12,”新宿”,E4:E12,”売上”)
どちらを使うかは好みの問題ですが、数式を一目見たときに処理の内容がわかりやすいのはやはりSUMPRODUCT関数の方です。
条件を設定する際の基本的なルール
SUMPRODUCT関数を使う際は、6つのルールを守らなくてはなりません。順に見ていきましょう。
ダブルクオーテーションマークで囲む
エクセルで関数の引数に文字列や日付を指定する場合は、ダブルクオーテーションマークで囲まないと正しく認識されません。ただし、セル番地と数値を引数に指定する場合は、ダブルクオーテーションマークは不要です。
条件となる値はセル番地でも直接指定でもOK
SUMPRODUCT関数で指定する値は、セル番地か値を直接指定することで設定可能です。
指定範囲は複数列を指定できない
参照する列は1列のみです。複数列を指定すると「#VALUE!」エラーが発生します。
条件ごとに丸かっこでくくる
上記の画像で解説したように、「セル範囲=”新宿”」「セル範囲=”渋谷”」といった条件を指定する場合は、丸かっこで囲みましょう。条件式が正しく認識されません。
条件式を書く順番
SUMPRODUCT関数の条件式を書く際は、基本的に「セル範囲」→「比較演算子」→「条件となる値」の順に記入しましょう。エラーが発生するわけではないのですが、一般的な形がこの順番なので、他のユーザーが数式を見たときに何の処理をしているのかわかりやすくなります。ビジネスの場でエクセルを使うと、ファイルを共有して他の人が閲覧・編集する機会が多くなるため、できるだけわかりやすい表現を採用しましょう。下記に、比較演算子の種類を解説するので、ぜひ参考にしてください。
演算子の種類 | 意味 | 入力値の例 |
= | 等しい(イコール) | =5(5と等しい) |
<> | 等しくない | <>5(5ではない,5以外) |
< | ~未満 | <5(5未満) |
> | ~より上 | >5(5より上) |
<= | ~以下 | <=5(5以下) |
>= | ~以上 | >=5(5以上) |
アスタリスクの使い方
SUMPRODUCT関数の条件式を書く際は、アスタリスク(*)を使用します。条件が1つの時は「条件式*1」、複数条件を指定する際は、「条件式①*条件式②」という数式で表します。
SUMPRODUCT関数を使うメリットとデメリット
これまでSUMPRODUCT関数の仕様や使い方について解説してきましたが、この関数を使うことで、どのようなメリットとデメリットがあるのでしょうか?
SUMPRODUCT関数を使うメリット
SUMPRODUCT関数を使うメリットは、積と合算を同時に行えることと、計算式に他ブックの情報を参照できる点が挙げられます。SUMPRODUCT関数とよく似た関数にSUMIFS関数があるのですが、この関数では他ブックの情報を参照しようとするとエラーになってしまいます。具体的な名前を出すと「#VALUE!」エラーです。
SUMPRODUCT関数を使うデメリット
SUMPRODUCT関数を使うデメリットは、その認知度が低いことです。SUMIFS関数と比べると、どうしても知名度が劣ります。せっかく数式自体は、SUMIFS関数よりもわかりやすく作成できるのに、SUMPRODUCT関数を知らなければ元も子もありません。単純な積と合算だけなく、IF系の関数を使わずに条件も設定できるため、SUMPRODUCT関数の使い方がわからなければ何の処理をしているのかすらわかりません。
SUMIFS関数との使い分け
知名度の高いSUMIFS関数でもSUMPRODUCT関数と同様の処理ができます。できないことと言えば他のブック(ファイル)を参照することくらいなので、同一ブック内の情報を参照する時はSUMIFS関数、他のブックを参照する際は、SUMPRODUCT関数を使いましょう。
SUMIFS関数の使い方
SUMIFS関数の使い方は、条件範囲と条件が並ぶため、少し複雑です。数式は下記のようになります。
=(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, 条件範囲3, 条件3,…)
下記のような、新宿支店の売上を求める数式を入力してみましょう。
=SUMIFS(D4:D12,C4:C12,”新宿”,E4:E12,”売上”)
合計対象範囲にD列の金額の入ったセルを選びます。条件範囲1は、支店を表すC列です。条件1には「新宿」を指定します。条件範囲2には、内容が記入されたE列のセルを選び、条件2に「売上」を指定する形です。すると、新宿店の売上の合計は、「430000」であることがわかりました。
作業が効率化されるエクセルのショートカット
SUMPRODUCT関数やSUMIFS関数は、数式を組み立てる作業が複雑で時間がかかってしまいます。ビジネスで使う場合には、いちいち躓いていたら時間に間に合わない可能性も出てくるでしょう。ここでは、エクセルを使う際に覚えておきたい便利なショートカットを解説します。作業が大幅に効率化されるので、作業時間短縮のために、ぜひ活用してください。
汎用的なショートカット
Ctrl + C | コピー | Ctrl + V | 貼り付け |
Ctrl + X | 切り取り | Ctrl + S | 保存する |
Ctrl + Z | 元に戻す | F12 | 名前を付けて保存 |
Ctrl + F | 検索ボックスを表示する | Ctrl + H | 置換ダイアログを表示する |
入力関連のショートカット
Ctrl + ; (セミコロン) | 現在の日付を入力 | Ctrl + : (コロン) | 現在の時刻を入力 |
Shift + F3 | 関数を挿入 | F2 | セルを入力モードにして末尾へカーソル移動 |
書式関連のショートカット
Ctrl + B | 文字を太字にする | Ctrl + I | 文字を斜体にする |
Ctrl + U | 文字に下線を引く | Ctrl + A | シート全体を選択 |
Ctrl + 1 | セルの書式設定ダイアログを表示 | Ctrl + Space | アクティブなセルと同じ列を選択 |
Ctrl + Shift + 方向キー | アクティブなセルと同じ列、または行の最後のセルまでを選択 | Shift + Space | アクティブセルと同じ行を選択 |
セル編集関連のショートカット
Ctrl + D | アクティブなセルの上のセルをコピーする | Ctrl + R | アクティブなセルの左のセルをコピーする |
Ctrl + Y | 直前の操作と同じ操作を繰り返す | Ctrl + プラス(+) | セルの挿入(セルをズラす方向を選択。列と行も選択可能) |
Ctrl + マイナス( – ) | セルの削除(セルをズラす方向を選択。列と行も選択可能) |
カーソル移動系のショートカット
← | 左に移動 | ↑ | 文頭にワープ |
→ | 右に移動 | ↓ | 文末にワープ |
Shift + ← | 1文字ずつ選択 | Shift + → | 1文字ずつ選択 |
Shift&↑ | 左側をすべて選択 | Shift&↓ | 右側をすべて選択 |
Backspace | 1つ前を削除 | Delete | 1つ後ろを削除 |
Enter | 確定して下のセルへ移動 | Tab | 確定して右のセルへ移動 |
まとめ
エクセルのSUMPRODUCT関数は、指定した範囲の積の和を求める関数です。この関数を使えば、SUM関数だけではできなかった条件付けも可能になります。例えば、指定した値と等しいときにのみ合算するという処理など、SUMPRODUCT関数は応用の幅が広いです。
ただし、同様の処理ができるSUMIFS関数と比べると知名度に劣るため、複数人で管理するエクセルファイルで使用する際は、関数の使い方を説明しておきましょう。