Более эффективный способ избежать многократных вычислений № 4? - PullRequest
1 голос
/ 19 сентября 2019

Нужно знать, как поместить функцию максимального смещения в формулу массива.

=ArrayFormula(MAX(OFFSET(M42:M46,0,0,5,1)))

Это то, что я хочу изменить.

=MAX(OFFSET(M42,0,0,5,1))

Вот пример влисты.https://docs.google.com/spreadsheets/d/180M_qJCE0Bhz5jRX-tAyBc7DIp7HQpCNVGGlrkuguso/edit?usp=sharing

1 Ответ

1 голос
/ 19 сентября 2019

почему бы и нет:

=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(ARRAY_CONSTRAIN(SPLIT(TRANSPOSE(QUERY(
 TRANSPOSE(ARRAY_CONSTRAIN(IF(IFERROR(SPLIT({"";REPT("♦"&ROW(INDIRECT("A1:A"&COUNTA(M42:M))),
 ROW(INDIRECT("A1:A"&COUNTA(M42:M))))}, "♦"))<>"", , TRANSPOSE(SPLIT(REPT(
 INDIRECT("M42:M"&COUNTA(M42:M)+41)&" ", COUNTA(M42:M)-5+1), " "))), 
 COUNTA(M42:M)-5+1, COUNTA(M42:M))), , COUNTA(M42:M))), " "), COUNTA(M42:M)-5+1, 5)),
 "select "&TEXTJOIN(",", 1, IF(LEN(TRANSPOSE(SPLIT(REPT("♥♠", COUNTA(M42:M)-5+1), "♥"))),
 "max(Col"&ROW(A1:A)&")", ))&"")),
 "select Col2"))

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...