首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更有效的方法来避免多重计算#3?

更有效的方法来避免多重计算#3?
EN

Stack Overflow用户
提问于 2019-09-18 16:41:27
回答 1查看 81关注 0票数 1

寻找一种更有效的方法,可能是Min/Max列下的数组公式。不确定数组公式是否与此函数一起工作,因为我无法理解它。

代码语言:javascript
复制
=ArrayFormula(MAX(INDIRECT("Data!E"&(K42:K169)&":E"&(K43:K170-1))))

代码语言:javascript
复制
=ARRAYFORMULA(MAX(VLOOKUP(K42:K169, {ROW(Data!A:A), Data!E:E}, 2, 0)&VLOOKUP(K43:K170-1, {ROW(Data!A:A), Data!E:E}, 2, 0)))

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

下面是我的当前代码,在我的工作表中复制列。

代码语言:javascript
复制
=MAX(INDIRECT("Data!E"&(K42-1)&":E"&(K43-1)))

只是需要一个更有效的方法。我是否正确地说,使用间接的结果是缓慢的计算时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-18 22:55:03

代码语言:javascript
复制
=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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57997343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档