跳转至

SUMPRODUCT 函数

函数概述

SUMPRODUCT 是 Excel 中用于“先相乘、再求和”的经典函数。它可以把一个或多个数组(区域)中对应位置的元素相乘,然后把所有乘积累加得到最终结果。

你可以把它理解为:

  • 多列相乘后汇总(例如:数量 × 单价,再把所有行加总)
  • 带条件的求和(通过把逻辑判断转换为 0/1 来筛选)
  • 多条件加权汇总(例如:按权重或系数对数据求加权和)

SUMPRODUCT 的优势在于:无需辅助列也能完成许多复杂汇总,而且在不少场景下比数组公式更直观。


基础语法

SUMPRODUCT(array1, [array2], [array3], ...)

参数说明

  • array1(必填) 第一个数组或区域。可以是单列、单行或多行多列区域。

  • [array2], [array3], ...(可选) 后续参与运算的数组或区域。 要求:所有数组的尺寸必须一致(行数和列数相同),否则无法按“对应位置”相乘。

运算规则要点

  1. 若传入多个数组: 会对每个位置执行: array1(i) × array2(i) × array3(i) × ... 然后把所有位置的结果求和。

  2. 数组内容通常为数值。若需要做条件筛选,常见做法是把条件表达式变成 0/1(详见后文示范)。


基础用法示范

以下示范均为常见业务场景。你可以直接把区域替换成自己的表格范围。

1)二维“数量 × 单价”的总销售额

场景:A 列是数量,B 列是单价,想计算所有行的总金额。 公式:

=SUMPRODUCT(A2:A100, B2:B100)

解释:对每行执行 数量×单价,再把所有行相加,等同于“逐行金额求和”,但不需要额外的“金额”辅助列。


2)加权平均

场景:A 列是销量(权重),B 列是单价(值),希望计算按销量加权的平均单价。 公式:

=SUMPRODUCT(A2:A100, B2:B100) / SUM(A2:A100)

解释:分子是“销量×单价”的总和,分母是总销量,得到加权平均。


3)单条件求和

场景

  • C 列是品类
  • A 列数量,B 列单价
  • 只汇总品类为“饮料”的销售额

公式:

=SUMPRODUCT((C2:C100="饮料")*A2:A100*B2:B100)

解释

  • (C2:C100="饮料") 会产生一组 TRUE/FALSE
  • 乘法运算中 TRUE/FALSE 会被当作 1/0
  • 因此只有品类为“饮料”的行会保留金额,其余行变为 0,最后再求和

4)多条件求和

场景

  • C 列品类
  • D 列地区
  • 统计:品类=“饮料” 且 地区=“华东”的销售额(数量×单价)

公式:

=SUMPRODUCT((C2:C100="饮料")*(D2:D100="华东")*A2:A100*B2:B100)

解释:两个条件数组相乘,只有同时为 TRUE 的行才会是 1×1=1,否则为 0,实现 AND 逻辑筛选。


5)多条件求和

场景:统计品类为“饮料”或“零食”的销售额。

公式:

=SUMPRODUCT(((C2:C100="饮料")+(C2:C100="零食")>0)*A2:A100*B2:B100)

解释

  • (条件1)+(条件2) 会得到 0/1/2
  • >0 把“至少满足一个条件”转换为 TRUE/FALSE
  • 再乘以金额数组进行求和,实现 OR 逻辑

6)按区间条件求和

场景

  • E 列为订单日期
  • 统计 2025-01-01 到 2025-12-31 的销售额(数量×单价)

公式:

=SUMPRODUCT((E2:E100>=DATE(2025,1,1))*(E2:E100<=DATE(2025,12,31))*A2:A100*B2:B100)

解释:两个区间条件相乘,筛出日期在范围内的行,再汇总金额。


7)统计符合条件的记录数(Count)

场景:统计地区为“华东”的订单数量(行数)。 公式:

=SUMPRODUCT(--(D2:D100="华东"))

解释

  • (D2:D100="华东") 返回 TRUE/FALSE
  • --(双负号)把 TRUE/FALSE 强制转换为 1/0
  • SUMPRODUCT 对 1/0 求和即可得到计数

8)多列同时参与:计算“折扣后销售额”

场景

  • 数量 A 列
  • 单价 B 列
  • 折扣率 F 列(例如 0.9 表示九折) 计算折扣后总销售额。

公式:

=SUMPRODUCT(A2:A100, B2:B100, F2:F100)

解释:对应行执行 数量×单价×折扣率,再求和。


总结

SUMPRODUCT 的核心价值可以概括为三点:

  1. 先乘后和:把“逐行计算 + 汇总”的工作合并到一个公式里,减少辅助列依赖。
  2. 天然适合条件汇总:通过把条件表达式转为 0/1,实现单条件、多条件、区间条件的求和与计数。
  3. 适配加权计算:加权和、加权平均、系数调整等业务分析场景都非常顺手。

掌握 SUMPRODUCT 的关键是理解: 数组对应位置运算 + 逻辑条件转 0/1。 一旦熟悉这个思路,你会发现它可以覆盖大量日常数据分析的汇总需求。