Использование INDIRECT в формуле массива - PullRequest
0 голосов
/ 28 апреля 2020

Я использую эту формулу массива вместе с INDIRECT , потому что это единственный способ, которым я знаю, чтобы поддерживать свои ссылки, так как справочный лист содержит в сценарии обычное добавление еще одной строки в лист Data !. Как я могу добавить в приведенную ниже формулу только показ значений в массиве, которые выше значения в $CQ$17 и ниже значения в $CQ$16? Можно ли это сделать без увеличения времени обработки моих листов, поскольку оно обновляется каждую минуту?

=ARRAYFORMULA(INDIRECT("Data!E"&13+$F$7&":E"&597+$F$7))

1 Ответ

2 голосов
/ 29 апреля 2020

IIU C, вам не нужно никаких INDIRECT и вы можете использовать либо QUERY:

=QUERY(
  OFFSET(Data!E13, $F$7, 0, 597 - 13 + 1, 1),
  "
    select E
    where E > " & $CQ$17 & " and
          E < " & $CQ$16,
  -1
)

или FILTER:

=FILTER(
  OFFSET(Data!E13, $F$7, 0, 597 - 13 + 1),
  OFFSET(Data!E13, $F$7, 0, 597 - 13 + 1) > $CQ$17,
  OFFSET(Data!E13, $F$7, 0, 597 - 13 + 1) < $CQ$16
)

Эти три раза построение одного и того же диапазона не очень хорошо, я бы go с QUERY.

Пример листа был бы очень полезен.

...