Excel-formel: Hent værdi af sidste ikke-tomme celle -

Indholdsfortegnelse

Generisk formel

=LOOKUP(2,1/(A:A""),A:A)

Resumé

For at finde værdien af ​​den sidste ikke-tomme celle i en række eller kolonne kan du bruge LOOKUP-funktionen i denne overraskende kompakte formel. Som en ekstra bonus er denne formel ikke en matrixformel og ikke ustabil.

Forklaring

Nøglen til at forstå denne formel er at erkende, at opslagsværdien af ​​2 bevidst er større end nogen værdi, der vises i opslagsvektoren.

  1. Udtrykket A: A "" returnerer en matrix med sande og falske værdier: (SAND, FALSK, SAND, …).
  2. Nummeret 1 divideres derefter med dette array og opretter et nyt array sammensat af enten 1'er eller divideret med nul fejl (# DIV / 0!): (1,0,1,…). Denne matrix er lookup_vector.
  3. Når lookup_value ikke kan findes, matcher LOOKUP den næste mindste værdi.
  4. I dette tilfælde er opslagsværdien 2, men den største værdi i opslagsarray er 1, så opslag vil matche den sidste 1 i matrixen.
  5. LOOKUP returnerer den tilsvarende værdi i result_vector (dvs. værdien på samme position).

Håndtering af fejl

Hvis der er fejl i lookup_vector, især hvis der er en fejl i den sidste ikke-tomme celle, skal denne formel justeres. Denne justering er nødvendig, fordi kriterierne "" returnerer en fejl selv, hvis en celle indeholder en fejl. For at løse dette problem skal du bruge ISBLANK med NOT:

=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)

Sidste numeriske værdi

For at få den sidste numeriske værdi kan du tilføje ISNUMBER-funktionen som denne:

=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)

Position for den sidste værdi

Hvis du vil få positionen (i dette tilfælde række nummer) for den sidste værdi, kan du prøve en formel som denne:

=LOOKUP(2,1/(A:A""),ROW(A:A))

Her fodrer vi rækkenumrene i det samme interval i opslag efter resultatvektoren og får række nummeret for den sidste kamp tilbage.

Interessante artikler...