Excel-formule: waarde ophalen van laatste niet-lege cel -

Generieke formule

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

Samenvatting

Om de waarde van de laatste niet-lege cel in een rij of kolom te vinden, kun je de functie ZOEKEN in deze verrassend compacte formule gebruiken. Als extra bonus is deze formule geen matrixformule en niet vluchtig.

Uitleg

De sleutel tot het begrijpen van deze formule is te erkennen dat de lookup_value van 2 opzettelijk groter is dan alle waarden die in de lookup_vector verschijnen.

  1. De uitdrukking A: A "" retourneert een array van true en false waarden: (TRUE, FALSE, TRUE,…).
  2. Het getal 1 wordt vervolgens gedeeld door deze array en creëert een nieuwe array die is samengesteld uit 1-en of gedeeld door nul fouten (# DIV / 0!): (1,0,1,…). Deze array is de lookup_vector.
  3. Als lookup_value niet kan worden gevonden, komt LOOKUP overeen met de volgende kleinste waarde.
  4. In dit geval is de lookup_value 2, maar de grootste waarde in de lookup_array is 1, dus de lookup komt overeen met de laatste 1 in de array.
  5. ZOEKEN retourneert de overeenkomstige waarde in result_vector (dwz de waarde op dezelfde positie).

Omgaan met fouten

Als er fouten zijn in de lookup_vector, vooral als er een fout is in de laatste niet-lege cel, moet deze formule worden aangepast. Deze aanpassing is nodig omdat "" criteria zelf een fout zullen retourneren als een cel een fout bevat. Gebruik ISBLANK met NOT om dit probleem te omzeilen:

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

Laatste numerieke waarde

Om de laatste numerieke waarde te krijgen, kunt u de ISNUMBER-functie als volgt toevoegen:

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

Positie van de laatste waarde

Als u de positie (in dit geval rijnummer) van de laatste waarde wilt weten, kunt u een formule als deze proberen:

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

Hier voeren we de rijnummers van hetzelfde bereik in om de resultaatvector op te zoeken en krijgen we het rijnummer van de laatste overeenkomst terug.

Interessante artikelen...