【问题标题】:excel formulas sum over arrayexcel公式对数组求和
【发布时间】:2016-09-02 08:26:23
【问题描述】:

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

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

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

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

【问题讨论】:

标签: arrays excel sum


【解决方案1】:

为了将数组作为INDEXrow_numcol_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))))))

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多