Indholdsfortegnelse
Vejledningen viser, hvordan du bruger VLOOKUP-formlen i Excel til at sammenligne to kolonner for at returnere fælles værdier (match) eller finde manglende data (forskelle).
Når du har data i to forskellige lister, kan du ofte have brug for at sammenligne dem for at se, hvilke oplysninger der mangler i en af listerne, eller hvilke data der er til stede i begge lister. Sammenligning kan gøres på mange forskellige måder - hvilken metode du skal bruge afhænger af, hvad du ønsker at opnå med den.
Sådan sammenligner du to kolonner i Excel ved hjælp af VLOOKUP
Når du har to datakolonner og ønsker at finde ud af, hvilke datapunkter fra den ene liste der findes i den anden liste, kan du bruge VLOOKUP-funktionen til at sammenligne listerne for at finde fælles værdier.
Du skal gøre følgende for at opbygge en VLOOKUP-formel i sin grundlæggende form:
- Til opslagsværdi (1. argument), anvendes den øverste celle fra liste 1.
- Til table_array (2. argument), skal du angive hele liste 2.
- Til col_index_num (3. argument), skal du bruge 1, da der kun er én kolonne i arrayet.
- Til range_lookup (4. argument), sættes FALSE - nøjagtig match.
Lad os antage, at du har navnene på deltagerne i kolonne A (liste 1) og navnene på dem, der er gået gennem kvalifikationsrunderne, i kolonne B (liste 2). Du vil sammenligne disse to lister for at finde ud af, hvilke deltagere fra gruppe A der er nået frem til hovedbegivenheden. Du kan gøre dette ved at bruge følgende formel.
=VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
Formlen går til celle E2, og derefter trækker du den ned gennem lige så mange celler, som der er elementer i Liste 1.
Bemærk venligst, at table_array er låst med absolutte referencer ($C$2:$C$9), så den forbliver konstant, når du kopierer formlen til de nedenstående celler.
Som du kan se, vises navnene på de kvalificerede atleter i kolonne E. For de resterende deltagere vises en #N/A-fejl, der angiver, at deres navne ikke er tilgængelige i liste 2.
Forklædning #N/A fejl
VLOOKUP-formlen, der er beskrevet ovenfor, opfylder perfekt sit hovedformål - den returnerer fælles værdier og identificerer manglende datapunkter. Den leverer dog en masse #N/A-fejl, som kan forvirre uerfarne brugere og få dem til at tro, at der er noget galt med formlen.
For at erstatte fejl med tomme celler , bruge VLOOKUP i kombination med IFNA- eller IFERROR-funktionen på denne måde:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
Vores forbedrede formel returnerer en tom streng ("") i stedet for #N/A. Du kan også returnere din brugerdefineret tekst som f.eks. "Ikke på liste 2", "Ikke til stede" eller "Ikke tilgængelig", f.eks:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "Ikke i liste 2")
Dette er den grundlæggende VLOOKUP-formel til sammenligning af to kolonner i Excel. Afhængigt af din særlige opgave kan den ændres som vist i yderligere eksempler.
Sammenligne to kolonner i forskellige Excel-ark ved hjælp af VLOOKUP
I virkeligheden er de kolonner, du skal sammenligne, ikke altid på det samme ark. I et lille datasæt kan du prøve at finde forskellene manuelt ved at se to ark side om side.
Hvis du vil søge i et andet regneark eller en anden projektmappe med formler, skal du bruge en ekstern reference. Den bedste praksis er at begynde at skrive formlen i dit hovedark og derefter skifte til det andet regneark og vælge listen med musen - en passende intervalreference vil automatisk blive tilføjet til formlen.
Hvis liste 1 står i kolonne A på Ark1 og liste 2 er i kolonne A på Ark2 , kan du sammenligne to kolonner og finde overensstemmelser ved hjælp af denne formel:
=IFNA(VLOOKUP(A2, Sheet2!$A$2:$A$9, 1, FALSE), "")
For yderligere oplysninger, se venligst:
- VLOOKUP fra et andet ark
- VLOOKUP fra en anden projektmappe
Sammenligner to kolonner og returnerer fælles værdier (matches)
I de foregående eksempler har vi diskuteret en VLOOKUP-formel i sin enkleste form:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
Resultatet af denne formel er en liste over værdier, der findes i begge kolonner, og tomme celler i stedet for de værdier, der ikke findes i den anden kolonne.
Hvis du vil have en liste over fælles værdier uden huller, skal du blot tilføje auto-filter til den resulterende kolonne og filtrere tomme felter fra.
I Excel til Microsoft 365 og Excel 2021, der understøtter dynamiske arrays, kan du bruge funktionen FILTER til at frasortere tomme felter dynamisk. Brug formlen IFNA VLOOKUP-formlen som kriterium for FILTER til dette formål:
=FILTER(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")")"")
Vær opmærksom på, at vi i dette tilfælde leverer hele liste 1 (A2:A14) til den opslagsværdi Funktionen sammenligner hver af opslagsværdierne med Liste 2 (C2:C9) og returnerer et array af overensstemmelser og #N/A-fejl, der repræsenterer manglende værdier. IFNA-funktionen erstatter fejl med tomme strenge og sender resultaterne til FILTER-funktionen, som filtrerer tomme felter ("") fra og udsender et array af overensstemmelser som slutresultat.
Alternativt kan du bruge ISNA-funktionen til at kontrollere resultatet af VLOOKUP og filtrere de elementer, der evalueres til FALSE, dvs. andre værdier end #N/A-fejl:
=FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE))=FALSE)
Det samme resultat kan opnås med XLOOKUP-funktionen, hvilket gør formlen endnu enklere. På grund af XLOOKUPs evne til at håndtere #N/A-fejl internt (valgfri if_not_found argument), kan vi undvære IFNA- eller ISNA-omslaget:
=FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9, C2:C9,"")""")
Sammenlign to kolonner og find manglende værdier (forskelle)
Hvis du vil sammenligne 2 kolonner i Excel for at finde forskelle, kan du gøre det på denne måde:
- Skriv kerneformlen til at søge efter den første værdi fra liste 1 (A2) i liste 2 ($C$2:$C$9):
VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
- Indlejr ovenstående formel i ISNA-funktionen for at kontrollere VLOOKUP'ens output for #N/A-fejl. I tilfælde af en fejl giver ISNA TRUE, ellers FALSE:
ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE))
- Brug ISNA VLOOKUP-formlen til den logiske test af IF-funktionen. Hvis testen giver TRUE (#N/A-fejl), returneres en værdi fra Liste 1 i samme række. Hvis testen giver FALSE (der er fundet et match i Liste 2), returneres en tom streng.
Den fuldstændige formel har denne form:
=IF(ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE)), A2, "")
Du kan fjerne de tomme felter ved at anvende Excels filter som vist i ovenstående eksempel.
I Excel 365 og Excel 2021 kan du få resultatlisten filtreret dynamisk. Du skal blot placere ISNA VLOOKUP-formlen i omfatter argumentet i FILTER-funktionen:
=FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE)))
En anden måde er at bruge XLOOKUP som kriterium - funktionen returnerer tomme strenge ("") for manglende datapunkter, og du filtrerer de værdier i Liste 1, for hvilke XLOOKUP returnerede tomme strenge (=""):
=FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9, C2:C9,"")="")
VLOOKUP-formel til at identificere overensstemmelser og forskelle mellem to kolonner
Hvis du vil tilføje tekstmærker til den første liste, der angiver, hvilke værdier der er tilgængelige i den anden liste, og hvilke der ikke er, skal du bruge VLOOKUP-formlen sammen med funktionerne IF og ISNA/ISERROR.
For at identificere navne, der er i både kolonne A og D, og navne, der kun er i kolonne A, er formlen f.eks:
=IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Ikke kvalificeret", "Kvalificeret")
Her fanger ISNA-funktionen de #N/A-fejl, der genereres af VLOOKUP, og sender dette mellemresultat videre til IF-funktionen, så den returnerer den angivne tekst for fejl og en anden tekst for vellykkede opslag.
I dette eksempel har vi brugt etiketterne "Not qualified"/"Qualified", som passer til vores eksempeldatasæt. Du kan erstatte dem med "Not in List 2"/"In List 2", "Not available"/"Available" eller andre etiketter, som du finder passende.
Det er bedst at indsætte denne formel i en kolonne ved siden af Liste 1 og kopiere den gennem så mange celler, som der er elementer på listen.
En anden måde at identificere overensstemmelser og forskelle i 2 kolonner på er ved hjælp af MATCH-funktionen:
=IF(ISNA(MATCH(A2, $D$2:$D$9, 0)), "Ikke i liste 2", "I liste 2")
Sammenligner 2 kolonner og returnerer en værdi fra tredje kolonne
Når du arbejder med tabeller, der indeholder relaterede data, kan du nogle gange have brug for at sammenligne to kolonner i to forskellige tabeller og returnere en matchende værdi fra en anden kolonne. Det er faktisk den primære anvendelse af VLOOKUP-funktionen, og det er det formål, den er designet til.
For at sammenligne navnene i kolonne A og D i de to tabeller nedenfor og returnere et tidspunkt fra kolonne E er formlen f.eks:
=VLOOKUP(A3, $D$3:$E$10, 2, FALSE)
Hvis du vil skjule #N/A-fejl, skal du bruge den gennemprøvede løsning - IFNA-funktionen:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "")
I stedet for tomme felter kan du returnere en hvilken som helst tekst for manglende datapunkter - du skal blot skrive den i det sidste argument, f.eks:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "Ikke tilgængelig")
Ud over VLOOKUP kan opgaven løses med et par andre opslagsfunktioner.
Personligt ville jeg bruge en mere fleksibel INDEX MATCH-formel:
=IFNA(INDEX($E$3:$E$10, MATCH(A3, $D$3:$D$10, 0)), "")
Du kan også bruge den moderne efterfølger til VLOOKUP - XLOOKUP-funktionen, som findes i Excel 365 og Excel 2021:
=XLOOKUP(A3, $D$3:$D$10, $E$3:$E$10, "")
Hvis du vil have navnene på de kvalificerede deltagere fra gruppe A og deres resultater, skal du blot filtrere de tomme celler i kolonne B fra:
=FILTER(A3:B15, B3:B15"")
Værktøjer til sammenligning
Hvis du ofte sammenligner filer eller data i Excel, kan disse smarte værktøjer, der er inkluderet i vores Ultimate Suite, spare dig enormt meget tid!
Sammenlign tabeller - hurtig måde at finde dubletter (match) og unikke værdier (forskelle) i to datasæt, f.eks. kolonner, lister eller tabeller.
Sammenlign to ark - find og fremhæv forskelle mellem to regneark.
Sammenlign flere ark - find og fremhæv forskelle i flere ark på én gang.
Arbejdsbog til download
VLOOKUP i Excel til at sammenligne kolonner - eksempler (.xlsx-fil)