Excel如何用查找公式实现匹配值对应的加权平均批量计算?
动态加权平均计算解决方案
你需要实现的是匹配指定值后,以B列为权重对C列计算加权平均,以下是可行的公式方案:
推荐公式(全Excel版本通用)
=SUMPRODUCT(($A$2:$A$10=E2)*$B$2:$B$10*$C$2:$C$10)/SUMPRODUCT(($A$2:$A$10=E2)*$B$2:$B$10)
公式逻辑:
- 分子:筛选出A列等于当前E列值的所有行,计算
B*C的总和 - 分母:筛选出A列等于当前E列值的所有行,计算B列的总和
- 两者相除得到的结果,和你手动指定单元格范围的
=SUM(B2:B4*C2:C4)/SUM(B2:B4)完全一致
兼容旧版Excel的数组公式
若你的Excel版本不支持自动数组运算,输入公式后需按Ctrl+Shift+Enter确认:
=SUM(IF($A$2:$A$10=E2,$B$2:$B$10*$C$2:$C$10))/SUM(IF($A$2:$A$10=E2,$B$2:$B$10))
原公式错误原因
你之前使用的SUMPRODUCT(VLOOKUP(E3,$A$2:$C$10,{2},FALSE))仅能返回A列中第一个匹配E3值的B列数据,无法获取所有匹配行的数值,因此无法完成加权平均计算。
内容的提问来源于stack exchange,提问作者SAJ
相关产品推荐
相关产品推荐

