メインコンテンツへスキップ

ExcelのSUMPRODUCT関数

Author: Xiaoyang Last Modified: 2025-08-06

Excelでは、SUMPRODUCT関数を使用して2つ以上の列や配列を掛け合わせ、その積の合計を求めることができます。実際、SUMPRODUCTは複数の条件に基づいてセルの値をカウントしたり合計したりするのに役立つ便利な関数で、COUNTIFSやSUMIFS関数と同様の機能を持っています。この記事では、このSUMPRODUCT関数の構文といくつかの使用例を紹介します。

show the usage of SUMPRODUCT function


 構文:

ExcelにおけるSUMPRODUCT関数の構文は次の通りです:

=SUMPRODUCT (配列1, [配列2], ...)

 引数:

  • 配列1: 必須。乗算してから加算したい最初の配列またはセル範囲です。
  • 配列2: オプション。乗算してから加算したい2番目の配列またはセル範囲です。

注意点:

  • 1. 範囲に数値以外の値が含まれている場合、SUMPRODUCTはそれらをゼロとして扱います。
  • 2. 配列または範囲の行数や列数が異なる場合、SUMPRODUCT関数は#VALUE!エラーを返します。
  • 3. 配列内に論理テストがある場合、TRUEおよびFALSE値が生成されます。多くの場合、二重の単項演算子(--)を使用してこれらを1と0に変換する必要があります。
  • 4. Excel 2007以降のバージョンでは、SUMPRODUCT関数は最大255個の引数を処理できますが、以前のバージョンでは30個しか処理できません。
  • 5. SUMPRODUCT関数はワイルドカード文字をサポートしていません。

 戻り値:

乗算され合計された配列の結果を返します。


 例:

例1: SUMPRODUCT関数の基本的な使い方

SUMPRODUCTの基本的な使い方は、2つの列を掛け合わせてから合計することです。例えば、以下のスクリーンショットのようなデータがあるとします。ここで、注文数と単価を掛け合わせ、すべての掛け算結果を合計して総価格を求めたいとします。

show the usage of SUMPRODUCT function

このタスクに対処するには、以下の数式を適用してください:

=SUMPRODUCT(B2:B7,C2:C7)

説明: この数式 SUMPRODUCT(B2:B7,C2:C7) = B2*C2+B3*C3+B4*C4+B5*C5+B6*C6+B7*C7 です。

その後、Enterキーを押すと、列Bのセルが同じ行の列Cの対応するセルと掛け合わされ、結果が合計されます。スクリーンショットをご覧ください:

show the usage of SUMPRODUCT function


例2: 複数の条件に基づいてセルを合計するSUMPRODUCT関数の使用

複数の条件に基づいてセルの値を合計するには、SUMIFS関数だけでなく、SUMPRODUCT関数もこの作業を迅速かつ簡単に解決できます。


ケース1: 別の列に特定のテキストが含まれている場合にセルの値を合計する

例えば、以下のようにデータテーブルがあるとします。ここで、製品が「KTE」で名前が「David」の場合の総価格を計算したいとします。ExcelでSUMPRODUCT数式を使用してどのようにすればよいでしょうか?

show the usage of SUMPRODUCT function

1. 次のいずれかの数式を空白のセルに入力またはコピーしてください:

=SUMPRODUCT(--(A2:A12="KTE"), --(B2:B12="David"), D2:D12)
=SUMPRODUCT((A2:A12="KTE")*(B2:B12="David")*D2:D12)
  • ヒント: 上記の数式では:
  • A2:A12="KTE": 合計する最初の条件範囲と条件です。
  • B2:B12="David": 合計する2番目の条件範囲と条件です。
  • D2:D12: 合計したいセル範囲です。

2. そして、Enterキーを押して必要な結果を得ます:

show the usage of SUMPRODUCT function


ケース2: OR条件で複数の条件に基づいてセルを合計する

複数の条件に基づいてOR条件でセルを合計するには、SUMPRODUCT関数内でプラス記号(+)を使用して複数の条件を結合する必要があります。

例えば、列Aにある製品「KTE」と「KTO」の総価格を合計したいとします。以下のスクリーンショットをご覧ください:

show the usage of SUMPRODUCT function

次の数式を空白のセルに適用してください:

=SUMPRODUCT((A2:A12="KTE")+(A2:A12="KTO"), C2:C12)

そして、Enterキーを押すと、「KTE」と「KTO」の製品の総価格が計算されます。スクリーンショットをご覧ください:

show the usage of SUMPRODUCT function


ケース3: OR条件とAND条件で複数の条件に基づいてセルを合計する

状況によっては、同時にOR条件とAND条件でセルを合計する必要があるかもしれません。SUMPRODUCT関数はこの作業も簡単に対処できます。

アスタリスク(*)はAND演算子として使用されます。

プラス記号(+)はOR演算子として使用されます。

例を見てみましょう。販売数が200より大きい場合の「KTE」と「KTO」の総価格を求める場合です。

show the usage of SUMPRODUCT function

次の数式をコピーまたは入力してください:

=SUMPRODUCT((B2:B12>200)*((A2:A12="KTE")+(A2:A12="KTO"))*C2:C12)

そして、 Enterキーを押して必要な結果を得ます:

show the usage of SUMPRODUCT function


例3: 複数の条件に基づいてセルをカウントするSUMPRODUCT関数の使用

一般的に、このSUMPRODUCT関数はExcelで複数の条件に基づいてセルをカウントするのにも役立ちます。合計値を求める場合と同じように、数式からsum_range引数を削除するだけです。


ケース1: AND条件で複数の条件に基づいてセルをカウントする

ここでは、製品が「KTE」で販売数が200より大きいセルをカウントしたいとします。次のいずれかの数式を使用してください:

=SUMPRODUCT(--(A2:A12="KTE"), --(B2:B12>200))
=SUMPRODUCT((A2:A12="KTE")*(B2:B12>200))
  • ヒント: 上記の数式では:
  • A2:A12="KTE": カウントする最初の条件範囲と条件です。
  • B2:B12>200: カウントする2番目の条件範囲と条件です。

そして、Enterキーを押して結果の数値を得ます:

show the usage of SUMPRODUCT function


ケース2: OR条件で複数の条件に基づいてセルをカウントする

列Aにある製品「KTE」と「KTO」の数をカウントするには、次の数式を適用してください:

=SUMPRODUCT((A2:A12="KTE")+(A2:A12="KTO"))

そして、Enterキーを押して製品「KTE」と「KTO」の数を得ます。スクリーンショットをご覧ください:

show the usage of SUMPRODUCT function


ケース3: OR条件とAND条件で複数の条件に基づいてセルをカウントする

販売数が200より大きい「KTE」と「KTO」の製品数をカウントするには、次の数式を適用してください:

=SUMPRODUCT((B2:B12>200)*((A2:A12="KTE")+(A2:A12="KTO")))

そして、 Enterキーを押して必要な結果の数値を得ます:

show the usage of SUMPRODUCT function


例4: SUMPRODUCT関数を使用して加重平均を計算する

通常、セル範囲の平均を素早く簡単に計算できます。しかし、異なる重要度を持つ一連の値の平均を計算したい場合は、加重平均を計算する必要があります。Excelには直接的な関数はありませんが、SUMPRODUCT関数を使用することでこれを解決できます。

例えば、生徒の成績統計表があり、各課題が異なる重みを持っているとします。以下のスクリーンショットをご覧ください。

show the usage of SUMPRODUCT function

加重平均を計算するには、次の数式を使用してください:

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

説明: この数式: SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6) = (B2*C2+B3*C3+B4*C4+B5*C5+B6*C6)/(C2+C3+C4+C5+C6)

そして、Enterキーを押すと、加重平均がすぐに計算されます。スクリーンショットをご覧ください:

show the usage of SUMPRODUCT function


 SUMPRODUCT関数に関するその他の記事:

  • 複数のワークシート間で特定の値をカウントする
  • 例えば、次のようなデータを持つ複数のワークシートがあり、これらのワークシートから特定の値「Excel」の出現回数を取得したいとします。複数のワークシート間で特定の値をカウントするにはどうすればよいでしょうか?
  • Excelで複数の条件に基づいて最大値を見つける
  • Excelでは、MAX関数を使用して最大値を簡単に取得できます。しかし、時には特定の条件に基づいて最大値を見つける必要がある場合があります。Excelでこのタスクをどのように処理すればよいでしょうか?
  • Excelで加重平均を計算する
  • 例えば、価格、重量、数量が記載された買い物リストがあるとします。ExcelではAVERAGE関数を使用して平均価格を簡単に計算できます。しかし、加重平均価格はどうでしょうか?この記事では、加重平均を計算する方法と、Excelで特定の条件に基づいて加重平均を計算する方法を紹介します。

最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。