Функция Excel: выбор диапазона из текущей ячейки -> конец столбца в таблице

1

Вот моя таблица Excel:

Стол с операторами

Я пытаюсь рассчитать «смещение ТО», используя эту формулу:

=MATCH("THEN",[@[Rule operator]]:[Rule operator],0)

Формула выше не работает, но эта работает:

=MATCH("THEN",[@[Rule operator]]:$A$12,0)

Проблема с последним состоит в том, что он перестает работать всякий раз, когда изменяется индекс последней строки.

Как выбрать диапазон от текущей ячейки до конца столбца в таблице Excel?

Питер Герхат
источник

Ответы:

2

Ваша формула не работает, потому что [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

Это оно :)

Энди Мор
источник