![](https://cdn.wiki-base.com/2746021/excel_formula_last_n_rows__2.png.webp)
Загальна формула
=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)