首页 > 解决方案 > 如何编写一个完整的表达式来获得列的加权和?

问题描述

数据列包含四个值:excel表格中的1,1,2,3,每个数据都有其权重,1的权重为0.9,2的权重为0.8,3的权重为0.7,我想要加权和。

在此处输入图像描述

1.将表达式写=IF($A2=1,0.9,IF($A2=2,0.8,IF($A2=3,0.7)))B2.
2.将填充手柄从B2直到拖动B5
3.将表达式写=sum(B2:B5)B6

我得到了正确的总和b6,我可以删除B列并写一个表达式B1来获得加权和吗?也就是说,将 step1、step2、step3 合并为一个表达式?

标签: excelif-statementexcel-formulasum

解决方案


使用 SUMPRODUCT:

=SUMPRODUCT(1-(A2:A5*0.1))

在此处输入图像描述


如果您想对值进行硬编码,那么我建议使用 INDEX/MATCH:

=SUMPRODUCT(INDEX({0.9,0.8,0.2},MATCH(A2:A5,{1,2,3},0)))

然后,您可以将数组更改为您喜欢的任何内容。

在此处输入图像描述


推荐阅读