Formula di Excel: ultime n righe -

Sommario

Formula generica

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

Sommario

Per contrassegnare le ultime n righe in un intervallo, puoi utilizzare la colonna helper con una formula basata sulle funzioni RIGA e RIGHE. Nell'esempio mostrato, la formula nella cella E5, copiata verso il basso, è:

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

dove i dati (B5: E15) e n (G5) sono chiamati intervalli.

Questa formula restituisce VERO se una riga è una "ultima n riga" e FALSO in caso contrario.

Spiegazione

Il nucleo di questa formula si basa su un'altra formula che calcola la "riga corrente" in un intervallo:

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

In breve, otteniamo la riga corrente nella cartella di lavoro, quindi sottraiamo il numero della prima riga dell'intervallo più 1. Il risultato è un numero di riga corretto che inizia da 1. La funzione INDICE è semplicemente un modo per ottenere la prima cella in un dato gamma:

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

Questo è solo per comodità. La formula potrebbe essere riscritta come:

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

Una volta che abbiamo un numero di riga corrente, possiamo confrontare il numero di riga con le righe totali nei dati meno n:

current_row > ROWS(data)-n

Se questa espressione restituisce TRUE, la riga corrente è una delle ultime n righe che stiamo cercando.

Ultime n righe in una tabella

Se i dati sono in una tabella Excel, la formula può essere adattata in questo modo:

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

La logica è esattamente la stessa, ma utilizziamo un approccio leggermente diverso per ottenere la prima cella nella tabella:

@ROW(Table1)

Puoi pensare al carattere @ come a indicare "single":

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

Come prima, la formula della tabella restituisce VERO nelle "ultime n righe" e FALSO negli altri.

Solo l'ultima riga

Per testare solo l'ultima riga, puoi utilizzare una versione leggermente semplificata della formula:

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

Articoli interessanti...