Обновить

Ссылка на массив переменной длины

Пусть в столбце A лежит массив переменной длины (например, результат работы FILTER или IMPORTRANGE в Google Sheets). В столбце B мы хотим написать формулу массива, например, удвоить все значения столбца A.

Можно применить формулу ко всему столбцу A:

=ARRAYFORMULA(2*A2:A)

Но так возникнут лишние нули там, где данные закончились. Вопрос, как применить формулу только к диапазону с данными, учитывая, что количество строк может в любой момент поменяться?

Есть такое решение:

=ARRAYFORMULA(2*OFFSET(A2;0;0;COUNTA(A2:A)))

  • Функция COUNTA считает количество непустых значений в столбце.

  • Функция OFFSET возвращает диапазон нужного размера, начиная с указанной ячейки.

Из первого пункта следует важное ограничение: формула работает только при отсутствии пустых значений в данных, иначе функция COUNTA неправильно посчитает высоту диапазона.

Теги:
0
Комментарии0

Публикации

Ближайшие события