Excel 如何编写一个完整的表达式来获得列';s加权和?

Excel 如何编写一个完整的表达式来获得列';s加权和?,excel,if-statement,excel-formula,sum,Excel,If Statement,Excel Formula,Sum,数据列包含四个值: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中编写一个表达式来得到加权和吗?也就是说,将步骤1、步骤2、步骤3合并为一个表达式吗?使用SUMPRODUCT: =SUMPRODU

数据列包含四个值: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
中编写一个表达式来得到加权和吗?也就是说,将步骤1、步骤2、步骤3合并为一个表达式吗?

使用SUMPRODUCT:

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


如果要硬编码这些值,我建议使用索引/匹配:

=SUMPRODUCT(INDEX({0.9,0.8,0.2},MATCH(A2:A5,{1,2,3},0)))
然后您可以将数组更改为您喜欢的任何内容

使用SUMPRODUCT:

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


如果要硬编码这些值,我建议使用索引/匹配:

=SUMPRODUCT(INDEX({0.9,0.8,0.2},MATCH(A2:A5,{1,2,3},0)))
然后您可以将数组更改为您喜欢的任何内容


不同的
SUMPRODUCT
可用于不同的重量:

=SUMPRODUCT(CHOOSE(A2:A5,0.9,0.8,0.2))
请注意,这是一个数组公式,需要通过CTRLSHIFTENTER确认


不同的
SUMPRODUCT
可用于不同的重量:

=SUMPRODUCT(CHOOSE(A2:A5,0.9,0.8,0.2))
请注意,这是一个数组公式,需要通过CTRLSHIFTENTER确认


不,那么3的权重是0.2呢?如果3的权重是0.2,那么加权和是2.8,而不是3.3。你的问题表明3是.7而不是.2不,那么3的权重是0.2呢?如果3的权重是0.2,那么加权和是2.8,而不是3.3。你的问题表明3是.7而不是.2。作为记录,您不需要
SUMPRODUCT
,只要
SUM
就可以了,只要
CSE
a formula=)就行了。对于记录,您不需要
SUMPRODUCT
,只要
SUM
就可以了,只要
CSE
a公式=)