IF VLOOKUP i Excel: Vlookup-formel med If condition

  • Dele Denne
Michael Brown

Opplæringen viser hvordan du kombinerer V LOOKUP og IF-funksjonen sammen til v-lookup med if condition i Excel. Du vil også lære hvordan du bruker IF ISNA VLOOKUP-formler for å erstatte #N/A-feil med din egen tekst, null eller tom celle.

Mens VLOOKUP- og IF-funksjonene er nyttige alene, sammen de leverer enda mer verdifulle opplevelser. Denne opplæringen innebærer at du husker syntaksen til de to funksjonene godt, ellers vil du kanskje friske opp kunnskapen din ved å følge koblingene ovenfor.

    Vlookup med If-setning: return True/ False, Yes/No, etc.

    Et av de vanligste scenariene når du kombinerer If og Vlookup sammen, er å sammenligne verdien returnert av Vlookup med en eksempelverdi og returnere Ja / Nei eller True / False som resultat.

    I de fleste tilfeller vil følgende generiske formel fungere bra:

    IF(VLOOKUP(…) = verdi, TRUE, FALSE)

    Oversatt på vanlig engelsk, instruerer formelen Excel til å returnere True hvis Vlookup er sant (dvs. lik den angitte verdien). Hvis Vlookup er usann (ikke lik den angitte verdien), returnerer formelen False .

    Nedenfor finner du noen få virkelige bruksområder for denne IF Vlookup-formelen.

    Eksempel 1. Slå opp en spesifikk verdi

    La oss si at du har en liste over elementer i kolonne A og antall i kolonne B. Du lager et dashbord for brukerne dine og trenger en formelsom ville sjekke kvantumet for en vare i E1 og informere brukeren om varen er på lager eller utsolgt.

    Du trekker antallet med en vanlig Vlookup med eksakt match-formel slik:

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

    Skriv deretter en IF-setning som sammenligner Vlookups resultat med null, og returnerer "Nei" hvis den er lik 0, ellers "Ja":

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

    I stedet for Ja/Nei kan du returnere TRUE/FALSE eller På lager/Utsolgt eller andre to valg. For eksempel:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0,"Sold out","In stock")

    Du kan også sammenligne verdien returnert av Vlookup med eksempel tekst . I dette tilfellet må du sørge for å sette en tekststreng i anførselstegn, som dette:

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

    Eksempel 2. Sammenlign Vlookup-resultatet med en annen celle

    Et annet typisk eksempel på Vlookup med If condition i Excel sammenligner Vlookup-utdata med en verdi i en annen celle. For eksempel kan vi sjekke om det er større enn eller lik et tall i celle G2:

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

    Og her er vår If-formel med Vlookup i aksjon:

    På lignende måte kan du bruke en hvilken som helst annen logisk operator sammen med en cellereferanse i Excel If Vlookup-formelen.

    Eksempel 3. Vlookup-verdier i en kortere liste

    For å sammenligne hver celle i målkolonnen med en annen liste og returnere True eller Ja hvis et samsvar blir funnet, False eller Nei ellers, bruk denne generiske IF ISNA VLOOKUP-formelen:

    IF(ISNA(VLOOKUP(…)),"Nei","Ja")

    Hvis Vlookup resulterer i #N/A-feilen, returnerer formelen "Nei", noe som betyr at oppslagsverdien ikke finnes i oppslagslisten. Hvis treffet blir funnet, returneres "Ja". For eksempel:

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

    Hvis forretningslogikken din krever motsatte resultater, bytt ganske enkelt "Ja" og "Nei" for å reversere formelens logikk:

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

    Excel If Vlookup-formel for å utføre forskjellige beregninger

    Foruten å vise dine egne tekstmeldinger, kan If-funksjonen med Vlookup utføre forskjellige beregninger basert på kriteriene du spesifiserer.

    For å ta eksemplet vårt videre, la oss beregne provisjonen til en spesifikk selger (F1) avhengig av deres effektivitet: 20 % provisjon for de som tjente 200 dollar og mer, 10 % for alle andre .

    For dette sjekker du om verdien returnert av Vlookup er større enn eller lik 200, og hvis den er det, multipliserer du 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 selgernavn og C2:C10 er salg.

    HVIS ISNA VLOOKUP for å skjule #N/A-feil

    Hvis VLOOKUP-funksjonen ikke finner en spesifisert verdi, gir den en #N/A-feil. For å fange opp feilen og erstatte den med din egen tekst, bygg inn en Vlookup-formel i den logiske testen av IF-funksjonen, slik:

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

    Du kan selvfølgelig skrive hvilken som helst tekst du liker i stedet for "Ikke funnet".

    Anta at du har en liste over selgerenavn i én kolonne og salgsbeløp i en annen kolonne. Din oppgave er å trekke et tall som tilsvarer navnet brukeren skriver inn i F1. Hvis navnet ikke blir funnet, vis en melding som indikerer det.

    Med navnene i A2:A10 og beløpene C2:C10, kan oppgaven utføres med følgende If Vlookup-formel:

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

    Hvis navnet blir funnet, returneres et tilsvarende salgsbeløp:

    Hvis oppslagsverdien ikke blir funnet, vises Ikke funnet -meldingen vises i stedet for #N/A-feilen:

    Hvordan denne formelen fungerer

    Formelens logikk er veldig enkel: du bruker ISNA-funksjonen for å sjekke Vlookup for #N/A-feil. Hvis det oppstår en feil, returnerer ISNA TRUE, ellers FALSE. Verdiene ovenfor går til den logiske testen av HVIS-funksjonen, som gjør ett av følgende:

    • Hvis den logiske testen er TRUE (#N/A feil), vises meldingen din.
    • Hvis den logiske testen er FALSE (oppslagsverdi er funnet), returnerer Vlookup et samsvar normalt.

    IFNA VLOOKUP i nyere Excel-versjoner

    Fra og med Excel 2013 kan du kan bruke IFNA-funksjonen i stedet for IF ISNA for å fange opp og håndtere #N/A-feil:

    IFNA(VLOOKUP(…), " Ikke funnet")

    I vårt eksempel vil formelen ta følgende form:

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

    Tips. Hvis du vil fange alle slags feil, ikke bare #N/A, bruk VLOOKUP i kombinasjon med IFERROR-funksjonen. Flere detaljer finner du her: IFERRORVLOOKUP i Excel.

    Excel Vlookup: hvis ikke funnet returner 0

    Når du arbeider med numeriske verdier, kan det være lurt å returnere en null når oppslagsverdien ikke finnes. For å få det gjort, bruk IF ISNA VLOOKUP-formelen diskutert ovenfor med en liten modifikasjon: i stedet for en tekstmelding, oppgi 0 i value_if_true -argumentet til IF-funksjonen:

    IF(ISNA(VLOOKUP( …)), 0, VLOOKUP(…))

    I eksempeltabellen vår vil formelen se ut som følger:

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

    I nyere versjoner av Excel 2016 og 2013, kan du bruke IFNA Vlookup-kombinasjonen igjen:

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

    Excel Vlookup: hvis ikke funnet returner tom celle

    Dette er en variant til av "Vlookup if then"-setningen: returner ingenting når oppslagsverdien ikke er funnet. For å gjøre dette, instruer formelen din om å returnere en tom streng ("") i stedet for #N/A-feilen:

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

    Below er et par komplette formeleksempler:

    For alle Excel-versjoner:

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

    For Excel 2016 og Excel 2013:

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

    If with Index Match - venstre vlookup med If condition

    Erfarne Excel-brukere vet at VLOOKUP-funksjonen ikke er den eneste måten å gjøre vertikalt oppslag i Excel. INDEX MATCH-kombinasjonen kan også brukes til dette formålet, og den er enda kraftigere og mer allsidig. Den gode nyheten er at Index Match kan jobbe sammen med IF på akkurat samme måte somVlookup.

    Du har for eksempel ordrenummer i kolonne A og selgernavn i kolonne B. Du leter etter en formel for å trekke ordrenummeret for en spesifikk selger.

    Vlookup kan ikke være brukes i dette tilfellet fordi den ikke kan søke fra høyre til venstre. Index Match vil fungere uten problemer så lenge oppslagsverdien finnes i oppslagskolonnen. Hvis ikke, vises en #N/A-feil. For å erstatte standard feilnotasjon med din egen tekst, nest 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 og 2016 kan du bruke IFNA i stedet for IF ISNA for å gjøre formelen mer compact:

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

    På lignende måte kan du bruke Index Match i andre If-formler.

    Dette er hvordan du bruker Vlookup og IF-setning sammen i Excel. For å se nærmere på formlene som er diskutert i denne opplæringen, er du velkommen til å laste ned vår eksempelarbeidsbok nedenfor. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!

    Øvningsarbeidsbok for nedlasting

    Excel IF Vlookup - formeleksempler (.xlsx-fil)

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.