
Generička formula
=LOOKUP(2,1/(A:A""),A:A)
Sažetak
Da biste pronašli vrijednost posljednje neprazne ćelije u retku ili stupcu, možete upotrijebiti funkciju LOOKUP u ovoj iznenađujuće kompaktnoj formuli. Kao dodatni bonus, ova formula nije formula niza i nije hlapljiva.
Obrazloženje
Ključ za razumijevanje ove formule je prepoznati da je lookup_value od 2 namjerno veća od bilo koje vrijednosti koja će se pojaviti u lookup_vectoru.
- Izraz A: "" vraća niz istinitih i lažnih vrijednosti: (TRUE, FALSE, TRUE, …).
- Broj 1 tada se dijeli ovim nizom i stvara novi niz sastavljen od bilo jedinice ili dijeli s nula pogrešaka (# DIV / 0!): (1,0,1, …). Ovaj je niz lookup_vector.
- Kada lookup_value ne može biti pronađena, LOOKUP će odgovarati sljedećoj najmanjoj vrijednosti.
- U ovom slučaju, lookup_value je 2, ali najveća vrijednost u lookup_array je 1, pa će se traženje podudarati s posljednjim 1 u polju.
- LOOKUP vraća odgovarajuću vrijednost u result_vector (tj. Vrijednost na istom položaju).
Rješavanje pogrešaka
Ako postoje pogreške u lookup_vectoru, posebno ako postoji pogreška u posljednjoj nepraznoj ćeliji, ovu formulu treba prilagoditi. Ova je prilagodba potrebna jer će "" kriteriji sami vratiti pogrešku ako ćelija sadrži pogrešku. Da biste riješili ovaj problem, upotrijebite ISBLANK s NOT:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Zadnja brojčana vrijednost
Da biste dobili posljednju brojčanu vrijednost, možete dodati funkciju ISNUMBER ovako:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Položaj posljednje vrijednosti
Ako želite dobiti položaj (u ovom slučaju broj retka) posljednje vrijednosti, možete isprobati formulu poput ove:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Ovdje hranimo brojeve redaka iz istog raspona u traženje vektora rezultata i vraćamo broj retka zadnjeg podudaranja.