Excel-formel: Senaste n rader -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att flagga de sista n raderna i ett intervall kan du använda hjälpkolumn med en formel baserad på ROW- och ROWS-funktionerna. I exemplet som visas är formeln i cell E5, kopierad ned:

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

där data (B5: E15) och n (G5) heter områden.

Denna formel returnerar SANT om en rad är en "sista rad" och FALSK om inte.

Förklaring

Kärnan i denna formel är baserad på en annan formel som beräknar den "aktuella raden" i ett intervall:

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

I korthet får vi den aktuella raden i arbetsboken och subtraherar sedan det första radnumret i intervallet plus 1. Resultatet är ett justerat radnummer som börjar med 1. INDEX-funktionen är helt enkelt ett sätt att få den första cellen i en given räckvidd:

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

Detta är endast för bekvämlighet. Formeln kan skrivas om som:

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

När vi väl har ett aktuellt radnummer kan vi jämföra radnumret med de totala raderna i data minus n:

current_row > ROWS(data)-n

Om detta uttryck returnerar SANT är den aktuella raden en av de sista n raderna vi letar efter.

Sista n rader i en tabell

Om data finns i en Excel-tabell kan formeln anpassas så här:

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

Logiken är exakt densamma, men vi använder en något annorlunda metod för att få den första cellen i tabellen:

@ROW(Table1)

Du kan tänka på @-karaktären som indikerar "singel":

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

Som tidigare returnerar tabellformeln SANT i "sista n rader" och FALSK i andra.

Endast sista raden

För att bara testa för den sista raden kan du använda en något förenklad version av formeln:

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

Intressanta artiklar...