Exakt kontra ungefärlig matchning
Välj mellan TRUE och FALSE som matchningstyp i VLOOKUP
Exakt kontra ungefärlig matchning är en gratis lektion i Excel Formulas Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Excel Formulas Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Excel Formulas Academy innehåller totalt 4 lektioner.
Det fjärde argumentet är viktigt
Det sista argumentet i VLOOKUP, range_lookup, avgör hur sökningen fungerar. Det är litet men kraftfullt:
- FALSE (eller 0) betyder exakt matchning
- TRUE (eller 1) betyder ungefärlig matchning
Att välja fel är ett av de vanligaste kalkylbladsfelen. I den här lektionen får du se exakt när du ska använda de olika alternativen.
=VLOOKUP(value, table, col, FALSE)Exakt matchning med FALSE
En exakt matchning hittar ett värde som överensstämmer exakt. Om värdet inte finns returnerar VLOOKUP felet #N/A i stället för att gissa.
Använd FALSE när du slår upp unika identifierare, till exempel produktkoder, medarbetar-ID:n eller e-postadresser, där endast en perfekt matchning är korrekt.
Tabellen behöver inte vara sorterad vid en exakt matchning. VLOOKUP söker tills funktionen hittar värdet.
=VLOOKUP("A100", A1:C4, 3, FALSE)Vad en exakt matchning returnerar
Med vår pristabell (A100 Apple 0.50, B200 Banana 0.30, C300 Cherry 1.20) fungerar en exakt uppslagning av en befintlig kod perfekt:
Returnerar 1.20. Men om du söker efter en kod som inte finns, till exempel "Z999", får du #N/A. Felet är faktiskt användbart: det visar att posten verkligen saknas i stället för att returnera en felaktig granne.
=VLOOKUP("C300", A1:C4, 3, FALSE)Ungefärlig matchning med TRUE
En ungefärlig matchning hittar det största värdet som är mindre än eller lika med ditt uppslagsvärde. Den är avsedd för intervall och nivåer, inte för exakta ID:n.
Det klassiska användningsområdet är en nivåtabell: skatteintervall, fraktintervall, betygsgränser eller mängdrabatter, där ett värde hamnar någonstans mellan två tröskelvärden.
TRUE medför en viktig regel, som vi går igenom i nästa avsnitt.
=VLOOKUP(value, table, col, TRUE)TRUE kräver en sorterad tabell
För att en ungefärlig matchning ska fungera måste den första kolumnen vara sorterad i stigande ordning (från minst till störst). VLOOKUP går nedåt i kolumnen och stannar vid det sista värdet som inte överstiger ditt uppslagsvärde.
Om kolumnen inte är sorterad returnerar TRUE oförutsägbara och felaktiga svar utan att visa något fel. Det här tysta felet är anledningen till att många undviker TRUE om de inte specifikt behöver intervallindelning.
Exempel på betygsintervall
Anta att en betygstabell finns i A1:B5 och är sorterad stigande efter lägsta poäng:
- 0 = F
- 60 = D
- 70 = C
- 80 = B
- 90 = A
Poängen 76 ska returnera C, eftersom 76 hamnar i intervallet 70–79. Formeln använder TRUE för att hitta det högsta gränsvärdet som inte överstiger 76:
=VLOOKUP(76, A1:B5, 2, TRUE)Så går intervallmatchningen till
Med uppslagsvärdet 76 och TRUE läser VLOOKUP de sorterade gränsvärdena uppifrån och ned: 0, 60, 70, 90 … Funktionen jämför vart och ett av dem.
- 0 är mindre än eller lika med 76: fortsätt
- 60 är mindre än eller lika med 76: fortsätt
- 70 är mindre än eller lika med 76: fortsätt
- 90 är större än 76: stoppa
Funktionen går tillbaka till den sista giltiga raden (70) och returnerar dess intervall: C. En ungefärlig matchning är i praktiken en uppslagning mellan tröskelvärden.
=VLOOKUP(76, A1:B5, 2, TRUE)Risken med att utelämna argumentet
Om du helt utelämnar det fjärde argumentet blir standardvärdet för VLOOKUP TRUE (ungefärlig matchning). Det överraskar många som förväntar sig en exakt matchning.
En formel som =VLOOKUP(A2, Data!A:B, 2) i en osorterad lista kan tyst returnera ett felaktigt värde. En säker vana är att alltid skriva FALSE, såvida du inte medvetet gör en intervallmatchning i en sorterad tabell.
=VLOOKUP(A2, Data!A:B, 2, FALSE)Jämförelse sida vid sida
Här är skillnaden i korthet:
- FALSE / exakt: tabellen behöver inte vara sorterad, ett saknat värde returnerar #N/A, bäst för ID:n och koder
- TRUE / ungefärlig: tabellen måste vara sorterad stigande, returnerar aldrig #N/A för värden inom intervallet, bäst för nivåer och intervall
Välj utifrån frågan du försöker besvara: ”Finns den här exakta posten?” använder FALSE, medan ”Vilket intervall hamnar det här i?” använder TRUE.
En fraktnivå i praktiken
En vikt i D2 behöver en fraktkostnad från en sorterad intervalltabell i A2:B6 (trösklarna 0, 1, 5, 10 och 20 kg). En ungefärlig matchning väljer rätt nivå:
Om D2 är 7 hamnar värdet i intervallet för 5 kg och returnerar kostnaden för den nivån. Ändra vikten så uppdateras nivån direkt, utan att du behöver en lista över varje möjlig vikt.
=VLOOKUP(D2, $A$2:$B$6, 2, TRUE)Avvägningen mellan snabbhet och tillförlitlighet
Det finns också en subtil prestandaaspekt. I mycket stora, sorterade tabeller kan en ungefärlig matchning (TRUE) vara snabbare, eftersom kalkylprogrammet snabbt kan hoppa genom sorterade värden i stället för att söka igenom varje rad.
Men snabbhet går aldrig före korrekthet. Om dina data inte är sorterade, eller om du behöver exakta ID:n, ska du alltid välja FALSE. Ett snabbt felaktigt svar är sämre än ett något långsammare korrekt svar. I moderna kalkylprogram och vid typiska tabellstorlekar märks skillnaden sällan, så välj FALSE som standard för säkerhets skull.
=VLOOKUP(A2, $A$1:$C$1000, 3, FALSE)Snabbtest
Välj rätt matchningstyp för situationen.
Sammanfattning: Exakt jämfört med ungefärlig
Viktiga slutsatser:
- FALSE = exakt matchning, det går bra om tabellen är osorterad, saknade värden returnerar
#N/A - TRUE = ungefärlig matchning, den första kolumnen måste vara sorterad stigande och funktionen hittar det största värdet som inte överstiger ditt mål
- Om du utelämnar argumentet blir standardvärdet TRUE, så ange det alltid
- Använd exakt matchning för ID:n och koder, och ungefärlig matchning för nivåer och intervall
Nästa steg är att vända riktningen och söka över rader med HLOOKUP.
=VLOOKUP(A2, $A$1:$C$100, 3, FALSE)Lär dig Excel med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Exakt kontra ungefärlig matchning” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Excel Formulas Academy, inklusive ”Exakt kontra ungefärlig matchning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Excel Formulas Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Exakt kontra ungefärlig matchning”?
Välj mellan TRUE och FALSE som matchningstyp i VLOOKUP Ni övar på Excel Formulas Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Excel Formulas Academy?
Du behöver inga förkunskaper. Utbildningen i Excel Formulas Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Exakt kontra ungefärlig matchning”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Excel Formulas Academy-lektionen?
Ja. Varje Excel Formulas Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Så söker VLOOKUP i en tabell
- Exakt kontra ungefärlig matchning
- Söka över rader med HLOOKUP
- Varför VLOOKUP ibland misslyckas