Ynhâldsopjefte
De syntaksis fan MATCH jout hielendal net foar it argumint foar sykmodus.
XMATCH behannelet arrays natuerlik
Oars as syn foargonger is de XMATCH-funksje ûntworpen foar dynamyske Excel en behannelet arrays natuerlik, sûnder dat jo Ctrl + Shift + Enter hoege te drukken. Dit makket formules folle makliker te bouwen en te bewurkjen, benammen as jo in pear ferskillende funksjes tegearre brûke. Fergelykje gewoan de folgjende oplossingen:
- Hoofdlettergefoelige formule: XMATCH
De tutorial yntroduseart de nije Excel XMATCH-funksje en lit sjen hoe't it better is dan MATCH foar it oplossen fan in pear mienskiplike taken.
Yn Excel 365 is de XMATCH-funksje tafoege om de MATCH funksje. Mar foardat jo begjinne mei it opwurdearjen fan jo besteande formules, soe it ferstannich wêze om alle foardielen fan 'e nije funksje te begripen en hoe't it ferskilt fan 'e âlde.
Gearfetsjend is de XMATCH-funksje itselde as MATCH, mar fleksibeler en robúst. It kin sawol yn fertikale as horizontale arrays opsykje, earst nei lêste of lêste nei earste sykje, eksakte, ûngefear en foar in part oerienkomsten fine, en in flugger binêre sykalgoritme brûke.
Excel XMATCH-funksje
De XMATCH-funksje yn Excel jout de relative posysje fan in wearde yn in array of in berik fan sellen werom.
It hat de folgjende syntaksis:
XMATCH(lookup_value , lookup_array, [match_mode], [search_mode])Wêr:
Opsykwearde (ferplicht) - de wearde om nei te sykjen.
Opsykarray (fereaske) - de array of berik fan sellen wêr't te sykjen wurdt.
Match_mode (opsjoneel) - spesifiseart hokker oerienkomsttype te brûken:
- 0 of weilitten (standert) - eksakte oerienkomst
- -1 - krekte oerienkomst of de folgjende lytste wearde
- 1 - eksakte oerienkomst of de folgjende grutste wearde
- 2 - jokerteken oerienkomst ( *, ?)
Sykjemodus (opsjoneel) - spesifisearret de sykrjochting en algoritme:
- 1 of weilitten (standert) -wedstriid of folgjende grutste. Fereasket gjin sortearring.
As it argumint match_mode / match_type is ynsteld op -1:
- MATCH sykjen foar eksakte wedstriid of folgjende grutste. Fereasket it sortearjen fan de opsykarray yn ôfnimmende folchoarder.
- XMATCH siket nei krekte oerienkomst of it folgjende lytste. Fereasket gjin sortearring.
Wildcard-sykjen
Om foar in part oerienkomsten te finen mei XMATCH, moatte jo it argumint match_mode op 2 sette.
De MATCH-funksje hat gjin spesjale opsje foar jokerteken-matchmodus. Yn 'e measte gefallen sille jo it konfigurearje foar eksakte oerienkomst ( match_type ynsteld op 0), wat ek wurket foar sykaksjes mei jokertekens.
Sykmodus
Lykas de nije XLOOKUP funksje, XMATCH hat in spesjale search_mode argumint wêrmei jo de rjochting fan sykjen kinne definiearje:
- 1 of weilitten (standert) - sykje earst nei -last.
- -1 - reverse search last-to-first.
En kies in binêr sykalgoritme , dat tige fluch en effisjint is op sortearre gegevens .
- 2 - binêr sykjen op gegevens sortearre oprinnend.
- -2 - binêr sykjen op gegevens sortearre ôfnimmend.
Binêr sykjen , ek wol heal-yntervalsykjen of logaritmysk sykjen neamd, is in spesjaal algoritme dat de posysje fan in opsykwearde binnen in array fynt troch it te fergelykjen nei it middelste elemint fan 'e array. In binêre sykopdracht is folle flugger as in gewoanesykje fan earste nei lêste.
- -1 - sykje yn omkearde folchoarder fan lêste nei earste.
- 2 - binêr sykjen oprinnend. Fereasket dat lookup_array yn oprinnende folchoarder sortearre wurdt.
- -2 - binêr sykjen ôfnimmend. Fereasket dat lookup_array yn ôfnimmende folchoarder sortearre wurdt.
Binêr sykjen is in flugger algoritme dat effisjint wurket op sortearre arrays. Foar mear ynfo sjoch asjebleaft Sykje modus.
Hokker Excel-ferzje hat XMATCH?
De XMATCH-funksje is allinnich beskikber yn Excel foar Microsoft 365 en Excel 2021. Yn Excel 2019, Excel 2016 en earder ferzjes, dizze funksje wurdt net stipe.
Basis XMATCH-formule yn Excel
Om in algemien idee te krijen fan wat de funksje ta kin, litte wy in XMATCH-formule bouwe yn syn ienfâldichste foarm, allinich definiearje de earste twa fereaske arguminten en lit de opsjonele oan harren standerts.
Stel, jo hawwe in list mei oseanen ranglist op har grutte (C2:C6) en jo wolle de rang fan in bepaalde oseaan fine. Om it dien te meitsjen, brûk gewoan de namme fan 'e oseaan, sis Yndiaan , as de opsykwearde en de hiele list mei nammen as de opsykmasjine:
=XMATCH("Indian", C2:C6)
Om te meitsjen de formule fleksibeler, ynfiere de oseaan fan belang yn guon sel, sis F1:
=XMATCH(F1, C2:C6)
As resultaat krije jo in XMATCH-formule om op te sykjen yn in fertikale array . De útfier is de relative posysje fan de opsykwearde yn 'e array, wat yn ús gefalkomt oerien mei de rang fan 'e oseaan:
In ferlykbere formule wurket ek perfekt foar in horizontale array . Alles wat jo hoege te dwaan is de lookup_array -referinsje oan te passen:
=XMATCH(B5, B1:F1)
Excel XMATCH-funksje - dingen om te ûnthâlden
Om XMATCH effektyf te brûken yn jo wurkblêden en ûnferwachte resultaten te foarkommen, tink dan oan dizze 3 ienfâldige feiten:
- As d'r twa of mear foarfallen binne fan 'e opsykwearde yn' e opsykarray, de posysje fan de earste wedstriid wurdt weromjûn as it argumint sykmodus op 1 is ynsteld of weilitten. Mei sykmodus ynsteld op -1, siket de funksje yn omkearde folchoarder en jout de posysje fan de lêste wedstriid werom lykas yn dit foarbyld oantoand.
- As de opsykwearde net fûn , der komt in #N/A-flater foar.
- De XMATCH-funksje is gefoelich foar letters fan natuere en kin de letters net ûnderskiede. Om lytse letters en haadletters te ûnderskieden, brûk dizze haadlettergefoelige XMATCH-formule.
Hoe kinne jo XMATCH brûke yn Excel - formulefoarbylden
De folgjende foarbylden sille jo helpe om mear begryp te krijen oer de XMATCH-funksje en har praktyske gebrûk.
Eksakte oerienkomst tsjin sawat oerienkomst
It oerienkommende gedrach fan XMATCH wurdt regele troch it opsjonele match_mode argumint:
- 0 of weilitten (standert) - de formule siket allinnich nei krekte oerienkomst. As in krekte oerienkomst net fûn is, a#N/A flater wurdt weromjûn.
- -1 - de formule siket earst nei eksakte oerienkomst, en dan nei it folgjende lytsere item.
- 1 - de formule siket earst nei eksakte oerienkomst, en dan foar it folgjende gruttere item.
En no, litte wy sjen hoe't ferskate wedstriidmodi ynfloed hawwe op it resultaat fan 'e formule. Stel dat jo útfine wolle wêr't in bepaald gebiet, sis 80.000.000 km2, tusken alle oseanen stiet.
Eksakte oerienkomst
As jo 0 brûke foar match_mode , dan ll krije in #N/A flater, omdat de formule kin net fine in wearde krekt lyk oan de opsykwearde:
=XMATCH(80000000, C2:C6, 0)
Folgjende lytste item
As jo -1 brûke foar match_mode sil de formule 3 werombringe, om't de tichtste oerienkomst lytser is as de opsykwearde 70.560.000 is, en it is it 3e item yn 'e opsykarray:
=XMATCH(80000000, C2:C6, -1)
Nêst grutste item
As jo 1 brûke foar match_mode , sil de formule 2 útfiere, om't de tichtstbyste oerienkomst grutter is as de opsykwearde 85.133.000 is, dat is it 2e item yn 'e opsykarray :
=XMATCH(80000000, C2:C6, -1)
De ôfbylding hjirûnder lit alle resultaten sjen:
Hoe kinne jo in dieltekst yn Excel oerienkomme mei jokertekens
De XMATCH-funksje hat in spesjale wedstriidmodus foar jokertekens: it match_mode -argumint ynsteld op 2.
Yn de jokerteken-oerienkomstmodus akseptearret in XMATCH-formule de folgjende jokerteken karakters:
- Fraachteken (?) om by elk inkeld karakter te passen.
- Asterisk (*) om oerien te kommen mei elk karakter.folchoarder fan karakters.
Hâld der rekken mei dat jokertekens allinnich wurkje mei tekst, gjin nûmers.
Bygelyks om de posysje te finen fan it earste item dat begjint mei "súd" , de formule is:
=XMATCH("south*", B2:B6, 2)
Of jo kinne jo jokerteken-ekspresje yn in sel ynfiere, sis F1, en de selreferinsje leverje foar it argumint lookup_value :
=XMATCH(F1, B2:B6, 2)
Mei de measte Excel-funksjes soene jo tilde (~) brûke om it asterisk (~*) of fraachteken (~?) as letterlik te behanneljen karakters, net jokertekens. Mei XMATCH is tilde net nedich. As jo de wildcard-wedstrydmodus net definiearje, sil XMATCH oannimme dat ? en * binne reguliere tekens.
Bygelyks sil de ûndersteande formule it berik A2:A7 krekt sykje foar it asterisk-teken:
=XMATCH("*", A2:A7)
XMATCH omkearde sykaksje om de lêste wedstriid te finen
Yn gefal d'r ferskate kearen binne fan 'e opsykwearde yn 'e opsykarray, kinne jo soms de posysje fan 'e lêste foarkommen krije moatte .
De rjochting fan it sykjen wurdt kontrolearre troch it 4e argumint fan XMATCH mei de namme search_mode . Om yn omkearde folchoarder te sykjen, dus fan ûnderen nei boppen yn in fertikale array en fan rjochts nei lofts yn in horizontale array, moat search_mode ynsteld wurde op -1.
Yn dit foarbyld, wy sil de posysje fan it lêste rekord weromjaan foar in spesifike opsykwearde (sjoch asjebleaft de skermôfdruk hjirûnder). Stel hjirfoar de arguminten op asfolget:
- Lookup_value - de doelferkeaper yn H1
- Opsykje_array - ferkeapernammen yn C2:C10
- Match_mode is 0 of weilitten (eksakte oerienkomst)
- Sykjemodus is -1 (lêst-nei-earst)
De fjouwer pleatse arguminten tegearre, krije wy dizze formule:
=XMATCH(H1, C2:C10, 0, -1)
Wat it nûmer werombringt fan 'e lêste ferkeap makke troch Laura:
How to fergelykje twa kolommen yn Excel foar oerienkomst
Om twa listen foar wedstriden te fergelykjen, kinne jo de XMATCH-funksje brûke tegearre mei IF en ISNA:
IF( ISNA( XMATCH( doellist, search_list, 0)), "Gjin oerienkomst", "Oerienkomst")Om bygelyks List 2 yn B2:B10 te fergelykjen mei List 1 yn A2:A10, nimt de formule de folgjende foarm oan:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")
Yn dit foarbyld identifisearje wy allinich oerienkomsten, dêrom is it wearde_as_wier argumint fan 'e IF-funksje in lege tekenrige ("").
Fier de boppesteande formule yn yn 'e boppeste sel (C2 yn ús gefal), druk op Enter, en it sil automatysk "spielje" yn 'e oare sellen (ik t wurdt in spillbereik neamd):
Hoe't dizze formule wurket
Yn it hert fan 'e formule siket de XMATCH-funksje foar in wearde út List 2 binnen List 1. As in wearde wurdt fûn, wurdt syn relative posysje weromjûn, oars in #N/A flater. Yn ús gefal is it resultaat fan XMATCH de folgjende array:
{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}
Dizze array wurdt "fierd" nei de ISNA-funksje om te kontrolearjen op #N/A-flaters.Foar eltse #N/A flater jout ISNA TRUE; foar elke oare wearde - FALSE. As resultaat produseart it de folgjende array fan logyske wearden, wêrby't TRUE's net-oerienkomsten fertsjintwurdigje, en FALSE's fertsjintwurdigje wedstriden:
{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}
De boppeste array giet nei de logyske test fan 'e IF-funksje . Ofhinklik fan hoe't jo de lêste twa arguminten ynsteld hawwe, sil de formule de oerienkommende tekst útfiere. Yn ús gefal is it in lege tekenrige ("") foar net-oerienkomsten ( wearde_if_wier ) en "Oerienkomst yn list 1" foar oerienkomsten ( wearde_as_falsk ).
Noat. Dizze formule wurket allinich yn Excel 365 en Excel 2021 dy't dynamyske arrays stypje. As jo Excel 2019, Excel 2016 of eardere ferzje brûke, besjoch dan oare oplossingen: Hoe kinne jo twa kolommen yn Excel fergelykje.
INDEX XMATCH yn Excel
XMATCH kin brûkt wurde yn kombinaasje mei de INDEX-funksje om in wearde werom te heljen út in oare kolom dy't ferbûn is mei de opsykwearde, krekt as de INDEX MATCH-formule. De generike oanpak is as folget:
INDEX ( return _ array , XMATCH ( lookup_value , lookup_array )De logika is heul ienfâldich en maklik te folgjen:
De XMATCH-funksje berekkent de relative posysje fan de opsykwearde yn 'e opsykmasjine en jout it troch oan it row_num argumint fan INDEX. Op grûn fan 'e rigel getal jout de funksje INDEX in wearde werom út elke kolom dy't jo oantsjutte.
Om bygelyks it gebiet op te sykjenfan 'e oseaan yn E1, kinne jo dizze formule brûke:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH om 2-diminsjoneel sykjen út te fieren
Om opsykje yn kolommen en rigen tagelyk, brûk INDEX tegearre mei twa XMATCH-funksjes. De earste XMATCH sil it rigenûmer krije en de twadde sil it kolomnûmer ophelje:
INDEX ( data , XMATCH ( lookup_value , fertikaal _ lookup_array ), XMATCH ( opsykwearde , horizontaal _ lookup_array ))De formule is gelyk oan INDEX MATCH MATCH, útsein dat jo kin it argumint match_mode weilitte, om't it standert is op eksakte oerienkomst.
Om bygelyks in ferkeapnûmer foar in bepaald item (G1) yn in spesifike moanne (G2) op te heljen, is de formule :
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Wêr't B2:D8 gegevenssellen binne útsein rige- en kolomkoppen, is A2:A8 in list mei items en B1:D1 binne moannenammen.
Hoofdlettergefoelige XMATCH-formule
Lykas al neamd, is de Excel XMATCH-funksje troch ûntwerp net-gefoelige. Om it te twingen om tekstfallen te ûnderskieden, brûk XMATCH yn kombinaasje mei de EKAKTE funksje:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Om te sykjen yn omkearde folchoarder fan lêste nei earste:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)It folgjende foarbyld lit sjen dizze generike formule yn aksje. Stel dat jo in list hawwe mei haadlettergefoelige produkt-id's yn B2: B11. Jo sykje neifyn de relative posysje fan it item yn E1. In haadlettergefoelige formule yn E2 is sa ienfâldich as dit:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Hoe wurket dizze formule:
De EXACT-funksje fergeliket de opsykwearde mei elk item yn 'e opsykarray. As de fergelike wearden krekt gelyk binne, ynklusyf de karakterfallen, jout de funksje TRUE, FALSE oars. Dizze array fan logyske wearden (wêr't TRUE's eksakte oerienkomsten fertsjintwurdigje) giet nei it lookup_array argumint fan XMATCH. En om't de opsykwearde TRUE is, jout de XMATCH-funksje de posysje werom fan de earste fûne eksakte wedstriid of de lêste eksakte wedstriid, ôfhinklik fan hoe't jo it argumint search_mode ynsteld hawwe.
XMATCH vs. MATCH yn Excel
XMATCH is ûntworpen as in machtiger en alsidige ferfanging foar MATCH, en sa hawwe dizze twa funksjes in protte mienskiplik. D'r binne lykwols essensjele ferskillen.
Ferskillend standertgedrach
De MATCH-funksje stiet standert op krekte oerienkomst of it folgjende lytste item ( match_type ynsteld op 1 of weilitten).
De XMATCH-funksje stiet standert op eksakte oerienkomst ( match_mode ynsteld op 0 of weilitten).
Ferskillend gedrach foar likernôch oerienkomst
As de match_mode / match_type argumint is ynsteld op 1:
- MATCH siket nei krekte oerienkomst of it folgjende lytste. Fereasket dat de opsykarray yn oprinnende folchoarder sortearre wurdt.
- XMATCH siket nei eksakt