Innholdsfortegnelse
Denne opplæringen forklarer hvordan du bruker MATCH-funksjonen i Excel med formeleksempler. Den viser også hvordan du kan forbedre oppslagsformlene dine ved å lage dynamiske formeler med VLOOKUP og MATCH.
I Microsoft Excel er det mange forskjellige oppslags-/referansefunksjoner som kan hjelpe deg med å finne en viss verdi i en celleområde, og MATCH er en av dem. I utgangspunktet identifiserer den en relativ plassering av et element i en rekke celler. MATCH-funksjonen kan imidlertid gjøre mye mer enn dens rene essens.
Excel MATCH-funksjon - syntaks og bruk
MATCH-funksjonen i Excel søker etter en spesifisert verdi i et celleområde, og returnerer den relative posisjonen til den verdien.
Syntaksen for MATCH-funksjonen er som følger:
MATCH(oppslagsverdi, oppslagsmatrise, [samsvarstype])Oppslagsverdi (påkrevd) - verdien du vil finne. Det kan være en numerisk, tekst- eller logisk verdi, så vel som en cellereferanse.
Oppslagsmatrise (påkrevd) - celleområdet det skal søkes i.
Match_type (valgfritt) - definerer matchtypen. Det kan være en av disse verdiene: 1, 0, -1. Argumentet match_type satt til 0 returnerer bare det eksakte samsvaret, mens de to andre typene tillater omtrentlig samsvar.
- 1 eller utelatt (standard) - finn den største verdien i oppslagsmatrise som er mindre enn eller lik oppslagsverdien. Krever sortering av oppslagsmatrisen i stigende rekkefølge,arbeidsbok for nedlasting
Excel MATCH-formeleksempler (.xlsx-fil)
fra minste til største eller fra A til Å. - 0 - finn den første verdien i matrisen som er nøyaktig lik med oppslagsverdien. Ingen sortering er nødvendig.
- -1 - finn den minste verdien i matrisen som er større enn eller lik oppslagsverdien. Oppslagsmatrisen bør sorteres i synkende rekkefølge, fra størst til minste eller fra Z til A.
For bedre å forstå MATCH-funksjonen, la oss lage en enkel formel basert på disse dataene: elevenes navn i kolonnen A og deres eksamenspoeng i kolonne B, sortert fra størst til minste. For å finne ut hvor en spesifikk elev (f.eks. Laura ) står blant andre, bruk denne enkle formelen:
=MATCH("Laura", A2:A8, 0)
Du kan eventuelt sette oppslagsverdien i noen celle (E1 i dette eksemplet) og referer til den cellen i Excel Match-formelen:
=MATCH(E1, A2:A8, 0)
Som du ser i skjermbildet ovenfor, heter studentene legges inn i en vilkårlig rekkefølge, og derfor setter vi argumentet match_type til 0 (eksakt samsvar), fordi bare denne matchtypen ikke krever sorteringsverdier i oppslagsmatrisen. Teknisk sett returnerer Match-formelen den relative plasseringen til Laura i området. Men fordi skårene er sortert fra størst til minste, forteller det oss også at Laura har den 5. beste skåren blant alle elevene.
Tips. I Excel 365 og Excel 2021 kan du bruke XMATCH-funksjonen, som er en moderne og kraftigere etterfølgerav MATCH.
4 ting du bør vite om MATCH-funksjonen
Som du nettopp har sett, er det enkelt å bruke MATCH i Excel. Men som tilfellet er med nesten alle andre funksjoner, er det noen få spesifisiteter du bør være oppmerksom på:
- SAMMENLIGNING-funksjonen returnerer den relative posisjonen til oppslagsverdien i matrisen, ikke verdien i seg selv.
- MATCH er uavhengig av store og små bokstaver , noe som betyr at den ikke skiller mellom små og store bokstaver når det gjelder tekstverdier.
- Hvis oppslagsmatrisen inneholder flere forekomster av oppslagsverdien, posisjonen til den første verdien returneres.
- Hvis oppslagsverdien ikke finnes i oppslagsmatrisen, returneres #N/A-feilen.
Hvordan bruke MATCH i Excel - formeleksempler
Nå som du kjenner den grunnleggende bruken av Excel MATCH-funksjonen, la oss diskutere noen flere formeleksempler som går utover det grunnleggende.
Delvis samsvar med jokertegn
Som mange andre funksjoner forstår MATCH følgende jokertegn:
- Spørsmålstegn (?) - erstatter et enkelt tegn
- Asterisk (*) - erstatter alle s sekvens av tegn
Merk. Jokertegn kan bare brukes i Match-formler med match_type satt til 0.
En Match-formel med jokertegn er nyttig i situasjoner der du ikke ønsker å matche hele tekststrengen, men bare noen tegn eller deler av strengen.For å illustrere poenget, tenk på følgende eksempel.
Forutsatt at du har en liste over regionale forhandlere og deres salgstall for den siste måneden. Du vil finne en relativ posisjon til en bestemt forhandler i listen (sortert etter salgsbeløp i synkende rekkefølge), men du kan ikke huske navnet hans nøyaktig, selv om du husker noen få første tegn.
Forutsatt at forhandleren er forhandler. navn er i området A2:A11, og du søker etter navnet som begynner med "bil", går formelen som følger:
=MATCH("car*", A2:A11,0)
For å gjøre Match-formelen vår mer allsidig, du kan skrive inn oppslagsverdien i en celle (E1 i dette eksemplet), og sette sammen den cellen med jokertegnet, slik:
=MATCH(E1&"*", A2:A11,0)
Som vist på skjermbildet nedenfor, formelen returnerer 2, som er posisjonen til "Carter":
For å erstatte bare ett tegn i oppslagsverdien, bruk "?" jokertegnoperator, som denne:
=MATCH("ba?er", A2:A11,0)
Formelen ovenfor vil samsvare med navnet " Baker " og kjøre dens relative posisjon på nytt, som er 5.
Stillingssensitiv MATCH-formel
Som nevnt i begynnelsen av denne opplæringen, skiller MATCH-funksjonen ikke store og små bokstaver. For å lage en Match-formel som skiller mellom store og små bokstaver, bruker du MATCH i kombinasjon med EKSAKT-funksjonen som sammenligner celler nøyaktig, inkludert store og små bokstaver.
Her er den generelle formelen som skiller mellom store og små bokstaver.data:
MATCH(TRUE, EXACT( oppslagsmatrise , oppslagsverdi ), 0)Formelen fungerer med følgende logikk:
- EXACT-funksjonen sammenligner oppslagsverdien med hvert element i oppslagsmatrisen. Hvis de sammenlignede cellene er nøyaktig like, returnerer funksjonen TRUE, FALSE ellers.
- Og så sammenligner MATCH-funksjonen TRUE (som er dens oppslagsverdi ) med hver verdi i matrisen returnert av EXACT, og returnerer posisjonen til det første treffet.
Vennligst husk at det er en matriseformel som krever å trykke Ctrl + Shift + Enter for å fullføres riktig.
Forutsatt at du oppslagsverdien er i celle E1 og oppslagsmatrisen er A2:A9, formelen er som følger:
=MATCH(TRUE, EXACT(A2:A9,E1),0)
Følgende skjermbilde viser den store og små bokstavsensitive matchformelen i Excel:
Sammenlign 2 kolonner for treff og forskjeller (ISNA MATCH)
Å sjekke to lister for treff og forskjeller er en av de vanligste oppgavene i Excel, og det kan være gjort på en rekke måter. En ISNA/MATCH-formel er en av dem:
HVIS(ISNA(MATCH( 1. verdi i Liste1 , Liste2 , 0)), "Ikke i liste 1", " ")For en hvilken som helst verdi av liste 2 som ikke er til stede i liste 1, returnerer formelen " Ikke i liste 1 ". Og her er hvordan:
- SAMMENLIGNING-funksjonen søker etter en verdi fra liste 1 i liste 2. Hvis en verdi blir funnet, returnerer den sin relative posisjon, #N/A feilellers.
- ISNA-funksjonen i Excel gjør bare én ting - sjekker for #N/A-feil (som betyr "ikke tilgjengelig"). Hvis en gitt verdi er en #N/A feil, returnerer funksjonen TRUE, FALSE ellers. I vårt tilfelle betyr TRUE at en verdi fra liste 1 ikke finnes i liste 2 (dvs. en #N/A-feil returneres av MATCH).
- Fordi det kan være veldig forvirrende for brukerne dine å se TRUE for verdier som ikke vises i liste 1, vikler du HVIS-funksjonen rundt ISNA for å vise " Ikke i liste 1 " i stedet, eller hvilken tekst du vil.
For eksempel , for å sammenligne verdier i kolonne B mot verdier i kolonne A, har formelen følgende form (der B2 er den øverste cellen):
=IF(ISNA(MATCH(B2,A:A,0)), "Not in List 1", "")
Som du husker, er MATCH-funksjonen i Excel skiller mellom store og små bokstaver i seg selv. For å få det til å skille mellom store og små bokstaver, bygg inn EXACT-funksjonen i lookup_array -argumentet, og husk å trykke Ctrl + Shift + Enter for å fullføre denne matriseformelen :
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Not in List 1", "")
Følgende skjermbilde viser begge formlene i aksjon:
For å lære andre måter å sammenligne to lister i Excel på, se følgende veiledning: Hvordan for å sammenligne 2 kolonner i Excel.
Excel VLOOKUP og MATCH
Dette eksemplet forutsetter at du allerede har noen grunnleggende kunnskaper om Excel VLOOKUP-funksjonen. Og hvis du gjør det, er sjansen stor for at du har støtt på de mange begrensningene (den detaljerte oversikten kan værefunnet i Hvorfor Excel VLOOKUP ikke fungerer) og ser etter et mer robust alternativ.
En av de mest irriterende ulempene med VLOOKUP er at den slutter å virke etter å ha satt inn eller slettet en kolonne i en oppslagstabell. Dette skjer fordi VLOOKUP trekker en samsvarende verdi basert på nummeret på returkolonnen du angir (indeksnummer). Fordi indeksnummeret er "hardkodet" i formelen, kan ikke Excel justere det når nye kolonne(r) legges til eller slettes fra tabellen.
Excel MATCH-funksjonen omhandler en relativ posisjon av en oppslagsverdi, noe som gjør den perfekt til col_index_num -argumentet til VLOOKUP. Med andre ord, i stedet for å spesifisere returkolonnen som et statisk tall, bruker du MATCH for å få den gjeldende plasseringen av den kolonnen.
For å gjøre ting lettere å forstå, la oss bruke tabellen med studentenes eksamenspoeng igjen (ligner på den vi brukte i begynnelsen av denne opplæringen), men denne gangen skal vi hente den virkelige poengsummen og ikke dens relative posisjon.
Forutsatt at oppslagsverdien er i celle F1, er tabellmatrisen $A$1:$C$2 (det er en god praksis å låse den ved å bruke absolutte cellereferanser hvis du planlegger å kopiere formelen til andre celler), formelen går som følger:
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
Det tredje argumentet ( col_index_num ) er satt til 3 fordi Mattepoengsum som vi ønsker å trekke er den tredje kolonnen ibord. Som du kan se på skjermbildet nedenfor, fungerer denne vanlige Vlookup-formelen bra:
Men bare til du setter inn eller sletter en(e) kolonne(r):
Så hvorfor #REF! feil? Fordi col_index_num satt til 3 forteller Excel å hente en verdi fra den tredje kolonnen, mens det nå bare er 2 kolonner i tabellmatrisen.
For å forhindre at slike ting skjer, kan du lage Vlookup-formelen din mer dynamisk ved å inkludere følgende Match-funksjon:
MATCH(E2,A1:C1,0)
Hvor:
- E2 er oppslagsverdien, som er nøyaktig lik til navnet på returkolonnen, dvs. kolonnen du vil hente en verdi fra ( Matepoeng i dette eksemplet).
- A1:C1 er oppslagsmatrisen som inneholder tabelloverskrifter.
Og nå inkluderer denne Match-funksjonen i col_index_num -argumentet til Vlookup-formelen, slik:
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
Og sørg for at det fungerer upåklagelig uansett hvor mange kolonner du legger til eller sletter:
I skjermbildet ovenfor låste jeg alle cellereferanser for at formelen skulle fungere riktig selv om min brukere flytter den til et annet sted i regnearket. En du kan se på skjermbildet nedenfor, formelen fungerer helt fint etter å ha slettet en kolonne; Videre er Excel smart nok til å justere absolutte referanser riktig i dette tilfellet:
Excel HLOOKUP og MATCH
På lignende måte kan du bruke Excel MATCH funksjon tilforbedre HLOOKUP-formlene dine. Det generelle prinsippet er i hovedsak det samme som ved Vlookup: du bruker Match-funksjonen for å få den relative posisjonen til returkolonnen, og oppgir det tallet til row_index_num -argumentet til Hlookup-formelen.
Anta at oppslagsverdien er i celle B5, tabellmatrisen er B1:H3, navnet på returraden (oppslagsverdien for MATCH) er i celle A6 og radoverskriftene er A1:A3, er den komplette formelen som følger:
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)
Som du nettopp har sett, er kombinasjonen Hlookup/Vlookup & Match er absolutt en forbedring i forhold til vanlige Hlookup- og Vlookup-formler. MATCH-funksjonen eliminerer imidlertid ikke alle begrensningene deres. Spesielt kan en Vlookup Match-formel fortsatt ikke se til venstre, og Hlookup Match klarer ikke å søke i andre rader enn den øverste.
For å overvinne de ovennevnte (og noen få andre) begrensningene, bør du vurdere å bruke en kombinasjon av INDEX MATCH, som gir en veldig kraftig og allsidig måte å gjøre oppslag i Excel, overlegen Vlookup og Hlookup på mange måter. Den detaljerte veiledningen og formeleksemplene finner du i INDEX & MATCH i Excel - et bedre alternativ til VLOOKUP.
Slik bruker du MATCH-formler i Excel. Forhåpentligvis vil eksemplene som er diskutert i denne opplæringen være nyttige i arbeidet ditt. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!