排行榜表格:如何将单行多列加权计算结果汇总至单个单元格?
高效计算用户加权得分的解决方案
嘿,手动写一长串E5*E2 + F5*F2 + ...这种公式确实太繁琐了,不仅容易出错,后续维护也麻烦。这里有个极简且高效的方法,完美匹配你的需求:
使用SUMPRODUCT函数(首选方案)
SUMPRODUCT天生就是用来做「对应区域相乘后求和」的,完全替代你原来的SUM长公式。针对你的场景,第5行的公式可以改成:
=SUMPRODUCT(E5:L5, $E$2:$L$2)
为什么这个公式更好?
- 简洁性:把8个相乘项浓缩成两个区域引用,再也不用逐个列写公式了
- 准确性:避免手动输入单元格引用时的拼写错误
- 可批量复用:选中第5行的公式单元格,直接下拉填充到第6行及以下,公式会自动适配每行的用户数据(
E5:L5变成E6:L6、E7:L7等),而权重区域$E$2:$L$2因为加了绝对引用(美元符号),会始终锁定第2行的权重值,不会随下拉变化
公式原理拆解
SUMPRODUCT(E5:L5, $E$2:$L$2)会自动完成以下操作:
- 计算
E5*E2、F5*F2、G5*G2……直到L5*L2 - 将所有乘积结果相加,最终得到用户的总得分——和你原来的
SUM公式结果完全一致,但效率高得多
额外小贴士
如果你的表格后续可能增加更多列(比如M列也加入任务点数),只要把公式里的区域扩展成E5:M5和$E$2:$M$2就行,不用逐个修改相乘项,维护成本极低。
内容的提问来源于stack exchange,提问作者bo_
相关产品推荐
相关产品推荐

