Функция Excel: выбор диапазона из текущей ячейки -> конец столбца в таблице
Вот моя таблица Excel:
Я пытаюсь рассчитать "смещение ТО", используя эту формулу:
=MATCH("THEN",[@[Rule operator]]:[Rule operator],0)
Формула выше не работает, но эта работает:
=MATCH("THEN",[@[Rule operator]]:$A$12,0)
Проблема с последним состоит в том, что он перестает работать всякий раз, когда изменяется индекс последней строки.
Как выбрать диапазон от текущей ячейки до конца столбца в таблице Excel?
1 ответ
Ваша формула не работает, потому что [Rule operator]
это сам диапазон, поэтому, если ваша формула введена в ячейку в строке 5, Excel оценит вашу формулу следующим образом:
=MATCH("THEN",[@[Rule operator]]:[Rule operator],0)
↓↓↓
=MATCH("THEN",$A$5:$A$2:$A$12,0)
Поскольку A5 находится в середине диапазона A2:A12, Excel игнорирует его и просто использует A2:A12.
Для решения этой проблемы вы можете сохранить [@[Rule operator]]
немного, но вам нужно что-то выяснить, где находится последняя ячейка в вашем столбце.
Вы можете сделать это, посчитав количество строк в вашей таблице, используя ROWS([Rule operator])
, добавив 1 для строки заголовка (добавьте больше, если у вас есть другие строки над таблицей), затем используйте INDIRECT
функция, чтобы собрать это в ссылку на ячейку. Это дает вам:
=MATCH("THEN",[@[Rule operator]]:INDIRECT("A"&1+ROWS([Rule operator])),0)
Потому что это выведет MATCH
Положение строки, включая строку, из которой вы запускаете формулу, вам нужно вычесть 1, чтобы вычислить значение смещения THEN, необходимое для каждой строки:
=MATCH("THEN",[@[Rule operator]]:INDIRECT("A"&1+ROWS([Rule operator])),0)-1
Это оно:)