SUMPRODUCT 函数¶
函数概述¶
SUMPRODUCT 是 Excel 中用于“先相乘、再求和”的经典函数。它可以把一个或多个数组(区域)中对应位置的元素相乘,然后把所有乘积累加得到最终结果。
你可以把它理解为:
- 多列相乘后汇总(例如:数量 × 单价,再把所有行加总)
- 带条件的求和(通过把逻辑判断转换为 0/1 来筛选)
- 多条件加权汇总(例如:按权重或系数对数据求加权和)
SUMPRODUCT 的优势在于:无需辅助列也能完成许多复杂汇总,而且在不少场景下比数组公式更直观。
基础语法¶
参数说明¶
-
array1(必填) 第一个数组或区域。可以是单列、单行或多行多列区域。
-
[array2], [array3], ...(可选) 后续参与运算的数组或区域。 要求:所有数组的尺寸必须一致(行数和列数相同),否则无法按“对应位置”相乘。
运算规则要点¶
-
若传入多个数组: 会对每个位置执行:
array1(i) × array2(i) × array3(i) × ...然后把所有位置的结果求和。 -
数组内容通常为数值。若需要做条件筛选,常见做法是把条件表达式变成 0/1(详见后文示范)。
基础用法示范¶
以下示范均为常见业务场景。你可以直接把区域替换成自己的表格范围。
1)二维“数量 × 单价”的总销售额¶
场景:A 列是数量,B 列是单价,想计算所有行的总金额。 公式:
解释:对每行执行 数量×单价,再把所有行相加,等同于“逐行金额求和”,但不需要额外的“金额”辅助列。
2)加权平均¶
场景:A 列是销量(权重),B 列是单价(值),希望计算按销量加权的平均单价。 公式:
解释:分子是“销量×单价”的总和,分母是总销量,得到加权平均。
3)单条件求和¶
场景:
- C 列是品类
- A 列数量,B 列单价
- 只汇总品类为“饮料”的销售额
公式:
解释:
(C2:C100="饮料")会产生一组 TRUE/FALSE- 乘法运算中 TRUE/FALSE 会被当作 1/0
- 因此只有品类为“饮料”的行会保留金额,其余行变为 0,最后再求和
4)多条件求和¶
场景:
- C 列品类
- D 列地区
- 统计:品类=“饮料” 且 地区=“华东”的销售额(数量×单价)
公式:
解释:两个条件数组相乘,只有同时为 TRUE 的行才会是 1×1=1,否则为 0,实现 AND 逻辑筛选。
5)多条件求和¶
场景:统计品类为“饮料”或“零食”的销售额。
公式:
解释:
(条件1)+(条件2)会得到 0/1/2>0把“至少满足一个条件”转换为 TRUE/FALSE- 再乘以金额数组进行求和,实现 OR 逻辑
6)按区间条件求和¶
场景:
- E 列为订单日期
- 统计 2025-01-01 到 2025-12-31 的销售额(数量×单价)
公式:
解释:两个区间条件相乘,筛出日期在范围内的行,再汇总金额。
7)统计符合条件的记录数(Count)¶
场景:统计地区为“华东”的订单数量(行数)。 公式:
解释:
(D2:D100="华东")返回 TRUE/FALSE--(双负号)把 TRUE/FALSE 强制转换为 1/0- SUMPRODUCT 对 1/0 求和即可得到计数
8)多列同时参与:计算“折扣后销售额”¶
场景:
- 数量 A 列
- 单价 B 列
- 折扣率 F 列(例如 0.9 表示九折) 计算折扣后总销售额。
公式:
解释:对应行执行 数量×单价×折扣率,再求和。
总结¶
SUMPRODUCT 的核心价值可以概括为三点:
- 先乘后和:把“逐行计算 + 汇总”的工作合并到一个公式里,减少辅助列依赖。
- 天然适合条件汇总:通过把条件表达式转为 0/1,实现单条件、多条件、区间条件的求和与计数。
- 适配加权计算:加权和、加权平均、系数调整等业务分析场景都非常顺手。
掌握 SUMPRODUCT 的关键是理解: 数组对应位置运算 + 逻辑条件转 0/1。 一旦熟悉这个思路,你会发现它可以覆盖大量日常数据分析的汇总需求。