EP09. “SUMPRODUCT Function SUMPRODUCT 函数”
🔒 登录后可标记已读- 光看函数名以为只是「加总乘积」,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") |
需要通配符(?、*)模糊匹配 | 只能用 COUNTIF | SUMPRODUCT 不支持通配符 |
| 需要多条件相乘运算(不只是计数) | 只能用 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。
快捷键速查
| 操作 | Windows | Mac |
|---|---|---|
| 一般公式确认(SUMPRODUCT 不需要数组公式按键) | Enter | Enter |
学完你会
- ✅ 能用 SUMPRODUCT 算出「数量 × 单价」这类加权求和
- ✅ 能用
--把 SUMPRODUCT 当计数工具用,替代简单的 COUNTIF - ✅ 知道 SUMPRODUCT 不支持通配符,遇到模糊匹配要改回 COUNTIF/SUMIF
常见错误
- 两个范围的行数或列数不一致,直接报
#VALUE!错误 - 用 SUMPRODUCT 想做通配符模糊匹配,结果发现它不支持
?/*,要改回 COUNTIF/SUMIF - 用逻辑判断代替 COUNTIF 时忘记加
--,TRUE/FALSE 没转成数字,加总结果不对
Sources
Blog / Website: