Indholdsfortegnelse
Denne vejledning forklarer, hvordan du bruger MATCH-funktionen i Excel med eksempler på formler. Den viser også, hvordan du kan forbedre dine opslagsformler ved at lave dynamiske formler med VLOOKUP og MATCH.
I Microsoft Excel er der mange forskellige opslags-/referencefunktioner, der kan hjælpe dig med at finde en bestemt værdi i en række celler, og MATCH er en af dem. Grundlæggende identificerer den en relativ position for et element i en række celler. MATCH-funktionen kan dog gøre meget mere end dens rene essens.
Excel MATCH-funktion - syntaks og anvendelser
Funktionen MATCH i Excel søger efter en bestemt værdi i et område af celler og returnerer den relative position for denne værdi.
Syntaksen for MATCH-funktionen er som følger:
MATCH(opslag_værdi, opslagsarray, [match_type])Opslag_værdi (påkrævet) - den værdi, du vil finde. Det kan være en numerisk, tekstmæssig eller logisk værdi samt en cellehenvisning.
Opslag_array (påkrævet) - det område af celler, der skal søges i.
Match_type (valgfrit) - definerer matchtypen. Det kan være en af disse værdier: 1, 0, -1. Argumentet match_type, der er sat til 0, returnerer kun det nøjagtige match, mens de to andre typer giver mulighed for et tilnærmelsesvis match.
- 1 eller udeladt (standard) - finder den største værdi i opslagsarrayet, der er mindre end eller lig med opslagsværdien. Kræver sortering af opslagsarrayet i stigende rækkefølge, fra den mindste til den største eller fra A til Z.
- 0 - find den første værdi i arrayet, der er nøjagtigt lige til opslagsværdien. Der kræves ingen sortering.
- -1 - finde den mindste værdi i arrayet, der er større end eller lig med opslagsværdien. Opslagsarrayet skal sorteres i faldende rækkefølge, fra størst til mindst eller fra Z til A.
For bedre at forstå MATCH-funktionen kan vi lave en simpel formel baseret på disse data: Elevernes navne i kolonne A og deres eksamensresultater i kolonne B, sorteret fra størst til mindst. For at finde ud af, hvor en bestemt elev (f.eks, Laura ) blandt andre, bruger denne enkle formel:
=MATCH("Laura", A2:A8, 0)
Du kan eventuelt placere opslagsværdien i en celle (E1 i dette eksempel) og henvise til denne celle i din Excel Match-formel:
=MATCH(E1, A2:A8, 0)
Som du kan se i skærmbilledet ovenfor, er elevernes navne indtastet i en vilkårlig rækkefølge, og derfor sætter vi match_type argumentet til 0 (nøjagtig match), fordi kun denne matchtype ikke kræver sortering af værdierne i opslagsarrayet. Teknisk set returnerer Match-formlen Lauras relative position i intervallet. Men da scorerne er sorteret fra størst til mindst, fortæller den os også, at Laura har den femte bedste score blandt alle eleverne.
Tip. I Excel 365 og Excel 2021 kan du bruge XMATCH-funktionen, som er en moderne og mere kraftfuld efterfølger til MATCH.
4 ting, du bør vide om MATCH-funktionen
Som du lige har set, er det nemt at bruge MATCH i Excel. Men som det er tilfældet med næsten alle andre funktioner, er der et par særlige forhold, som du skal være opmærksom på:
- Funktionen MATCH returnerer den relativ position af opslagsværdien i arrayet, ikke selve værdien.
- MATCH er skift mellem store og små bogstaver , hvilket betyder, at der ikke skelnes mellem små og store bogstaver, når der er tale om tekstværdier.
- Hvis opslagsarrayet indeholder flere forekomster af opslagsværdien, returneres positionen for den første værdi.
- Hvis opslagsværdien ikke findes i opslagsarrayet, returneres fejlmeddelelsen #N/A.
Sådan bruger du MATCH i Excel - eksempler på formler
Nu hvor du kender de grundlæggende anvendelser af Excel MATCH-funktionen, skal vi diskutere et par eksempler på flere formler, der går ud over det grundlæggende.
Delvis match med jokertegn
Som mange andre funktioner forstår MATCH følgende jokertegn:
- Spørgsmålstegn (?) - erstatter et hvilket som helst enkelt tegn
- Asterisk (*) - erstatter en vilkårlig sekvens af tegn
Bemærk. Jokertegn kan kun bruges i Match-formler med match_type sættes til 0.
En Match-formel med jokertegn er nyttig i situationer, hvor du ikke ønsker at matche hele tekststrengen, men kun nogle tegn eller en del af strengen. For at illustrere dette kan du se på følgende eksempel.
Lad os antage, at du har en liste over regionale forhandlere og deres salgstal for den seneste måned. Du ønsker at finde en bestemt forhandlers relative position på listen (sorteret efter salgsmængder i faldende rækkefølge), men du kan ikke huske hans navn præcist, selv om du kan huske et par første tegn.
Hvis vi antager, at forhandlernavnene er i intervallet A2:A11, og du søger efter det navn, der begynder med "car", lyder formlen således:
=MATCH("car*", A2:A11,0)
For at gøre vores Match-formel mere alsidig kan du skrive opslagsværdien i en celle (E1 i dette eksempel) og sammenkæde denne celle med jokertegnet på følgende måde:
=MATCH(E1& "*", A2:A11,0)
Som vist i skærmbilledet nedenfor giver formlen 2, som er positionen for "Carter":
Hvis du kun vil erstatte et enkelt tegn i opslagsværdien, skal du bruge jokertegnsoperatoren "?", som her:
=MATCH("ba?er", A2:A11,0)
Ovenstående formel vil matche navnet " Baker " og genudfør dens relative position, som er 5.
MATCH-formel, der tager hensyn til store og små bogstaver
Som nævnt i begyndelsen af denne vejledning skelner MATCH-funktionen ikke mellem store og små bogstaver. Hvis du vil lave en Match-formel, der tager hensyn til store og små bogstaver, skal du bruge MATCH i kombination med EXACT-funktionen, der sammenligner cellerne nøjagtigt, inklusive tegnets kasus.
Her er den generiske formel, der tager hensyn til store og små bogstaver for at matche data:
MATCH(TRUE, EXACT( opslagsrække , opslagsværdi ), 0)Formlen fungerer med følgende logik:
- EXACT-funktionen sammenligner opslagsværdien med hvert element i opslagsarrayet. Hvis de sammenlignede celler er nøjagtigt ens, returnerer funktionen TRUE, ellers FALSE.
- Og så sammenligner MATCH-funktionen TRUE (som er dens opslagsværdi ) med hver værdi i det array, der returneres af EXACT, og returnerer positionen for det første match.
Husk, at det er en array-formel, som kræver, at du trykker på Ctrl + Shift + Enter for at blive udfyldt korrekt.
Hvis vi antager, at din opslagsværdi er i celle E1, og at opslagsrækken er A2:A9, er formlen som følger:
=MATCH(TRUE, EXACT(A2:A9,E1),0)
Følgende skærmbillede viser den case-sensitive Match-formel i Excel:
Sammenlign 2 kolonner for at finde overensstemmelse og forskelle (ISNA MATCH)
Kontrol af to lister for overensstemmelse og forskelle er en af de mest almindelige opgaver i Excel, og det kan gøres på mange forskellige måder. En ISNA/MATCH-formel er en af dem:
IF(ISNA(MATCH( 1. værdi i Liste1 , Liste2 , 0))), "Ikke i liste 1", "")For enhver værdi i liste 2, som ikke findes i liste 1, returnerer formlen " Ikke på liste 1 ". Og her er hvordan:
- Funktionen MATCH søger efter en værdi fra Liste 1 i Liste 2. Hvis der findes en værdi, returneres dens relative position, ellers #N/A-fejl.
- ISNA-funktionen i Excel gør kun én ting - den kontrollerer for #N/A-fejl (hvilket betyder "ikke tilgængelig"). Hvis en given værdi er en #N/A-fejl, returnerer funktionen TRUE, ellers FALSE. I vores tilfælde betyder TRUE, at en værdi fra Liste 1 ikke findes i Liste 2 (dvs. en #N/A-fejl returneres af MATCH).
- Da det kan være meget forvirrende for dine brugere at se TRUE for værdier, der ikke findes i liste 1, skal du vikle IF-funktionen omkring ISNA for at vise " Ikke på liste 1 " i stedet, eller den tekst, du ønsker.
Hvis du f.eks. vil sammenligne værdier i kolonne B med værdier i kolonne A, skal formlen have følgende form (hvor B2 er den øverste celle):
=IF(ISNA(MATCH(B2,A:A,0)), "Ikke i liste 1", "")
Som du husker, er MATCH-funktionen i Excel i sig selv ufølsom over for store og små bogstaver. For at få den til at skelne mellem store og små bogstaver skal du indlejre EXACT-funktionen i opslagsbatteri argument, og husk at trykke på Ctrl + Shift + Enter for at afslutte dette array-formel :
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Ikke i liste 1", "")
Følgende skærmbillede viser begge formler i aktion:
Hvis du vil lære andre måder at sammenligne to lister i Excel på, kan du se følgende vejledning: Sådan sammenligner du 2 kolonner i Excel.
Excel VLOOKUP og MATCH
Dette eksempel forudsætter, at du allerede har et grundlæggende kendskab til Excel VLOOKUP-funktionen. Og hvis du har det, er der stor sandsynlighed for, at du er stødt på dens mange begrænsninger (en detaljeret oversigt over dem findes i Hvorfor Excel VLOOKUP ikke virker) og leder efter et mere robust alternativ.
En af de mest irriterende ulemper ved VLOOKUP er, at den holder op med at virke, når du indsætter eller sletter en kolonne i en opslagstabel. Dette sker, fordi VLOOKUP trækker en matchende værdi baseret på det nummer af returkolonnen, som du angiver (indeksnummer). Da indeksnummer er "fastkodet" i formlen, kan Excel ikke justere den, når der tilføjes eller slettes en ny kolonne(r) til eller fra tabellen.
Excel MATCH-funktionen behandler en relativ position af en opslagsværdi, hvilket gør den perfekt egnet til col_index_num I stedet for at angive returkolonnen som et statisk tal bruger du med andre ord MATCH til at få den aktuelle position for denne kolonne.
For at gøre tingene lettere at forstå, bruger vi igen tabellen med elevernes eksamensresultater (svarende til den, vi brugte i begyndelsen af denne vejledning), men denne gang henter vi den reelle score og ikke dens relative position.
Hvis vi antager, at opslagsværdien er i celle F1, at tabelmatrixen er $A$1:$C$2 (det er en god idé at låse den ved hjælp af absolutte cellereferencer, hvis du planlægger at kopiere formlen til andre celler), så lyder formlen således:
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
Det tredje argument ( col_index_num ) er sat til 3, fordi Matematik score som vi ønsker at trække er den tredje kolonne i tabellen. Som du kan se på skærmbilledet nedenfor, fungerer denne almindelige Vlookup-formel godt:
Men kun indtil du indsætter eller sletter en eller flere kolonner:
Hvorfor så fejlen #REF!? Fordi col_index_num sat til 3 fortæller Excel, at den skal hente en værdi fra den tredje kolonne, mens der nu kun er to kolonner i tabelmatrixen.
For at forhindre, at sådanne ting sker, kan du gøre din Vlookup-formel mere dynamisk ved at inkludere følgende Match-funktion:
MATCH(E2,A1:C1,0)
Hvor:
- E2 er opslagsværdien, som er nøjagtigt lige til navnet på returkolonnen, dvs. den kolonne, hvorfra du ønsker at trække en værdi ( Matematik score i dette eksempel).
- A1:C1 er opslagsarrayet, der indeholder tabeloverskrifterne.
Og nu skal du inkludere denne Match-funktion i col_index_num argumentet i din Vlookup-formel, f.eks. sådan her:
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
Og sørg for, at det fungerer upåklageligt, uanset hvor mange kolonner du tilføjer eller sletter:
I skærmbilledet ovenfor har jeg låst alle cellehenvisninger, så formlen fungerer korrekt, selv om mine brugere flytter den til et andet sted i regnearket. Som du kan se i skærmbilledet nedenfor, fungerer formlen fint efter sletning af en kolonne; desuden er Excel smart nok til at justere de absolutte referencer korrekt i dette tilfælde:
Excel HLOOKUP og MATCH
På samme måde kan du bruge Excel MATCH-funktionen til at forbedre dine HLOOKUP-formler. Det generelle princip er stort set det samme som i forbindelse med Vlookup: du bruger Match-funktionen til at få den relative position for returkolonnen og leverer dette tal til row_index_num argumentet i din Hlookup-formel.
Hvis opslagsværdien er i celle B5, tabelmatrixen er B1:H3, navnet på returrækken (opslagsværdien for MATCH) er i celle A6, og rækkeoverskrifterne er A1:A3, er den komplette formel som følger:
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)
Som du lige har set, er kombinationen af Hlookup/Vlookup & Match bestemt en forbedring i forhold til almindelige Hlookup- og Vlookup-formler. MATCH-funktionen fjerner dog ikke alle deres begrænsninger. En Vlookup Match-formel kan stadig ikke se til venstre, og Hlookup Match kan ikke søge i andre rækker end den øverste.
For at overvinde ovenstående (og nogle få andre) begrænsninger kan du overveje at bruge en kombination af INDEX MATCH, som giver en virkelig kraftfuld og alsidig måde at lave opslag i Excel på, der på mange måder er bedre end Vlookup og Hlookup. Du kan finde detaljeret vejledning og eksempler på formler i INDEX & MATCH i Excel - et bedre alternativ til VLOOKUP.
Sådan bruger du MATCH-formler i Excel. Forhåbentlig vil eksemplerne i denne vejledning være nyttige i dit arbejde. Jeg takker for din læsning og håber at se dig på vores blog i næste uge!
Arbejdsbog til download
Eksempler på Excel MATCH-formler (.xlsx-fil)