Söka upp värden
Svep för att visa menyn
Uppslagsfunktioner löser ett av de vanligaste problemen i kalkylblad: du har data på ett ställe och behöver hämta relaterad information från ett annat ställe baserat på ett matchande värde.
Du anger ett värde att söka efter, talar om var det ska letas och vad som ska returneras när en träff hittas. Excel hanterar sökningen automatiskt, för varje rad, varje gång data ändras.
=XLOOKUP(lookup_value; lookup_array; return_array; [if_not_found])
Exakt träff
En exakt träff kräver att uppslagsvärdet motsvarar något i referenstabellen exakt — standardinställningen i XLOOKUP.
Ungefärlig träff
En ungefärlig träff hittar det närmaste värdet som inte överstiger uppslagsvärdet, vilket används för trappade system som skattetabeller eller rabattgränser.
Detta beteende beror på match_mode. Uttalandet ovan stämmer endast när match_mode = -1, där funktionen returnerar nästa mindre värde om en exakt träff inte hittas. För andra inställningar av match_mode gäller andra matchningsregler.
I XLOOKUP styrs ungefärlig matchning av argumentet match_mode — det fjärde valfria argumentet efter if_not_found. Om det sätts till -1 instruerar det Excel: "om du inte hittar en exakt matchning, returnera istället nästa mindre värde."
=XLOOKUP(lookup_value; lookup_array; return_array; [if_not_found]; -1)
0 | -1 | 1 | 2 |
|---|---|---|---|
Exact match | Next smaller | Next larger | Wildcard |
Default. Returns error if value not found exactly. Use for text categories. | If no exact match, returns result for the largest value ≤ lookup value. Use for tiered systems. | If no exact match, returns result for the smallest value ≥ lookup value. | Allows * and ? as wildcards in the lookup value for partial text matching. |
Ungefärlig matchning kräver att sökarrayen är sorterad stigande. En osorterad tabell ger tysta felaktiga resultat.
VLOOKUP
VLOOKUP finns fortfarande i miljontals kalkylblad och du kommer att stöta på det regelbundet. Dess huvudsakliga begränsning är strukturell: sökvärdet måste alltid finnas i den första kolumnen i tabellområdet, och den returnerar värden med hjälp av kolumnindexnummer. Om du infogar en kolumn mellan sök- och returkolumnerna blir indexnumret fel — VLOOKUP returnerar fel data utan någon varning. XLOOKUP refererar direkt till returkolumnen och är därför immun mot detta problem.
=VLOOKUP(search_key; range; index; [is_sorted])
VLOOKUP fungerar fortfarande och du kommer att stöta på det i ärvda filer. Du behöver kunna läsa det. Men för alla formler du skriver själv, använd XLOOKUP — det är mer robust, mer lättläst och hanterar ungefärlig matchning mer tydligt.
- Hämta månatlig budget per kategori
Skapa en referenstabell nedanför din sammanfattningssektion med kolumnerna Category och Monthly Budget.
Ange följande värden:
- Rent — 1,500.00
- Groceries — 400.00
- Utilities — 250.00
- Transport — 200.00
- Dining — 150.00
Formatera dessa värden som valuta.
Hämta budgeten för varje rad i din utgiftstabell med:
=XLOOKUP(B9;I12:I20;J12:J20)
Detta returnerar budgeten som motsvarar varje kategori.
- Hantera saknade kategorier
Uppdatera formeln för att undvika fel när en kategori inte hittas:
=XLOOKUP(B9;I12:I20;J12:J20;"No budget defined")
Detta gör ditt blad lättläst och markerar saknade kopplingar.
- Lås uppslagstabellen
Lås uppslagsområdena med F4 så att de inte förskjuts när formeln kopieras.
- Använd ungefärlig matchning för rabattnivåer
Skapa en ny tabell med kolumnerna Spending thresholds och Discount values.
Ange följande värden:
- 0 — 0
- 500 — 5
- 1000 — 10
- 2000 — 20
Formatera rabattvärdena som procent.
Beräkna sedan rabattnivån för varje utgift med:
=XLOOKUP(D9;12:M16;N12:N16;"No tier";-1)
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal