Formuła programu Excel: ostatnie n wierszy -

Spisie treści

Formuła ogólna

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

Podsumowanie

Aby oflagować ostatnie n wierszy w zakresie, możesz użyć kolumny pomocnika z formułą opartą na funkcjach WIERSZ i WIERSZE. W przedstawionym przykładzie formuła w komórce E5 skopiowana w dół to:

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

gdzie dane (B5: E15) i n (G5) to nazwane zakresy.

Ta formuła zwraca wartość TRUE, jeśli wiersz jest „ostatnim n wierszem”, lub FALSE, jeśli nie.

Wyjaśnienie

Podstawą tej formuły jest inna formuła, która oblicza „bieżący wiersz” w zakresie:

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

W skrócie, otrzymujemy bieżący wiersz w skoroszycie, a następnie odejmujemy numer pierwszego wiersza zakresu plus 1. Wynikiem jest skorygowany numer wiersza, który zaczyna się od 1. Funkcja INDEKS jest po prostu jednym ze sposobów uzyskania pierwszej komórki w danym zasięg:

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

To jest tylko dla wygody. Formułę można przepisać tak, jak:

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

Gdy mamy już aktualny numer wiersza, możemy porównać numer wiersza z całkowitą liczbą wierszy w danych pomniejszonych o n:

current_row > ROWS(data)-n

Jeśli to wyrażenie zwróci wartość TRUE, bieżący wiersz jest jednym z ostatnich n szukanych wierszy.

Ostatnie n wierszy w tabeli

Jeśli dane znajdują się w tabeli programu Excel, formułę można dostosować w następujący sposób:

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

Logika jest dokładnie taka sama, ale używamy nieco innego podejścia, aby uzyskać pierwszą komórkę w tabeli:

@ROW(Table1)

Możesz myśleć o znaku @ jako o „pojedynczym”:

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

Jak poprzednio, formuła tabeli zwraca TRUE w „ostatnich n wierszach” i FALSE w pozostałych.

Tylko ostatni rząd

Aby przetestować tylko ostatni wiersz, możesz użyć nieco uproszczonej wersji wzoru:

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

Interesujące artykuły...