Excel-formel: Få verdi av siste ikke-tomme celle -

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.

  1. Uttrykket A: A "" returnerer en matrise med sanne og falske verdier: (SANN, FALSK, SANT, …).
  2. 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.
  3. Når lookup_value ikke blir funnet, vil LOOKUP matche den nest minste verdien.
  4. I dette tilfellet er oppslagsverdien 2, men den største verdien i oppslagsarrayen er 1, så oppslag vil matche den siste 1 i matrisen.
  5. 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.

Interessante artikler...