Indholdsfortegnelse
Vejledningen viser, hvordan man kombinerer V LOOKUP- og IF-funktionen sammen til v-lookup med hvis-bestemmelse i Excel. Du lærer også, hvordan du bruger IF ISNA VLOOKUP-formler til at erstatte #N/A-fejl med din egen tekst, nul eller en tom celle.
Mens VLOOKUP- og IF-funktionerne er nyttige hver for sig, giver de sammen endnu mere værdifulde oplevelser. Denne vejledning forudsætter, at du husker syntaksen for de to funktioner godt, ellers kan du måske genopfriske din viden ved at følge ovenstående links.
Vlookup med If-angivelse: returnerer Sandt/Falsk, Ja/Nej osv.
Et af de mest almindelige scenarier, når du kombinerer If og Vlookup sammen, er at sammenligne den værdi, der returneres af Vlookup, med en prøveværdi og returnere Ja / Nej eller Sandt / falsk som resultat.
I de fleste tilfælde vil følgende generiske formel fungere fint:
IF(VLOOKUP(...) = værdi , TRUE, FALSE)Oversat til almindeligt engelsk, instruerer formlen Excel om at returnere True hvis Vlookup er sandt (dvs. lig med den angivne værdi). Hvis Vlookup er falsk (ikke lig med den angivne værdi), returnerer formlen Falsk .
Nedenfor finder du et par eksempler på virkelige anvendelser af denne IF Vlookup-formel.
Eksempel 1. Slå en bestemt værdi op
Lad os sige, at du har en liste over varer i kolonne A og mængden i kolonne B. Du opretter et dashboard til dine brugere og har brug for en formel, der kontrollerer mængden for en vare i E1 og informerer brugeren om, hvorvidt varen er på lager eller udsolgt.
Du kan trække mængden med et almindeligt Vlookup med nøjagtig match-formel som dette:
=VLOOKUP(E1,$A$2:$B$10,2,FALSE)
Skriv derefter en IF-anvisning, der sammenligner Vlookups resultat med nul og returnerer "Nej", hvis det er lig med 0, og "Ja" i modsat fald:
=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Nej", "Ja")
I stedet for Ja/Nej , kan du returnere SAND/FALSK eller På lager/solgt ud eller to andre valgmuligheder, f.eks:
=IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Udsolgt", "På lager")
Du kan også sammenligne den værdi, der returneres af Vlookup, med prøve tekst I dette tilfælde skal du sørge for at sætte en tekststreng i anførselstegn, f.eks. på følgende måde:
=IF(VLOOKUP(E1,$A$2:$B$10,2)="prøve tekst",TRUE,FALSE)
Eksempel 2. Sammenligne Vlookup-resultatet med en anden celle
Et andet typisk eksempel på Vlookup med Hvis-bestemmelse i Excel er at sammenligne Vlookup-uddatoen med en værdi i en anden celle. Vi kan f.eks. kontrollere, om den er større end eller lig med et tal i celle G2:
=IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Ja!", "Nej")
Og her er vores If-formel med Vlookup i aktion:
På samme måde kan du bruge enhver anden logisk operatør sammen med en cellehenvisning i din Excel If Vlookup-formel.
Eksempel 3. Vlookup-værdier i en kortere liste
For at sammenligne hver celle i målkolonnen med en anden liste og returnere True eller Ja hvis der er fundet et match, Falsk eller Nej ellers skal du bruge denne generiske IF ISNA VLOOKUP-formel:
IF(ISNA( VLOOKUP(...))), "Nej", "Ja")Hvis Vlookup resulterer i #N/A-fejlen, returnerer formlen "Nej", hvilket betyder, at opslagsværdien ikke findes i opslagslisten. Hvis den findes, returneres "Ja". F.eks:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Nej", "Ja")
Hvis din forretningslogik kræver det modsatte resultat, skal du blot bytte om på "Ja" og "Nej" for at vende formlens logik:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Ja", "Nej")
Excel Hvis Vlookup-formel til at udføre forskellige beregninger
Ud over at vise dine egne tekstbeskeder kan If-funktionen med Vlookup udføre forskellige beregninger baseret på de kriterier, du angiver.
Hvis vi tager vores eksempel videre, kan vi beregne provisionen for en bestemt sælger (F1) afhængigt af deres effektivitet: 20 % provision for dem, der tjente 200 USD og mere, 10 % for alle andre.
Du kontrollerer, om den værdi, der returneres af Vlookup, er større end eller lig med 200, og hvis det er tilfældet, skal du gange den med 20 %, ellers 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%)
Hvor A2:A10 er sælgers navne og C2:C10 er salg.
IF ISNA VLOOKUP for at skjule #N/A-fejl
Hvis VLOOKUP-funktionen ikke kan finde en specificeret værdi, giver den en #N/A-fejl. Hvis du vil fange denne fejl og erstatte den med din egen tekst, skal du indlejre en Vlookup-formel i den logiske test af IF-funktionen, f.eks. på følgende måde:
IF(ISNA(VLOOKUP(...))), "Ikke fundet", VLOOKUP(...))Du kan naturligvis skrive en hvilken som helst tekst i stedet for "Ikke fundet".
Antag, at du har en liste med sælgers navne i en kolonne og salgsbeløb i en anden kolonne. Din opgave er at finde et tal, der svarer til det navn, brugeren indtaster i F1. Hvis navnet ikke findes, skal du vise en meddelelse om dette.
Med navnene i A2:A10 og beløbene C2:C10 kan opgaven løses med følgende If Vlookup-formel:
=IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Ikke fundet", VLOOKUP(F1,$A$2:$C$10,3,FALSE))
Hvis navnet findes, returneres et tilsvarende salgsbeløb:
Hvis opslagsværdien ikke kan findes, vil Ikke fundet vises i stedet for fejlmeddelelsen #N/A:
Sådan fungerer denne formel
Formlens logik er meget enkel: du bruger ISNA-funktionen til at kontrollere Vlookup for #N/A-fejl. Hvis der opstår en fejl, returnerer ISNA TRUE, ellers FALSE. Ovennævnte værdier går til den logiske test af IF-funktionen, som gør en af følgende ting:
- Hvis den logiske test er TRUE (#N/A-fejl), vises din meddelelse.
- Hvis den logiske test er FALSK (opslagsværdien er fundet), returnerer Vlookup normalt et match.
IFNA VLOOKUP i nyere Excel-versioner
Fra og med Excel 2013 kan du bruge funktionen IFNA i stedet for IF ISNA til at opfange og håndtere #N/A-fejl:
IFNA(VLOOKUP(...), " Ikke fundet ")I vores eksempel ville formlen have følgende formular:
=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Ikke fundet")
Tip. Hvis du vil fange alle slags fejl, ikke kun #N/A, kan du bruge VLOOKUP i kombination med IFERROR-funktionen. Du kan finde flere oplysninger her: IFERROR VLOOKUP i Excel.
Excel Vlookup: hvis ikke fundet returnerer 0
Når du arbejder med numeriske værdier, kan du ønske at returnere et nul, når opslagsværdien ikke er fundet. For at få det gjort, skal du bruge IF ISNA VLOOKUP-formlen, der er beskrevet ovenfor, med en lille ændring: I stedet for en tekstmeddelelse skal du angive 0 i value_if_true argument i IF-funktionen:
IF(ISNA(VLOOKUP(...))), 0, VLOOKUP(...))I vores eksempeltabel ville formlen se ud som følger:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))
I de seneste versioner af Excel 2016 og 2013 kan du igen bruge IFNA Vlookup-kombinationen:
=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)
Excel Vlookup: hvis ikke fundet returnerer tom celle
Dette er endnu en variant af "Vlookup if then"-erklæringen: returner intet, når opslagsværdien ikke findes. For at gøre dette skal du instruere din formel til at returnere en tom streng (""") i stedet for #N/A-fejlen:
IF(ISNA(VLOOKUP(...))), "", VLOOKUP(...))Nedenfor er der et par eksempler på komplette formler:
Til alle Excel-versioner:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))
Til Excel 2016 og Excel 2013:
=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")
If med indeksmatch - venstre vlookup med If betingelse
Erfarne Excel-brugere ved, at VLOOKUP-funktionen ikke er den eneste måde at lave vertikale opslag i Excel på. INDEX MATCH-kombinationen kan også bruges til dette formål, og den er endnu mere kraftfuld og alsidig. Den gode nyhed er, at Index Match kan fungere sammen med IF på nøjagtig samme måde som Vlookup.
Du har f.eks. ordrenumre i kolonne A og sælgernavne i kolonne B. Du leder efter en formel til at trække ordrenummeret for en bestemt sælger frem.
Vlookup kan ikke bruges i dette tilfælde, fordi det ikke kan søge fra højre til venstre. Index Match fungerer uden problemer, så længe opslagsværdien findes i opslagskolonnen. Hvis ikke, vises en #N/A-fejl. Hvis du vil erstatte standardfejlnotationen med din egen tekst, skal du placere Index Match i IF ISNA:
=IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))), "Ikke fundet", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))
I Excel 2016 og 2016 kan du bruge IFNA i stedet for IF ISNA for at gøre formlen mere kompakt:
=IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Ikke fundet")
På samme måde kan du bruge indeksmatch i andre Hvis-formler.
Sådan bruger du Vlookup og IF statement sammen i Excel. Hvis du vil se nærmere på de formler, der er beskrevet i denne vejledning, er du velkommen til at downloade vores prøvearbejdsmappe nedenfor. Tak fordi du læste med, og jeg håber at se dig på vores blog i næste uge!
Arbejdsbog til download
Excel IF Vlookup - eksempler på formler (.xlsx-fil)