重点内容
适用版本
桌面版通用(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 |
学完你会
常见错误
- 两个范围的行数或列数不一致,直接报
#VALUE!错误 - 用 SUMPRODUCT 想做通配符模糊匹配,结果发现它不支持
?/*,要改回 COUNTIF/SUMIF - 用逻辑判断代替 COUNTIF 时忘记加
--,TRUE/FALSE 没转成数字,加总结果不对
Sources
Blog / Website: