gpt4 book ai didi

arrays - 将多个范围作为 AGGREGATE 的数组参数传递

转载 作者:行者123 更新时间:2023-12-02 11:03:54 26 4
gpt4 key购买 nike

如果有人知道以下问题是否已记录和/或根本原因是什么,我将不胜感激。

假设我们有 A1:A10 中从 1 到 10 的数字,如下公式

=SUMPRODUCT(SUBTOTAL(4,OFFSET(A1,{0;5},0,5)))

完全有效,相当于取每个范围 A1:A5 中的最大值之和。和A6:A10 ,自 OFFSET函数,此处传递一个值数组 ( {0;5} ) 作为其 rows 参数,并使用适当的 height 参数 (5),解析为范围数组:

{A1:A5,A6:A10}

然后传递给 SUBTOTAL生成另一个数组,其中包含每个范围的最大值,即 5 和 10,然后由 SUMPRODUCT 求和.

AGGREGATE在 Excel 2010 中引入,看起来是 SUBTOTAL 的更精致版本。 。我的问题是为什么在尝试以下操作时

=SUMPRODUCT(AGGREGATE(14,,OFFSET(A1,{0;5},0,5),1))

这应该相当于 SUBTOTAL在上面给出的示例中,Excel 是否显示消息“在尝试计算一个或多个公式时资源不足”(并返回值 0)?

(请注意,非英语版本 Excel 的用户可能需要在数组常量 {0;5} 中使用不同的分隔符。)

这是一个非常意外的错误。显然语法没有错误,OFFSET 的传递也没有错误。 “不允许”施工。由于工作簿中没有其他内容,是什么导致 Excel 在尝试解析此类构造时使用如此多的资源?

INDIRECT 出现类似的结果而不是OFFSET ,即

=SUMPRODUCT(SUBTOTAL(4,INDIRECT({"A1:A5","A6:A10"})))

完全有效,但是

=SUMPRODUCT(AGGREGATE(14,,INDIRECT({"A1:A5","A6:A10"}),1))

给出与上述相同的错误。

问候

最佳答案

[声誉不足,无法添加评论。]

Mac 上的 Excel 返回以下内容:

Arrays containing ranges are not supported

关于arrays - 将多个范围作为 AGGREGATE 的数组参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52906924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com