Google sheets 避免多次计算的更有效方法#3?

Google sheets 避免多次计算的更有效方法#3?,google-sheets,transpose,google-sheets-formula,array-formulas,google-sheets-query,Google Sheets,Transpose,Google Sheets Formula,Array Formulas,Google Sheets Query,寻找一种更有效的方法,可能是将最小值/最大值的数组公式向下列。不确定数组公式是否与此函数一起工作,因为我无法获取它 =ArrayFormula(MAX(INDIRECT("Data!E"&(K42:K169)&":E"&(K43:K170-1)))) 请注意,我使用的是行(Data!A:A),而不是简单的行(A:A),因为当前工作表中的范围与工作表数据的范围不匹配 这是我在工作表中复制的当前代码 =MAX(INDIRECT("Data!E"&(K42-1)&a

寻找一种更有效的方法,可能是将最小值/最大值的数组公式向下列。不确定数组公式是否与此函数一起工作,因为我无法获取它

=ArrayFormula(MAX(INDIRECT("Data!E"&(K42:K169)&":E"&(K43:K170-1))))

请注意,我使用的是行(Data!A:A),而不是简单的行(A:A),因为当前工作表中的范围与工作表数据的范围不匹配

这是我在工作表中复制的当前代码

=MAX(INDIRECT("Data!E"&(K42-1)&":E"&(K43-1)))
只是需要一个更有效的方法。我是否正确地认为使用间接结果会降低计算速度

=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(
 INDIRECT("Data!E"&K42&":E"&MAX(K42:K))&","&IF(MOD(ROW(
 INDIRECT("Data!A1:A"&COUNTA(L42:L)*K41)), K41)=0, "♦", ),,999^99), "♦")), ","), 
 "where Col2 is not null", 0)),
 "select "&TEXTJOIN(",", 1, IF(LEN(L42:L),
 "max(Col"&ROW(A42:A)-ROW(A42)+1&")", ))&"")),
 "select Col2"))

与一些示例共享工作表的副本从工作表1中的M42开始向下复制公式,它正在查找数据之间的最大值!E13和数据!E72。该值恰好是2998.99。列K的数字有时会改变,因此出于这个原因,我仍然需要将公式引用列K作为行号。谢谢如果你需要更多的信息,请告诉我,这太不可思议了。在实际工作表中收到错误消息“无法解析函数查询参数2的查询字符串:无列:Col212”“嗯,我说不出你的工作表出了什么问题。我需要调试它。再次检查范围参考。还要确保您至少有约500行已决定共享2019-04-06保存的我的整个项目的副本。单元格M42是我们试图更改为数组公式的内容。实际上是想让床单上的一切变得更好。我认为缺少使用数组公式是导致我计算时间过长的常见错误。我需要将第42行中的所有公式更改为数组。有些行的底部行有不同的公式,只是为了用正确的数据开始列。真奇怪。我的活动工作表显示了错误,而共享副本则没有显示错误。我将把这个标记为答案,只需要试着看看这两张纸之间有什么不同。非常感谢你!
=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(
 INDIRECT("Data!E"&K42&":E"&MAX(K42:K))&","&IF(MOD(ROW(
 INDIRECT("Data!A1:A"&COUNTA(L42:L)*K41)), K41)=0, "♦", ),,999^99), "♦")), ","), 
 "where Col2 is not null", 0)),
 "select "&TEXTJOIN(",", 1, IF(LEN(L42:L),
 "max(Col"&ROW(A42:A)-ROW(A42)+1&")", ))&"")),
 "select Col2"))