Формула Excel: последние n строк -

Содержание

Общая формула

=ROW()-ROW(rng.firstcell)+1>ROWS(rng)-n

Резюме

Чтобы отметить последние n строк в диапазоне, вы можете использовать вспомогательный столбец с формулой, основанной на функциях ROW и ROWS. В показанном примере формула в ячейке E5, скопированная вниз, имеет следующий вид:

=ROW()-ROW(INDEX(data,1,1))+1>ROWS(data)-n

где данные (B5: E15) и n (G5) являются именованными диапазонами.

Эта формула возвращает ИСТИНА, если строка является "последней n строкой", и ЛОЖЬ, если нет.

Объяснение

Суть этой формулы основана на другой формуле, которая вычисляет «текущую строку» в диапазоне:

=ROW()-ROW(rng.firstcell)+1

Вкратце, мы получаем текущую строку в книге, а затем вычитаем номер первой строки диапазона плюс 1. В результате получается скорректированный номер строки, который начинается с 1. Функция ИНДЕКС - это просто один из способов получить первую ячейку в заданной ассортимент:

ROW(INDEX(data,1,1) // first cell

Это сделано только для удобства. Формулу можно переписать так:

=ROW()-ROW($E$5)+1

Когда у нас есть номер текущей строки, мы можем сравнить номер строки с общим количеством строк в данных за вычетом n:

current_row > ROWS(data)-n

Если это выражение возвращает TRUE, текущая строка является одной из последних n строк, которые мы ищем.

Последние n строк в таблице

Если данные находятся в таблице Excel, формулу можно изменить следующим образом:

=ROW()-@ROW(Table1)+1>ROWS(Table1)-n

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

@ROW(Table1)

Вы можете думать о символе @ как о "одиночном":

=ROW(Table1) // returns (5;6;7;8;9;10;11;12;13;14;15) =@ROW(Table1) // returns (5)

Как и раньше, формула таблицы возвращает ИСТИНА в «последних n строках» и ЛОЖЬ в остальных.

Только последняя строка

Чтобы проверить только последнюю строку, вы можете использовать немного упрощенную версию формулы:

=ROW()-ROW(rng.first)+1=ROWS(rng)

Интересные статьи...