Возвращает номер строки последней непустой ячейки, сравнивая от первой строки столбца до текущей строки, используя формулу массива - PullRequest
0 голосов
/ 14 декабря 2018

Я интенсивно искал об этом и достиг хорошего уровня вообще, но не достиг желаемой цели: вернуть номер строки последней непустой ячейки, имея диапазон оценки для начала сравненияот первой строки нужного столбца до текущей строки.Это должно быть сделано с помощью «формулы массива» Googles.

То, что у меня есть до сих пор, способно выполнить вышеуказанную задачу, но без использования «формулы массива».

Моя формула выглядит следующим образом:

=MAX(
FILTER( 
      row(
          INDIRECT(
         JOIN("";ADDRESS(1;column()+2;4);":";ADDRESS(row();column()+2;4))
                  )
          )
  ;
      INDIRECT(               
         JOIN("";ADDRESS(1;column()+2;4);":";ADDRESS(row();column()+2;4))
               )
<> "")
)

.

Вот пример кода, работающий с некоторыми данными: enter image description here

Подводя итог, любойиз следующих альтернатив ответили бы на мой вопрос:

  • Преобразование моей вышеупомянутой формулы, чтобы она соответствовала "формуле массива" Google.
  • Наличие нового решения с использованием "формулы массива",

Ps: Под "arrayFormula" я подразумеваю, что просто необходимо будет написать формулу один раз в верхней части столбца, что позволит массиву расширяться до ячеек ниже.

Ps2. Было бы приветствоваться решение в Google AppScript, но я не могу гарантировать, что оно полностью соответствует масштабу моей проблемы.

Действительно, спасибо

1 Ответ

0 голосов
/ 14 декабря 2018

Это невозможно сделать в .

Excel не использует FILTER или ARRAYFORMULA.Это функции.В то время как некоторые формулы массива или стандартные функции с циклическим вычислением, такие как SUMPRODUCT или некоторые подфункции AGGREGATE, есть формула no или пользовательская функция, которые заполняют столбец относительными копиями исходной формулы.Дескриптор заполнения - это решение Excel, для которого просто требуется двойной щелчок.

Если вас беспокоит динамическое число значений в столбце A, то подпроцедура VBA Worksheet_Change может решить ваши проблемы.

...