INHOUDSOPGAWE
Hierdie tutoriaal verduidelik hoe om MATCH-funksie in Excel te gebruik met formulevoorbeelde. Dit wys ook hoe om jou opsoekformules te verbeter deur 'n dinamiese formule te maak met VLOOKUP en MATCH.
In Microsoft Excel is daar baie verskillende opsoek-/verwysingsfunksies wat jou kan help om 'n sekere waarde in 'n reeks selle, en MATCH is een van hulle. Basies identifiseer dit 'n relatiewe posisie van 'n item in 'n reeks selle. Die MATCH-funksie kan egter veel meer doen as sy suiwer essensie.
Excel MATCH-funksie - sintaksis en gebruike
Die MATCH-funksie in Excel soek na 'n gespesifiseerde waarde in 'n reeks selle, en gee die relatiewe posisie van daardie waarde terug.
Die sintaksis vir die MATCH-funksie is soos volg:
MATCH(lookup_value, lookup_array, [match_type])Lookup_value (vereis) - die waarde wat jy wil vind. Dit kan 'n numeriese, teks- of logiese waarde sowel as 'n selverwysing wees.
Opsoek_skikking (vereis) - die reeks selle om in te soek.
Match_type (opsioneel) - definieer die passing tipe. Dit kan een van hierdie waardes wees: 1, 0, -1. Die passing_tipe-argument wat op 0 gestel is, gee slegs die presiese passing terug, terwyl die ander twee tipes benaderde passing toelaat.
- 1 of weggelaat (verstek) - vind die grootste waarde in die opsoekskikking wat minder as of gelyk is aan die opsoekwaarde. Vereis om die opsoekskikking in stygende volgorde te sorteer,werkboek vir aflaai
Excel MATCH formule voorbeelde (.xlsx lêer)
van kleinste na grootste of van A tot Z. - 0 - vind die eerste waarde in die skikking wat presies gelyk is aan die opsoekwaarde. Geen sortering word vereis nie.
- -1 - vind die kleinste waarde in die skikking wat groter as of gelyk is aan die opsoekwaarde. Die opsoekskikking moet in dalende volgorde gesorteer word, van grootste na kleinste of van Z na A.
Om die MATCH-funksie beter te verstaan, kom ons maak 'n eenvoudige formule gebaseer op hierdie data: studente se name in kolom A en hul eksamenpunte in kolom B, gesorteer van grootste na kleinste. Om uit te vind waar 'n spesifieke student (sê, Laura ) staan onder andere, gebruik hierdie eenvoudige formule:
=MATCH("Laura", A2:A8, 0)
Opsioneel kan jy die opsoekwaarde in sommige plaas. sel (E1 in hierdie voorbeeld) en verwys na daardie sel in jou Excel Match formule:
=MATCH(E1, A2:A8, 0)
Soos jy in die skermkiekie hierbo sien, noem die studente name word in 'n arbitrêre volgorde ingevoer, en daarom stel ons die passing_tipe -argument op 0 (presiese passing), omdat slegs hierdie passingstipe nie sorteerwaardes in die opsoekskikking benodig nie. Tegnies gee die Match-formule die relatiewe posisie van Laura in die reeks terug. Maar omdat die tellings van die grootste na die kleinste gesorteer word, sê dit ook vir ons dat Laura die 5de beste telling onder alle studente het.
Wenk. In Excel 365 en Excel 2021 kan jy die XMATCH-funksie gebruik, wat 'n moderne en kragtiger opvolger isvan MATCH.
4 dinge wat jy moet weet oor MATCH-funksie
Soos jy sopas gesien het, is dit maklik om MATCH in Excel te gebruik. Soos byna enige ander funksie egter die geval is, is daar 'n paar spesifisiteite waarvan jy bewus moet wees:
- Die MATCH-funksie gee die relatiewe posisie van die opsoekwaarde terug in die skikking, nie die waarde self nie.
- MATCH is hoofletteronsensitief , wat beteken dat dit nie tussen kleinletters en hoofletters onderskei wanneer dit met tekswaardes handel nie.
- Indien die opsoekskikking bevat verskeie voorkoms van die opsoekwaarde, die posisie van die eerste waarde word teruggestuur.
- As die opsoekwaarde nie in die opsoekskikking gevind word nie, word die #N/A-fout teruggestuur.
Hoe om MATCH in Excel te gebruik - formulevoorbeelde
Noudat jy die basiese gebruike van die Excel MATCH-funksie ken, kom ons bespreek nog 'n paar formulevoorbeelde wat verder gaan as die basiese beginsels.
Gedeeltelike passing met jokertekens
Soos baie ander funksies, verstaan MATCH die volgende jokertekenkarakters:
- Vraagteken (?) - vervang enige enkele karakter
- Asterisk (*) - vervang enige s volgorde van karakters
Let wel. Jokertekens kan slegs gebruik word in Pas-formules met passing_tipe op 0 gestel.
'n Pasformule met jokertekens is nuttig in situasies wanneer jy nie die hele teksstring wil pas nie, maar slegs sommige karakters of 'n gedeelte van die tou.Om die punt te illustreer, oorweeg die volgende voorbeeld.
Gestel jy het 'n lys van streekherverkopers en hul verkoopsyfers vir die afgelope maand. Jy wil 'n relatiewe posisie van 'n sekere herverkoper in die lys vind (gesorteer volgens die Verkope bedrae in dalende volgorde), maar jy kan nie sy naam presies onthou nie, alhoewel jy 'n paar eerste karakters onthou.
As die herverkoper aanvaar word. name is in die reeks A2:A11, en jy soek na die naam wat met "motor" begin, die formule is soos volg:
=MATCH("car*", A2:A11,0)
Om ons Match-formule meer veelsydig te maak, jy kan die opsoekwaarde in een of ander sel tik (E1 in hierdie voorbeeld), en daardie sel met die jokerteken aaneenskakel, soos volg:
=MATCH(E1&"*", A2:A11,0)
Soos in die skermkiekie hieronder getoon, die formule gee 2 terug, wat die posisie van "Carter" is:
Om net een karakter in die opsoekwaarde te vervang, gebruik die "?" wildcard-operateur, soos hierdie:
=MATCH("ba?er", A2:A11,0)
Die bogenoemde formule sal ooreenstem met die naam " Baker " en sy relatiewe posisie, wat 5 is, herloop.
Kleinlettersensitiewe MATCH-formule
Soos genoem in die begin van hierdie handleiding, onderskei die MATCH-funksie nie hoofletters en kleinletters nie. Om 'n hooflettersensitiewe Match-formule te maak, gebruik MATCH in kombinasie met die EXACT-funksie wat selle presies vergelyk, insluitend die karakterkas.
Hier is die generiese hooflettersensitiewe formule om te pas.data:
MATCH(TRUE, EXACT( soek skikking , opsoekwaarde ), 0)Die formule werk met die volgende logika:
- Die EXACT-funksie vergelyk die opsoekwaarde met elke element van die opsoekskikking. As die vergelykende selle presies gelyk is, gee die funksie WAAR, anders ONWAAR.
- En dan vergelyk die MATCH-funksie WAAR (wat sy opsoekwaarde is) met elke waarde in die skikking wat teruggestuur word deur PRESIES, en gee die posisie van die eerste passing terug.
Hou asseblief in gedagte dat dit 'n skikkingsformule is wat vereis dat jy Ctrl + Shift + Enter druk om korrek voltooi te word.
In die veronderstelling dat jou opsoekwaarde is in sel E1 en die opsoekskikking is A2:A9, die formule is soos volg:
=MATCH(TRUE, EXACT(A2:A9,E1),0)
Die volgende skermkiekie wys die hooflettersensitiewe Pasformule in Excel:
Vergelyk 2 kolomme vir passings en verskille (ISNA MATCH)
Om twee lyste vir passings en verskille na te gaan is een van die mees algemene take in Excel, en dit kan op verskeie maniere gedoen. 'n ISNA/MATCH-formule is een van hulle:
IF(ISNA(MATCH( 1ste waarde in Lys1 , Lys2 , 0)), "Nie in Lys 1 nie", " ")Vir enige waarde van Lys 2 wat nie in Lys 1 voorkom nie, gee die formule " Nie in Lys 1 " terug. En dit is hoe:
- Die MATCH-funksie soek 'n waarde van Lys 1 binne Lys 2. As 'n waarde gevind word, gee dit sy relatiewe posisie, #N/A foutanders.
- Die ISNA-funksie in Excel doen net een ding - kyk vir #N/A-foute (wat beteken "nie beskikbaar nie"). As 'n gegewe waarde 'n #N/A-fout is, gee die funksie TRUE, ONWAAR anders terug. In ons geval beteken WAAR dat 'n waarde van Lys 1 nie binne Lys 2 gevind word nie (d.w.s. 'n #N/A-fout word deur MATCH teruggestuur).
- Omdat dit vir jou gebruikers baie verwarrend kan wees om WAAR te sien vir waardes wat nie in Lys 1 verskyn nie, draai jy die IF-funksie om ISNA om eerder " Nie in Lys 1 " te vertoon, of watter teks jy ook al wil hê.
Byvoorbeeld , om waardes in kolom B met waardes in kolom A te vergelyk, neem die formule die volgende vorm aan (waar B2 die boonste sel is):
=IF(ISNA(MATCH(B2,A:A,0)), "Not in List 1", "")
Soos jy onthou, die MATCH-funksie in Excel is op sigself hoofletter-onsensitief. Om dit te kry om die karakterkas te onderskei, bed die EXACT-funksie in die opsoek_skikking -argument, en onthou om Ctrl + Shift + Enter te druk om hierdie skikkingsformule te voltooi:
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Not in List 1", "")
Die volgende skermkiekie wys beide formules in aksie:
Om ander maniere te leer om twee lyste in Excel te vergelyk, sien asseblief die volgende tutoriaal: Hoe om 2 kolomme in Excel te vergelyk.
Excel VLOOKUP en MATCH
Hierdie voorbeeld neem aan dat jy reeds 'n bietjie basiese kennis van Excel VLOOKUP-funksie het. En as jy dit doen, is die kans groot dat jy in sy talle beperkings teëgekom het (waarvan die gedetailleerde oorsig kan weesgevind in Waarom Excel VLOOKUP nie werk nie) en is op soek na 'n meer robuuste alternatief.
Een van die mees irriterende nadele van VLOOKUP is dat dit ophou werk nadat 'n kolom binne 'n opsoektabel ingevoeg of uitgevee is. Dit gebeur omdat VLOOKUP 'n ooreenstemmende waarde trek op grond van die nommer van die terugkeerkolom wat jy spesifiseer (indeksnommer). Omdat die indeksnommer "hardgekodeer" in die formule is, kan Excel dit nie aanpas wanneer 'n nuwe kolom(me) by of uit die tabel gevoeg word nie.
Die Excel MATCH-funksie handel oor 'n relatiewe posisie van 'n opsoekwaarde, wat dit perfek pas vir die kol_indeks_num argument van VLOOKUP. Met ander woorde, in plaas daarvan om die terugkeerkolom as 'n statiese getal te spesifiseer, gebruik jy MATCH om die huidige posisie van daardie kolom te kry.
Om dinge makliker te verstaan, gebruik ons weer die tabel met studente se eksamenpunte (soortgelyk aan die een wat ons aan die begin van hierdie tutoriaal gebruik het), maar hierdie keer sal ons die werklike telling ophaal en nie sy relatiewe posisie nie.
As die opsoekwaarde in sel F1 is, is die tabelskikking $A$1:$C$2 (dit is 'n goeie praktyk om dit te sluit deur absolute selverwysings te gebruik as jy van plan is om die formule na ander selle te kopieer), die formule gaan soos volg:
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
Die 3de argument ( kol_indeks_num ) is op 3 gestel omdat die Wiskundige telling wat ons wil trek die 3de kolom in dietafel. Soos jy in die skermkiekie hieronder kan sien, werk hierdie gewone Vlookup-formule goed:
Maar net totdat jy 'n kolom(me) invoeg of uitvee:
So, hoekom die #REF! fout? Omdat col_index_num op 3 gestel is, sê vir Excel om 'n waarde uit die derde kolom te kry, terwyl daar nou net 2 kolomme in die tabelskikking is.
Om te verhoed dat sulke dinge gebeur, kan jy maak jou Vlookup-formule meer dinamies deur die volgende Pasfunksie in te sluit:
MATCH(E2,A1:C1,0)
Waar:
- E2 is die opsoekwaarde, wat presies gelyk is na die naam van die terugkeerkolom, dit wil sê die kolom waaruit jy 'n waarde wil trek ( Wiskundetelling in hierdie voorbeeld).
- A1:C1 is die opsoekskikking wat die tabelopskrifte.
En sluit nou hierdie Match-funksie in by die col_index_num -argument van jou Vlookup-formule, soos hierdie:
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
En maak seker dit werk onberispelik, maak nie saak hoeveel kolomme jy byvoeg of uitvee nie:
In die skermkiekie hierbo het ek alle selverwysings gesluit sodat die formule korrek werk, selfs al het my gebruikers skuif dit na 'n ander plek in die werkblad. A jy kan sien in die skermkiekie hieronder, die formule werk net goed nadat 'n kolom uitgevee is; verder is Excel slim genoeg om in hierdie geval absolute verwysings behoorlik aan te pas:
Excel HLOOKUP en MATCH
Op 'n soortgelyke manier kan jy die Excel MATCH gebruik funksioneer omverbeter jou HLOOKUP-formules. Die algemene beginsel is in wese dieselfde as in geval van Vlookup: jy gebruik die Match-funksie om die relatiewe posisie van die terugkeerkolom te kry, en verskaf daardie getal aan die ry_indeks_getal argument van jou Hlookup formule.
Gestel die opsoekwaarde is in sel B5, tabelskikking B1:H3, die naam van die terugkeerry (opsoekwaarde vir MATCH) is in sel A6 en ryopskrifte is A1:A3, die volledige formule is soos volg:
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)
Soos jy sopas gesien het, is die kombinasie van Hlookup/Vlookup & Match is beslis 'n verbetering bo gewone Hlookup- en Vlookup-formules. Die MATCH-funksie skakel egter nie al hul beperkings uit nie. Veral, 'n Vlookup Match-formule kan steeds nie aan sy linkerkant kyk nie, en Hlookup Match versuim om in enige ry anders as die boonste een te soek.
Om die bogenoemde (en 'n paar ander) beperkings te oorkom, oorweeg dit om 'n kombinasie van INDEX MATCH, wat 'n baie kragtige en veelsydige manier bied om opsoek in Excel te doen, beter as Vlookup en Hlookup in baie opsigte. Die gedetailleerde leiding en formule voorbeelde kan gevind word in INDEX & MATCH in Excel - 'n beter alternatief vir VLOOKUP.
Dit is hoe jy MATCH-formules in Excel gebruik. Hopelik sal die voorbeelde wat in hierdie tutoriaal bespreek word, nuttig wees in jou werk. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!