核心结论是 Excel 中 sumproduct 函数核心作用是把多组数组对应位置的数据先相乘,再把全部乘积结果相加,它最大优势是不需要按数组三键,旧版 Excel 也能直接运算,非常适合多条件求和 多条件计数 加权计算,很多人做业绩汇总 加权总分 条件统计的时候优先选用 sumproduct 函数,是因为它可以把判断条件和计算整合在一条公式里面,不用额外增加辅助列,之所以很多新手使用 sumproduct 函数出错,是因为不清楚各个数组区域行列数量必须保持一致,也不了解逻辑值 TRUE 和 FALSE 在运算时会自动转换成 1 和 0,掌握基础语法,理解数组匹配规则,学会条件写法,按照选中单元格 输入公式 选择对应数据区域 确认运算逻辑 回车下拉填充这套流程操作,最终就可以完成普通 sum 无法实现的多维度统计计算。
基础语法说明
sumproduct 函数标准写法是 sumproduct 数组 1 数组 2 数组 3
函数可以传入一组或者多组数组,每一组数组就是单元格区域,也可以是判断表达式,核心运算逻辑是同一行同一列位置的数据两两相乘,最后累加所有乘积。
基础纯乘积求和场景,比如数量列乘以单价列,再汇总总金额,就是典型 sumproduct 用法。
条件统计场景,判断表达式返回 TRUE 和 FALSE,TRUE 等价数字 1,FALSE 等价数字 0,相乘之后只有满足条件的行才会保留数值,不满足条件的行变成 0,最后累加就实现多条件求和,这是 sumproduct 最常用的拓展能力。
硬性要求,所有传入的数组区域,行数和列数必须完全一样,如果一个区域是 A2 A10,另一个区域是 B2 B11,行列长度不匹配,函数会返回错误值。
基础操作步骤
第一步 整理数据,所有参与计算的数据放在连续区域,比如 A 列是类别,B 列是数量,C 列是单价。
第二步 点击存放结果的目标单元格,比如 E2。
第三步 输入等于号,输入 sumproduct,括号里面填写参与运算的数组区域,如果是乘积求和,依次选择数量区域和单价区域。
第四步 如果是多条件求和,在条件部分写判断表达式,多个条件之间用乘号连接,代表同时满足全部条件。
第五步 检查所有区域行列范围一致,按回车键,直接得到计算结果,旧版 Excel 不需要 ctrl shift enter 三键。
第六步 如果需要按不同条件重复计算,可以修改条件单元格引用,下拉或者横向填充公式。
深度使用要点分层讲解
要点一 单条件求和与多条件求和写法
单条件求和,就是筛选满足某一个条件的数据再汇总数值,多个条件同时满足,就把多个判断表达式用乘号连接,乘号在这里代表逻辑与,也就是全部条件同时成立。
如果需要满足任意一个条件,也就是逻辑或,需要使用加号连接判断表达式,这里要注意,加号写法存在重复计数风险,同一行同时满足两个条件会被累加两次,业务使用前要确认统计口径。
要点二 加权求和应用
加权总分 加权平均这类业务,sumproduct 非常适配,把权重数组和得分数组对应相乘再求和,不需要单独做辅助列计算每一行乘积,一条公式直接算出加权总和,之后再除以权重总和,就能得到加权平均值。
要点三 文本条件与通配符限制
sumproduct 原生不支持星号问号这类通配符模糊匹配,如果需要模糊匹配,需要搭配 find 函数或者 isnumber 函数实现,这一点和 sumifs 不一样,很多人误以为 sumproduct 可以直接写通配符,运行之后结果为 0,就是这个原因。
要点四 空单元格 文本 错误值处理
区域里面如果是空白单元格,sumproduct 会当成 0 参与运算,如果是纯文本,会当成 0 处理,如果区域里面存在错误值,比如 N/A VALUE,整个 sumproduct 公式直接报错,正式计算之前需要清理错误值。
要点五 绝对引用设置
如果后续需要填充公式,固定不变的数据区域要按 F4 设置绝对引用,避免下拉的时候数组区域偏移,和 rank 函数类似,sumproduct 统计整列范围的时候,区域锁定是非常关键的操作。
场景对照表
| 场景 | 运算逻辑 | 特点 |
|---|---|---|
| 乘积求和 | 数量乘以单价再累加 | 基础用法 |
| 多条件求和 | 判断表达式乘号连接 | 全部条件同时满足 |
| 多条件计数 | 判断表达式相乘累加 | 统计符合条件行数 |
| 加权求和 | 权重乘得分累加 | 适合评分考核 |
常见错误对照表
| 错误现象 | 原因 | 修正方式 |
|---|---|---|
| 返回 #VALUE 错误 | 各个数组区域行列大小不一致 | 统一所有区域行数和列数 |
| 多条件结果为 0 | 文本条件写法错误或者区域选空 | 核对判断表达式,确认条件匹配 |
| 或条件重复统计 | 加号连接条件,同时满足多行重复累加 | 根据业务口径调整公式 |
| 无法模糊匹配 | sumproduct 不支持通配符 | 搭配 find 和 isnumber 函数 |
【常见问题】
问题 1 Excel 中 sumproduct 函数为什么要求所有数组区域大小一致
回答 1 Excel 中 sumproduct 函数是按对应位置逐项相乘再累加,Excel 中 sumproduct 函数的运算机制是同行同列配对计算,如果 Excel 中 sumproduct 函数传入的数组区域行列数量不一样,配对错位,Excel 中 sumproduct 函数就会返回错误值。
问题 2 Excel 中 sumproduct 函数能不能实现多条件计数
回答 1 Excel 中 sumproduct 函数可以实现多条件计数,把多个判断表达式相乘累加,TRUE 转为 1 FALSE 转为 0,Excel 中 sumproduct 函数累加之后就是符合全部条件的记录数量,是 Excel 中 sumproduct 函数经典用法。
问题 3 Excel 中 sumproduct 函数支持通配符模糊匹配吗
回答 1 Excel 中 sumproduct 函数原生不支持通配符模糊匹配,直接在条件里面写星号,Excel 中 sumproduct 函数识别不到,想要模糊匹配 Excel 中 sumproduct 函数需要搭配 find 函数和 isnumber 函数。
问题 4 Excel 中 sumproduct 函数旧版 Excel 需要按数组三键吗
回答 1 Excel 中 sumproduct 函数本身自带数组运算能力,旧版 Excel 中 Excel 中 sumproduct 函数不需要按 ctrl shift enter 三键,直接回车就可以计算,这也是 Excel 中 sumproduct 函数相比其他数组函数很大的优势。
【免责申明】
本文基于 Microsoft Excel 以及 WPS 表格通用逻辑讲解 Excel 中 sumproduct 函数的用法,不同版本软件运算逻辑基本一致,本文仅作为学习参考,正式业务统计前请自行核对统计口径和计算结果,不对业务汇总数据承担责任。


