Excel-formel: Hämta värde för den sista icke-tomma cellen -

Generisk formel

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

Sammanfattning

För att hitta värdet på den sista icke-tomma cellen i en rad eller kolumn kan du använda LOOKUP-funktionen i denna överraskande kompakta formel. Som en extra bonus är denna formel inte en matrisformel och inte flyktig.

Förklaring

Nyckeln till att förstå denna formel är att erkänna att uppslagsvärdet för 2 medvetet är större än några värden som kommer att visas i uppslagsvektorn.

  1. Uttrycket A: A "" returnerar en matris med sanna och falska värden: (SANT, FALSK, SANT, …).
  2. Talet 1 delas sedan av denna matris och skapar en ny matris som består av antingen 1 eller divideras med nollfel (# DIV / 0!): (1,0,1,…). Denna matris är lookup_vector.
  3. När lookup_value inte kan hittas matchar LOOKUP det näst minsta värdet.
  4. I det här fallet är lookup_value 2, men det största värdet i lookup_array är 1, så lookup kommer att matcha den sista 1 i arrayen.
  5. LOOKUP returnerar motsvarande värde i result_vector (dvs. värdet på samma position).

Hantera fel

Om det finns fel i lookup_vector, särskilt om det finns ett fel i den sista icke-tomma cellen, måste denna formel justeras. Denna justering behövs eftersom "" kriterierna returnerar ett fel i sig om en cell innehåller ett fel. Lös problemet genom att använda ISBLANK med NOT:

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

Senaste numeriska värdet

För att få det sista numeriska värdet kan du lägga till ISNUMBER-funktionen så här:

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

Position för det sista värdet

Om du vill få positionen (i detta fall radnummer) för det sista värdet kan du prova en sådan formel:

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

Här matar vi radnumren i samma intervall för att leta efter resultatvektorn och får tillbaka radnumret för den senaste matchen.

Intressanta artiklar...