IF VLOOKUP i Excel: Vlookup-formel med omvillkor

  • Dela Detta
Michael Brown

Handledningen visar hur man kombinerar V LOOKUP- och IF-funktionen tillsammans för att göra en v-lookup med omvillkor i Excel. Du lär dig också hur du använder IF ISNA VLOOKUP-formlerna för att ersätta #N/A-fel med din egen text, noll eller tom cell.

VLOOKUP- och IF-funktionerna är användbara var för sig, men tillsammans ger de ännu mer värdefulla erfarenheter. Den här handledningen förutsätter att du kommer ihåg syntaxen för de två funktionerna väl, annars kan du uppdatera dina kunskaper genom att följa länkarna ovan.

    Vlookup med If-meddelande: återge sant/fel, ja/nej osv.

    Ett av de vanligaste scenarierna när du kombinerar If och Vlookup tillsammans är att jämföra det värde som returneras av Vlookup med ett exempelvärde och returnera Ja / Nej eller . Sant/Falskt som resultat.

    I de flesta fall fungerar följande generiska formel bra:

    IF(VLOOKUP(...) = värde , TRUE, FALSE)

    Översatt till vanlig engelska, instruerar formeln Excel att återge True om Vlookup är sant (dvs. lika med det angivna värdet). Om Vlookup är falskt (inte lika med det angivna värdet) returnerar formeln Falskt .

    Nedan hittar du några exempel på hur denna IF Vlookup-formel används i verkligheten.

    Exempel 1. Sök upp ett specifikt värde

    Låt oss säga att du har en lista med artiklar i kolumn A och kvantitet i kolumn B. Du skapar en instrumentpanel för dina användare och behöver en formel som kontrollerar kvantiteten för en artikel i E1 och informerar användaren om artikeln finns i lager eller är slutsåld.

    Du hämtar kvantiteten med en vanlig Vlookup med exakt matchningsformel, till exempel så här:

    =VLOOKUP(E1,$A$2:$B$10,2,FALSE)

    Skriv sedan ett IF-uttalande som jämför Vlookups resultat med noll och som returnerar "Nej" om det är lika med 0, annars "Ja":

    =IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Nej", "Ja")

    Istället för att Ja/Nej kan du returnera SANT/FALSKT eller . I lager/Sålt slut eller två andra valmöjligheter, t.ex:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Slutsålt", "I lager")

    Du kan också jämföra det värde som returneras av Vlookup med ett exempel text I det här fallet ska du se till att en textsträng sätts inom citationstecken, så här:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="provtext",TRUE,FALSE)

    Exempel 2. Jämför Vlookup-resultatet med en annan cell

    Ett annat typiskt exempel på Vlookup med If-villkor i Excel är att jämföra Vlookup-utmatningen med ett värde i en annan cell. Vi kan till exempel kontrollera om det är större än eller lika med ett tal i cell G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Ja!", "Nej")

    Och här är vår If-formel med Vlookup i aktion:

    På samma sätt kan du använda vilken annan logisk operatör som helst tillsammans med en cellreferens i din Excel If Vlookup-formel.

    Exempel 3. Vlookup-värden i en kortare lista

    För att jämföra varje cell i målkolumnen med en annan lista och återge True eller . Ja om en träff hittas, Falskt eller . Ingen I annat fall använder du denna generiska formel IF ISNA VLOOKUP:

    IF(ISNA( VLOOKUP(...))), "Nej", "Ja")

    Om Vlookup resulterar i felet #N/A returnerar formeln "Nej", vilket innebär att uppslagsvärdet inte finns i uppslagslistan. Om matchningen hittas returneras "Ja". Exempel:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Nej", "Ja")

    Om din affärslogik kräver motsatta resultat är det bara att byta ut "Ja" och "Nej" för att vända formelns logik:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Ja", "Nej")

    Excel Om Vlookup-formeln för att utföra olika beräkningar

    Förutom att visa dina egna textmeddelanden kan If-funktionen med Vlookup utföra olika beräkningar utifrån de kriterier du anger.

    Om vi går vidare med vårt exempel kan vi beräkna provisionen för en viss säljare (F1) beroende på hur effektiv han eller hon är: 20 % provision för dem som tjänar 200 dollar och mer, 10 % för alla andra.

    För detta kontrollerar du om det värde som returneras av Vlookup är större än eller lika med 200. Om det är så multiplicerar du det med 20 %, annars med 10 %:

    =IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)

    Där A2:A10 är säljarnamn och C2:C10 är försäljning.

    IF ISNA VLOOKUP för att dölja #N/A-fel

    Om VLOOKUP-funktionen inte kan hitta ett angivet värde visas ett #N/A-fel. Om du vill fånga upp felet och ersätta det med din egen text kan du bädda in en Vlookup-formel i det logiska testet av IF-funktionen, till exempel så här:

    IF(ISNA(VLOOKUP(...)), "Ej funnen", VLOOKUP(...))

    Du kan naturligtvis skriva vilken text du vill i stället för "Not found".

    Anta att du har en lista med säljarnas namn i en kolumn och försäljningsbelopp i en annan kolumn. Din uppgift är att ta fram ett nummer som motsvarar det namn som användaren anger i F1. Om namnet inte hittas ska du visa ett meddelande om detta.

    Med namnen i A2:A10 och beloppen C2:C10 kan uppgiften utföras med följande formel If Vlookup:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Not found", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Om namnet hittas returneras ett motsvarande försäljningsbelopp:

    Om uppslagsvärdet inte hittas, kommer Ej funnen visas i stället för #N/A-felet:

    Hur denna formel fungerar

    Formelns logik är mycket enkel: du använder ISNA-funktionen för att kontrollera Vlookup för #N/A-fel. Om ett fel uppstår returnerar ISNA TRUE, annars FALSE. Ovanstående värden går till det logiska testet i IF-funktionen, som gör något av följande:

    • Om det logiska testet är TRUE (#N/A error) visas ditt meddelande.
    • Om det logiska testet är FALSE (uppslagsvärdet har hittats) returnerar Vlookup normalt en matchning.

    IFNA VLOOKUP i nyare Excel-versioner

    Från och med Excel 2013 kan du använda funktionen IFNA istället för IF ISNA för att fånga och hantera #N/A-fel:

    IFNA(VLOOKUP(...), " Ej funnen ")

    I vårt exempel skulle formeln se ut på följande sätt:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Ej funnen")

    Tips: Om du vill fånga upp alla typer av fel, inte bara #N/A, kan du använda VLOOKUP i kombination med IFERROR-funktionen. Mer information finns här: IFERROR VLOOKUP i Excel.

    Excel Vlookup: om den inte hittas återges 0

    När du arbetar med numeriska värden kanske du vill returnera en nolla när uppslagsvärdet inte hittas. För att göra det använder du formeln IF ISNA VLOOKUP som diskuterats ovan med en liten ändring: i stället för ett textmeddelande anger du 0 i value_if_true argumentet i IF-funktionen:

    IF(ISNA(VLOOKUP(...))), 0, VLOOKUP(...))

    I vår exempeltabell skulle formeln se ut på följande sätt:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    I de senaste versionerna av Excel 2016 och 2013 kan du använda IFNA Vlookup-kombinationen igen:

    =IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

    Excel Vlookup: om den inte hittas returnerar den tomma cellen

    Det här är ytterligare en variant av "Vlookup if then"-angivelsen: återge ingenting när sökvärdet inte hittas. För att göra detta instruerar du formeln att återge en tom sträng (""") i stället för #N/A-felet:

    IF(ISNA(VLOOKUP(...))), "", VLOOKUP(...))

    Nedan följer några exempel på fullständiga formler:

    För alla Excel-versioner:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    För Excel 2016 och Excel 2013:

    =IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")

    If med indexmatchning - vänster vlookup med If-villkor

    Erfarna Excel-användare vet att VLOOKUP-funktionen inte är det enda sättet att göra vertikala sökningar i Excel. Kombinationen INDEX MATCH kan också användas för det här ändamålet och den är ännu mer kraftfull och mångsidig. Den goda nyheten är att Index Match kan fungera tillsammans med IF på exakt samma sätt som Vlookup.

    Du har till exempel ordernummer i kolumn A och säljarnamn i kolumn B. Du söker en formel för att ta fram ordernumret för en viss säljare.

    Vlookup kan inte användas i det här fallet eftersom den inte kan söka från höger till vänster. Index Match fungerar utan problem så länge som uppslagsvärdet finns i uppslagskolumnen. Om inte, visas ett #N/A-fel. Om du vill ersätta standardfelnoteringen med din egen text, bäddar du in Index Match i IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))), "Not found", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))

    I Excel 2016 och 2016 kan du använda IFNA istället för IF ISNA för att göra formeln mer kompakt:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Ej funnen")

    På samma sätt kan du använda indexmatchning i andra Om-formler.

    Så här använder du Vlookup och IF-statement tillsammans i Excel. Om du vill titta närmare på formlerna som diskuteras i den här handledningen är du välkommen att ladda ner vår exempelarbetsbok nedan. Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Arbetsbok för övning för nedladdning

    Excel IF Vlookup - exempel på formler (.xlsx-fil)

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.