スプレッドシートSUMPRODUCTで条件付き合計/件数をまとめて解決!つまずきポイントも先回り解説
SUMPRODUCT関数は、名前からして難しそうに見える関数です。
「使い方がわからない」
「いつ使うの?」
「何に気をつければいい?」
と感じる人も多いはずです。
SUMPRODUCTは、複数条件の集計や「条件に合う行だけ計算して合計する」といった場面で強力です。
この記事では、基本形から入り、よくある使いどころ、つまずきポイントの順で、コピペできる例を使って説明します。
僕はスプレッドシート歴7年で、オンラインセミナー(100名以上参加)やリアル勉強会も開催してきました。
実務でよく出るパターンに絞って、できるだけかみ砕いて解説します。
SUMPRODUCT関数とは(何ができる?)

SUMPRODUCTは「掛け算した結果を足し合わせる」関数です。
行ごとに計算した値を合計するときに便利で、条件を組み合わせた集計にも応用できます。
たとえば「数量 × 単価」を各行で計算して、その合計を出すようなケースに向いています。
SUMIF/SUMIFSは条件に合う値を合計する専用関数で読みやすい一方、SUMPRODUCTは「条件に合う行だけ残す」動きを式の中で作れるため、条件と計算が絡む場面で使いやすいことがあります。
SUMIFSで済むならSUMIFSでOK、計算込みや柔軟な条件づけが必要ならSUMPRODUCTが候補、というイメージです。
まずは基本形:一番シンプルなSUMPRODUCT
サンプルデータ(コピペ用:タブ区切り)
下をそのままスプレッドシートに貼り付けてください(A1から貼る想定)。
日付 担当 商品 数量 単価 地域
2026/02/01 田中 りんご 3 120 東
2026/02/01 田中 みかん 2 80 東
2026/02/02 佐藤 りんご 1 120 西
2026/02/02 佐藤 バナナ 5 100 西
2026/02/03 鈴木 みかん 4 80 東
2026/02/03 鈴木 バナナ 2 100 西

例1:数量×単価の合計(売上合計)
=SUMPRODUCT(D2:D7, E2:E7)

D列(数量)とE列(単価)を行ごとに掛け算し、その結果をすべて合計します。
売上合計を一発で出したいときの基本形です。
使いどころがわかる:SUMPRODUCTが強い3パターン
パターン1:複数条件の合計(AND条件)
たとえば「担当が田中」かつ「地域が東」の売上合計を出す場合は、条件に合う行だけ数量×単価が残る形にします。
=SUMPRODUCT((B2:B7="田中")*(F2:F7="東")*D2:D7*E2:E7)

(B2:B7="田中") や (F2:F7="東") は、条件に合う行がTRUE、合わない行がFALSEになります。
これらを掛け算でつなぐと、条件に合う行だけが1のように働き、合わない行は0のように働きます。
そこに数量と単価を掛けることで、条件に合う行の売上だけが合計対象になります。
パターン2:複数条件の件数(COUNTIFS代わり)
条件に合う行数を数えたいだけなら、条件の掛け算を合計するイメージです。
たとえば「商品がバナナ」かつ「地域が西」の行数は次のように数えられます。
=SUMPRODUCT((C2:C7="バナナ")*(F2:F7="西"))

COUNTIFSでもできますが、条件の作り方を広げたいときにSUMPRODUCTが便利になるケースがあります。
パターン3:条件×計算(条件に合う売上だけ合計)
「りんご」の売上合計のように、条件に合う行だけ数量×単価を合計したい場合は次の形がわかりやすいです。
=SUMPRODUCT((C2:C7="りんご")*D2:D7*E2:E7)

SUMPRODUCTは合計する値そのものを式で作れるため、計算込みの集計をシンプルに書けます。
つまずきポイント

範囲サイズがズレるとエラーになりやすい
掛け合わせる範囲は、同じ行数・同じ形に揃える必要があります。
たとえば D2:D7 と E2:E8 のようにズレるとエラーになりやすいです。
式を作るときは開始行と終了行を揃えてください。
TRUE/FALSEの扱いで混乱する
条件式はTRUE/FALSEになりますが、掛け算(*)でつなぐと0/1のように働きます。
まずは「掛け算=AND条件」と覚えておくと迷いにくいです。
文字列・空白・数値の型ズレ
見た目が同じでも「文字としての100」と「数値の100」が混ざると、計算が期待通りにならないことがあります。
インポートしたデータや手入力が混在しているときに起きやすいので、数値列は表示形式を「数字」に揃えるなど、型を整えてから使うと安定します。
全列参照は重くなりやすい
D:Dのような全列参照は便利ですが、データが増えるとシートが重くなる原因になります。
現実的な上限まで範囲を切って(例:D2:D1000)使うほうが快適です。
よくある質問(FAQ)

Q1. SUMIFSでできるならSUMPRODUCTを使わなくていい?
A. 多くのケースではSUMIFSのほうが読みやすく、まず試す価値があります。
数量×単価のように「計算した結果を合計したい」場合や、条件の作り方を柔軟にしたい場合にSUMPRODUCTが選択肢になります。
Q2. エラーが出たときの最優先チェックは?
A. 範囲のサイズが揃っているかを最初に見てください。次に、参照している列が合っているか(条件列の取り違えなど)を確認すると原因が見つかりやすいです。
Q3. 複数条件(AND)ってどう考えればいい?
A. 条件1も条件2も満たす行だけを残し、それ以外を落とすイメージです。掛け算で条件をつなぐと、その動きになります。
Q4. 覚え方のコツは?
A. 「条件(残す/落とす)×計算値」という形で慣れるのがおすすめです。条件を増やすときは掛け算で足していく感覚で広げられます。
まとめ(要点を箇条書き)

SUMPRODUCTは「掛け算した結果を合計する」関数で、行ごとの計算に強い
基本形は =SUMPRODUCT(範囲1, 範囲2)(例:数量×単価の合計)
条件付き集計は「条件(1/0) × 計算値」の形で考えると理解しやすい
複数条件(AND)は条件同士を * でつなぐ
件数も条件だけを合計すれば数えられる
つまずきやすいポイントは次の4つ
範囲サイズのズレ(同じ行数に揃える)
TRUE/FALSEの扱い(掛け算で0/1として働く)
数値と文字列の型ズレ(表示形式の統一)
全列参照の重さ(範囲を現実的に切る)
次に読む記事としては、SUMIFS/COUNTIFSでの基本的な条件付き集計、さらにQUERY/FILTERでの抽出・集計を押さえると、状況に応じて最適な方法を選べるようになります。
