
Obecný vzorec
=ROW()-ROW(rng.firstcell)+1>ROWS(rng)-n
souhrn
Chcete-li označit posledních n řádků v rozsahu, můžete použít pomocný sloupec se vzorcem založeným na funkcích ROW a ROWS. V zobrazeném příkladu je vzorec v buňce E5 zkopírovaný dolů:
=ROW()-ROW(INDEX(data,1,1))+1>ROWS(data)-n
kde údaje (B5: E15) a n (G5) jsou pojmenované oblasti.
Tento vzorec vrací TRUE, pokud je řádek „poslední n řádek“, a FALSE, pokud ne.
Vysvětlení
Jádro tohoto vzorce je založeno na jiném vzorci, který vypočítává „aktuální řádek“ v rozsahu:
=ROW()-ROW(rng.firstcell)+1
Stručně řečeno, dostaneme aktuální řádek v sešitu, poté odečteme číslo prvního řádku rozsahu plus 1. Výsledkem je upravené číslo řádku, které začíná na 1. Funkce INDEX je jednoduše jedním ze způsobů, jak získat první buňku v daném rozsah:
ROW(INDEX(data,1,1) // first cell
To je pouze pro pohodlí. Vzorec lze přepsat jako:
=ROW()-ROW($E$5)+1
Jakmile máme aktuální číslo řádku, můžeme porovnat číslo řádku s celkovým počtem řádků v datech bez n:
current_row > ROWS(data)-n
Pokud tento výraz vrací TRUE, aktuální řádek je jedním z posledních n řádků, které hledáme.
Posledních n řádků v tabulce
Pokud jsou data v tabulce aplikace Excel, lze vzorec upravit takto:
=ROW()-@ROW(Table1)+1>ROWS(Table1)-n
Logika je přesně stejná, ale k získání první buňky v tabulce používáme mírně odlišný přístup:
@ROW(Table1)
Můžete si představit, že znak @ označuje „single“:
=ROW(Table1) // returns (5;6;7;8;9;10;11;12;13;14;15) =@ROW(Table1) // returns (5)
Stejně jako dříve vrátí vzorec tabulky hodnotu TRUE v "posledních n řádcích" a FALSE v ostatních.
Pouze poslední řádek
Chcete-li otestovat pouze poslední řádek, můžete použít mírně zjednodušenou verzi vzorce:
=ROW()-ROW(rng.first)+1=ROWS(rng)