excel公式和数组相加

时间:2016-09-02 08:26:24

标签: arrays excel sum

我不知道为什么对数组公式求和不会返回正确的结果。公式是:

=SUM(INDEX($C$4:$C$12,TRANSPOSE(OFFSET(K17,0,0,1,COUNT(K17:S17)))))

我想要做的是根据$C$4:$C$12中的值从K17:S17中选择多个值,然后对其求和。在行K17:S17中,可能有1到9个正整数(从1到9),它们确定从C4:C12中选择哪一行。

当我只使用INDEX($C$4:$C$12,TRANSPOSE(OFFSET(K17,0,0,1,COUNT(K17:S17))))作为数组函数时,它会返回我想要正确调整的值。但是在frot中添加sum只返回此集合中的第一个值。

1 个答案:

答案 0 :(得分:0)

为了将数组作为INDEX row_num col_num 参数传递,需要稍加强制:

https://excelxor.com/2014/09/05/index-returning-an-array-of-values/

此外,如果可能,最好避免使用易变OFFSET构造。

=SUM(INDEX($C$4:$C$12,N(IF({1},K17:INDEX(K17:S17,MATCH(9.9E+307,K17:S17))))))

顺便提一下,需要CSE

修改:如果K17:S17范围内的最大值为9,我们可以将9.9E+307替换为10

=SUM(INDEX($C$4:$C$12,N(IF({1},K17:INDEX(K17:S17,MATCH(10,K17:S17))))))

此致