Hitta sista värdet som inte är tomt
I denna kalkyl vill vi hämta det sista värdet på en rad. Problemet är att det finns flera tomma celler på raderna.
Hur ska vi göra för att Excel ska ignorera de tomma cellerna och hitta rätt värde?
I exemplet anges mätvärden från olika maskiner med mer eller mindre oregelbundna intervaller. I rapporten fyller teknikerna i veckovis mätvärden. Tabellen kommer till slut bestå av en kolumn för varje vecka under året.
Vi rekommenderar dessa Excelkurser:
www.infocell.se – lärarledda kvalitetskurser i Excel
www.officekurs.se – oslagbar e-kurser i Excel & Office-paketet
För att snabbt se senaste inmatade mätvärde per maskin, vill vi i detta exempel i kolumn B skriva en formel, som hämtar senaste mätvärde från ”veckotabellen”. Så vi slipper skrolla kalkylen i sidled, för att leta upp och läsa av manuellt.
Funktionen LETAUPP
Många använder funktionen LETARAD [VLOOKUP] för att leta upp och hämta ett värde i ett område. Problemet är här att vi inte vet vilket värde som ska hämtas.
Det finns dock en äldre leta upp funktion som kan lösa detta åt oss.
Innan funktionen LETARAD [VLOOKUP] fanns i Excel kunde man använda funktionen LETAUPP [LOOKUP] och den funktionen finns fortfarande kvar i Excel, mest för bakåtkompabilitet men den går att använda.
Anledningen är att om funktionen LETAUPP [LOOKUP] inte kan hitta det vi letar efter, hämtas det sista värdet i området. Men det vi måste också ta hänsyn till att ignorera tomma celler.
Argument för funktionen LETAUPP
Det går att använda funktionen LETAUPP [LOOKUP] med olika antal argument och i detta exempel ska vi använda tre argument för att hitta det senaste värdet på raderna.
Letauppvärde
Vi anger en 2 (tvåa) som det värde Excel ska leta upp, för om Excel inte hittar värdet 2 så kommer Excel i stället hämta det sista värdet i området (vektorn).
Letauppvektor
Som letauppvektor fyller vi i formeln:
1/(D3:L3<>””)
Denna formel kommer skapa en vektor med värden, för cellerna på raden vi vill söka igenom.
Formeln kommer att dividera talet 1 med innehållet i alla cellerna i det angivna området, där cellinnehållet är skilt från ”ingenting”.
{1\#DIVISION/0!\1\1\1\1\1\1\1}
Resultatet av formel blir en vektor med resultaten SANT eller FALSKT, utskrivet som 1 eller 0 eller #DIVISION/0!, för varje beräkning i området.
Resultatvektor
Som resultatvektor anger vi samma område som i formeln för letauppvektorn.
D3:L3
Det är ifrån detta område funktionen LETAUPP [LOOKUP] kommer att hämta det eftersökta värdet.
Excel kommer sedan multiplicera värdena i resultatvektorn med letauppvektorn och resultatet blir en vektor med värden, för de cellerna som inte är tomma.
Därefter kommer Excel att leta efter talet 2 i letauppvektorn som innehåller vektorn{1\#DIVISION/0!\1\1\1\1\1\1\1} och då den inte hittar värdet 2 kommer funktionen istället hämta det sista giltiga värdet i resultatvektorn.
I detta exempel hämtas det 9:e värdet i vektorn och hela formeln blir:
=LETAUPP(2;1/(D3:L3<>””);D3:L3)
=LOOKUP(2;1/(D3:L3<>””);D3:L3)
OBS! Även om funktionen LETAUPP [LOOKUP] använder vektorer så behöver du inte använda Ctrl + Shift + Enternär du avslutar inmatningen av formlen, som du behövde göra när du använde matrisfuktioner, i tidigare versioner av Excel.
Hitta sista värdet med funktionen XLETAUPP
Det går även att lösa detta med funktionen XLETAUPP [XLOOKUP] som är tillgänglig för Excel 365.
Med XLETAUPP [XLOOKUP] går det att leta omvänt så sista träffen matchas. Detta anges med argumentet Search_mode vilket förenklar det hela eftersom det är just det sista värdet som vi ska ha.
- 1 – Sökning från första till sista objektet i området. Det här är standardinställningen.
- -1 – Sökning i omvändordning.
Tips! För att använda den nya funktionen XLETAUPP [XLOOKUP] behöver du ha en prenumeration på Microsoft 365 eller Excel version 2021 eller senare.
Läs mer om våra självstudiekurser på www.officekurs.se.