Xletaupp (allt du vill veta om)

FunktionLeta efter ett värde i en lista av värden och returnera enl vad den hittade
SvenskaxLetaupp
Engelskaxlookup
TorsdagstipsDen ultimata genomgången av xLookup
Ta bort kopior och dubbletter i en lista

xLetaupp eller xlookup är en relativt ny funktion i Excel, och i mångt och mycket ersätter den letarad eller vlookup i vad den faktiskt gör (dock så krävs det att man har en relativt ny version av Excel för att den ska fungera, vilket väl då gör att man ibland fortfarande använder vlookup och letarad ändå, om man gör en fil som ska användas av någon med en äldre version av Excel!).

Det finns i Excel både en vlookup och en hlookup (letarad och letakolumn på svenska), och som du kommer se, så har xlookup fått sitt namn av att den kan gå både horisontellt och vertikalt.

Hur fungerar xletaupp eller xlookup?

funktionen i sitt enklaste utseende ser ut så här:

=xlookup(A3; B3:B5; C3:C5)

=xletaupp(A3; B3:B5; C3:C5)
xletaupp, ett enkelt exempel

I Exemplet ovan ser du hur man letar efter värdet Hund (från cellen A3) i blocket av cellerna B3:B5, får den en träff så returnerar den samma rad som den får en träff i, fast i C3:C5. Alltså, eftersom det står Hund i B4, så svarar funktionen med C4.

Hade vi skickat in Fisk i funktionen och skrivit det i A3, vad händer då?

xletaupp xlookup bild 2
Vad gör funktionen xletaupp / xlookup när den saknar ett värde?

Jo, då svarar funktionen med ett #SAKNAS! vilket väl i sig inte är så konstigt. Det finns ju ingen rad i B3:B5 som har det ordet.

Vad man då kan göra är att bygga ut funktionen med fler argument:

=xlookup(A3; B3:B5; C3:C5; "Värdet fanns inte")

=xletaupp(A3; B3:B5; C3:C5; "Värdet fanns inte")

Nästa argument (som inte är obligatoriskt, men som är väldigt värdefullt) är just vad funktionen ska returnera om den inte får någon träff. Man kan tänka sig tillfällen då det är bäst att xletaupp/xlookup bara svarar med “Värdet fanns inte”, men ibland kanske en nolla eller minus ett är bättre, beroende på situation och vad som händer senare med det som den letat fram.

Hur användbart var detta?

Klicka på en stjärna för att rösta!

Medelbetyg 5 / 5. Antal röster 4

Inga röster hittills, du får vara först!

Prenumerera på mitt nyhetsbrev

Missa inte när det kommer nya tips!

Inget spammande, jag kommer aldrig sälja dina uppgifter - du får bara ett bra Exceltips varje torsdag - rätt in i inkorgen!

Vill du se fler tips direkt? Här är tre till!

3 svar på ”Xletaupp (allt du vill veta om)”

  1. Hej David!
    Tack för alla bra torsdagstips.
    Jag har ett problem med XLETAUPP. Jag har en kolumn med beräknad arbetstid och vill läsa in den senast registrerade tiden i en messagebox, men det verkar som om XLETAUPP inte kan hantera tidsformat den hittar bara texten “Total Tid” hur kan jag lösa detta?
    det är kolumnen total tid (i) som XLETAUPP ska leta i med följande formel=XLETAUPP(“**”;I:I;I:I;””;2;1)
    a b c d e f g h i
    ID Namn Telefon Färg Form Godkänd Starttid Sluttid Total tid
    1 test1 123 Blå Cirkel SANT 09:15 11:56 01:04
    2 mm 123 Grön Punkt SANT 09:32 11:37 02:05
    3 rr 223 Blå Punkt SANT 09:57 10:16 00:19
    4 jj 12 Vit Cirkel SANT 23:17 23:33 00:16

    Svara
      • Hej David och tack för dit svar!
        Det var den senast registrerade tiden och den behöve inte vara maxtiden, jag skulle också beräkna genomsnittstiden för alla registrerade tider. både registrerad tid och snitt-tiden ska sedan visas i ett medelandefönster (Messagebox)
        Jag har löst det med fölande VBA-kod
        ————————————————————–
        ‘Spara data till excelfilen
        erow = Sheets(“Blad1”).Range(“a” & Rows.Count).End(xlUp).Row
        Range(“a” & erow + 1) = txtID.Value
        Range(“b” & erow + 1) = txtName.Value
        Range(“c” & erow + 1) = txtPhone.Value
        Range(“d” & erow + 1) = lstColor.Value
        Range(“e” & erow + 1) = cboForm.Value
        Range(“f” & erow + 1) = chkAgree.Value
        Range(“g” & erow + 1) = txtStarttid.Value
        Range(“h” & erow + 1) = txtSluttid.Value

        ‘Beräkna tiden mellan två klockslag och spara
        Range(“i” & erow + 1) = Abs(TimeValue(Me.txtSluttid) – TimeValue(Me.txtStarttid))

        MsgBox “Ditt data är sparat”
        End If
        Dim DinTid As String

        ‘visa tiderna i en messagebox
        RT = Format(Sheets(“Blad2”).Range(“e3”), “h:mm”) ‘RT = Registrerad tid
        GT = Format(Sheets(“Blad2”).Range(“e4”), “h:mm”) ‘ GT = Genomsnittstiden
        MsgBox “Din tid för uppgiften är ” & RT & “!” & vbCrLf & “och” & vbCrLf & “Medeltiden för uppgiften är ” & GT & “!”, vbInformation
        —————————————————————-
        Kanske inte den snyggaste koden men den fungerar 🙂

        Svara

Lämna en kommentar

Artikel tillagd till varukorg.
0 artiklar - 0,00 kr