“它话不多,本事不小。一个函数,接得住求和、计数、加权平均所有难题。看似笨拙,却是Excel里最可靠的那个低调高手。”
1、基础用法——先乘后加
场景:一张表里有单价和数量,想算总销售额
=SUMPRODUCT(单价列, 数量列)
不用再加一列"金额"再求和,一行公式直接出结果。单价×数量,全部相加。
2、单条件求和——替代SUMIF
场景:想算"销售部"的总业绩
=SUMPRODUCT((部门列="销售部")*业绩列)
原理:(部门列="销售部") 生成一串 TRUE/FALSE,相当于 1/0,乘以业绩列后,只有销售部的业绩被保留,其余全变 0,求和即可。
你可能会说:这不就是 SUMIF 干的事吗? 别急,往下看。
3、多条件求和——替代SUMIFS
场景:想算"销售部"在"1月份"的总业绩
=SUMPRODUCT((部门列="销售部")*(月份列="1月")*业绩列)
每个条件相乘,同时满足才等于 1,否则为 0。多个条件?继续往后乘就行,无限叠加。
4、单条件计数——替代COUNTIF
场景:想数一数"销售部"有多少人
=SUMPRODUCT((部门列="销售部")*1)
把 TRUE/FALSE 乘以 1,变成 1/0,再求和——就是满足条件的个数。
别小看这个
*1,它是 SUMPRODUCT 计数的灵魂操作。
5、多条件计数——替代COUNTIFS
场景:想数"销售部"里"业绩大于5000"的有多少人
=SUMPRODUCT((部门列="销售部")*(业绩列>5000))
两个条件相乘,两个都满足才为 1,求和就是人数。一个函数,从求和无缝切换到计数,甚至不需要改函数名。
6、加权平均——算真正的平均分
场景:期末总评,平时成绩占30%,期中占30%,期末占40%
=SUMPRODUCT(成绩列, 权重列)/SUM(权重列)
先乘后加得到总分,再除以权重之和。这才是加权平均的正确打开方式,比 AVERAGE 准多了。
AVERAGE 算的是"众生平等",SUMPRODUCT 算的是"论功行赏"。
7、跨列条件求和——别列也能当条件
场景:想算"实际销量大于目标销量"的所有订单总额
=SUMPRODUCT((实际列>目标列)*金额列)
条件不是一个固定值,而是两列之间比大小——这是 SUMIFS 死活做不到的事,但对 SUMPRODUCT 来说,不过是多乘一个 (A>B) 而已。
8、模糊匹配求和——结合通配符
场景:想算所有名字里带"销售"的部门总业绩
=SUMPRODUCT(ISNUMBER(SEARCH("销售", 部门列))*业绩列)
SEARCH 找到关键词返回位置数字,ISNUMBER 把数字转成 TRUE,相乘后只保留含"销售"的行。
SUMIFS 的
"*销售*"确实更简洁,但 SUMPRODUCT 的好处是——它可以和任意条件自由组合,不受通配符语法限制。
9、分组排名——搭配函数做统计
场景:想在每个部门内部,按业绩排名
=SUMPRODUCT((部门列=当前部门)*(业绩列>当前业绩))+1
原理:数一数同部门里比我业绩高的人有几个,加 1 就是我的名次。不需要 RANK 函数,不需要排序,一个公式搞定分组排名。
夜雨聆风