Формула на 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) са именувани диапазони.

Тази формула връща TRUE, ако редът е "последен n ред", и FALSE, ако не.

Обяснение

Ядрото на тази формула се основава на друга формула, която изчислява "текущия ред" в диапазон:

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

Накратко, получаваме текущия ред в работната книга, след което изваждаме номера на първия ред от диапазона плюс 1. Резултатът е коригиран номер на ред, който започва с 1. Функцията INDEX е просто начин за получаване на първата клетка в дадена обхват:

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)

Както и преди, формулата на таблицата връща TRUE в "последните n реда" и FALSE в други.

Само последен ред

За да тествате само за последния ред, можете да използвате малко опростена версия на формулата:

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

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