
Generisk formel
=LOOKUP(2,1/(A:A""),A:A)
Sammendrag
For å finne verdien til den siste ikke-tomme cellen i en rad eller kolonne, kan du bruke LOOKUP-funksjonen i denne overraskende kompakte formelen. Som en ekstra bonus er ikke denne formelen en matriseformel, og ikke ustabil.
Forklaring
Nøkkelen til å forstå denne formelen er å erkjenne at oppslagsverdien av 2 bevisst er større enn noen verdier som vil vises i oppslagsvektoren.
- Uttrykket A: A "" returnerer en matrise med sanne og falske verdier: (SANN, FALSK, SANT, …).
- Nummeret 1 blir deretter delt av denne matrisen og oppretter en ny matrise som består av enten 1 eller dividerer med null feil (# DIV / 0!): (1,0,1,…). Denne matrisen er lookup_vector.
- Når lookup_value ikke blir funnet, vil LOOKUP matche den nest minste verdien.
- I dette tilfellet er oppslagsverdien 2, men den største verdien i oppslagsarrayen er 1, så oppslag vil matche den siste 1 i matrisen.
- LOOKUP returnerer den tilsvarende verdien i result_vector (dvs. verdien på samme posisjon).
Å takle feil
Hvis det er feil i lookup_vector, spesielt hvis det er en feil i den siste cellen som ikke er tom, må denne formelen justeres. Denne justeringen er nødvendig fordi "" kriteriene returnerer en feil selv hvis en celle inneholder en feil. For å løse dette problemet, bruk ISBLANK med NOT:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Siste numeriske verdi
For å få den siste numeriske verdien, kan du legge til ISNUMBER-funksjonen slik:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Posisjon for den siste verdien
Hvis du vil få posisjonen (i dette tilfellet radnummer) til den siste verdien, kan du prøve en formel som denne:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Her mater vi radnumrene i samme område for å slå opp resultatvektoren og får tilbake radnummeret til den siste kampen.