MICROSOFT

EP09. “SUMPRODUCT Function SUMPRODUCT 函数”

首页 Microsoft 工具 Excel · Functions · Count and Sum · EP09
约 5 分钟· #EP09#Excel#Count and Sum
🔒 登录后可标记已读
  • 光看函数名以为只是「加总乘积」,SUMPRODUCT 实际上能做的比这多:算加权总额、替代 COUNTIF 计数、按条件筛选求和都能扛
  • 最常见的场景是「单价 × 数量」算总金额,两个范围对应位置相乘再加总,一个公式搞定
  • 不支持 ?/* 通配符是它最大的限制,遇到模糊匹配还是要乖乖切回 COUNTIF/SUMIF
  • 前置知识:EP06 的 SUM 和数组公式概念
  • 学完能应付比 SUMIF 更复杂的加权求和场景

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


函数速查

函数语法用途例子
SUMPRODUCT=SUMPRODUCT(array1, array2, ...)对应位置相乘后加总=SUMPRODUCT(A1:A4,B1:B4)

基础用法

把「数量」范围和「单价」范围放进两个参数,函数会把每一行的数量 × 单价,再全部加起来: 例:数量 {2,4,4,2}、单价 {RM1000,RM250,RM100,RM50},=SUMPRODUCT(A1:A4,B1:B4) = (2×1000) + (4×250) + (4×100) + (2×50) = RM3,500


范围维度要求

两个范围的行数/列数必须一致,否则会出现 #VALUE! 错误。


非数值处理

如果范围里有非数值的内容(比如文字),SUMPRODUCT 会把它当成 0 处理,不会报错,但结果可能不是你要的。


单一范围时等同 SUM

如果只放一个范围进去,SUMPRODUCT 的结果会跟直接用 SUM 一样。


SUMPRODUCT 和 COUNTIF 怎么选

需求用法备注
精确匹配计数,不需要模糊搜索COUNTIF 或 SUMPRODUCT 都可以=SUMPRODUCT(--(A1:A7="star")) 等同 =COUNTIF(A1:A7,"star")
需要通配符(?*)模糊匹配只能用 COUNTIFSUMPRODUCT 不支持通配符
需要多条件相乘运算(不只是计数)只能用 SUMPRODUCT比如按年份筛选后再加总金额

进阶用法:替代 COUNTIF

=SUMPRODUCT(--(A1:A7="star")) 用双重负号 -- 把逻辑值(TRUE/FALSE)强制转换成数字(1/0),等同于计数「等于 star」的单元格数量。

⚠️ 但 SUMPRODUCT 不支持 ?* 这类通配符,所以没办法像 COUNTIF 一样做模糊匹配。


进阶用法:字符计数

可以直接处理数组常量(比如 {9;4;6;5}),结果是 24,而且不需要按 Ctrl + Shift + Enter,这点跟一般数组公式不同,是 SUMPRODUCT 的一个便利之处。


进阶用法:按年份条件求和

=SUMPRODUCT((YEAR(A1:A5)=2024)*B1:B5) 先用 YEAR 函数判断日期是否属于 2024 年(得到 TRUE/FALSE 数组),乘以对应的 B 列数值(比如各笔金额 RM5、RM3、RM4、RM2、RM3),再加总,结果为 RM17。


快捷键速查

操作WindowsMac
一般公式确认(SUMPRODUCT 不需要数组公式按键)EnterEnter

学完你会

  • ✅ 能用 SUMPRODUCT 算出「数量 × 单价」这类加权求和
  • ✅ 能用 -- 把 SUMPRODUCT 当计数工具用,替代简单的 COUNTIF
  • ✅ 知道 SUMPRODUCT 不支持通配符,遇到模糊匹配要改回 COUNTIF/SUMIF

常见错误

  • 两个范围的行数或列数不一致,直接报 #VALUE! 错误
  • 用 SUMPRODUCT 想做通配符模糊匹配,结果发现它不支持 ?/*,要改回 COUNTIF/SUMIF
  • 用逻辑判断代替 COUNTIF 时忘记加 --,TRUE/FALSE 没转成数字,加总结果不对

Sources

Blog / Website:

  1. Sumproduct