Sadržaj
Sintaksa MATCH uopće ne predviđa argument načina pretraživanja.
XMATCH izvorno obrađuje nizove
Za razliku od svog prethodnika, funkcija XMATCH je dizajnirana za dinamički Excel i obrađuje nizove izvorno, bez potrebe da pritisnete Ctrl + Shift + Enter. Ovo čini formule mnogo lakšim za izgradnju i uređivanje, posebno kada se koristi nekoliko različitih funkcija zajedno. Samo uporedite sljedeća rješenja:
- Formula osjetljiva na velika i mala slova: XMATCH
Vodič uvodi novu Excel XMATCH funkciju i pokazuje kako je ona bolja od MATCH za rješavanje nekoliko uobičajenih zadataka.
U Excel 365, funkcija XMATCH je dodana kako bi zamijenila MATCH funkcija. Ali prije nego što počnete nadograđivati svoje postojeće formule, bilo bi mudro razumjeti sve prednosti nove funkcije i po čemu se razlikuje od stare.
U sažetku, funkcija XMATCH je ista kao MATCH, ali fleksibilnija i robustan. Može tražiti iu vertikalnim i horizontalnim nizovima, pretraživati od prvog do posljednjeg ili od posljednjeg do prvog, pronaći tačna, približna i djelomična podudaranja i koristiti brži algoritam binarnog pretraživanja.
Excel funkcija XMATCH
Funkcija XMATCH u Excelu vraća relativni položaj vrijednosti u nizu ili rasponu ćelija.
Ima sljedeću sintaksu:
XMATCH(vrijednost_potraživanja , lookup_array, [match_mode], [search_mode])Gdje:
Lookup_value (obavezno) - vrijednost koju treba tražiti.
Lookup_array (obavezno) - niz ili raspon ćelija gdje se traži.
Match_mode (opcionalno) - određuje koji tip podudaranja treba koristiti:
- 0 ili izostavljeno (zadano) - tačno podudaranje
- -1 - tačno podudaranje ili sljedeća najmanja vrijednost
- 1 - tačno podudaranje ili sljedeća najveća vrijednost
- 2 - podudaranje zamjenskih znakova ( *, ?)
Način_pretrage (opcionalno) - specificira smjer pretraživanja i algoritam:
- 1 ili izostavljen (zadano) -podudaranje ili sljedeći najveći. Ne zahtijeva nikakvo sortiranje.
Kada je argument match_mode / match_type postavljen na -1:
- MATCH pretrage za tačno podudaranje ili sljedeće najveće. Zahtijeva sortiranje niza pretraživanja u opadajućem redoslijedu.
- XMATCH traži točno podudaranje ili sljedeće najmanje. Ne zahtijeva nikakvo sortiranje.
Traženje zamjenskih znakova
Da biste pronašli djelomična podudaranja sa XMATCH, trebate postaviti argument match_mode na 2.
Funkcija MATCH nema posebnu opciju moda podudaranja sa zamjenskim znakovima. U većini slučajeva, konfigurirat ćete ga za točno podudaranje ( match_type postavljeno na 0), što također radi i za pretraživanja sa zamjenskim znakovima.
Način pretraživanja
Kao novi XLOOKUP funkcija, XMATCH ima poseban argument search_mode koji vam omogućava da definirate smjer pretraživanja :
- 1 ili izostavljen (podrazumevano) - pretražite prvi do -last.
- -1 - obrnuto pretraživanje od posljednjeg do prvog.
I odaberite binarni algoritam pretraživanja , koji je vrlo brz i efikasan na sortirani podaci .
- 2 - binarno pretraživanje podataka sortiranih uzlazno.
- -2 - binarno pretraživanje podataka sortiranih silazno.
Binarna pretraga , koja se naziva i pretraga u poluintervalu ili logaritamska pretraga , je poseban algoritam koji pronalazi poziciju tražene vrijednosti unutar niza uspoređivanjem na srednji element niza. Binarno pretraživanje je mnogo brže od uobičajenogtraži od prvog do posljednjeg.
- -1 - traži obrnutim redoslijedom od posljednjeg do prvog.
- 2 - binarno pretraživanje uzlazno. Zahtijeva da lookup_array bude sortiran uzlaznim redoslijedom.
- -2 - binarno pretraživanje opadajuće. Zahtijeva da se lookup_array sortira u opadajućem redoslijedu.
Binarna pretraga je brži algoritam koji efikasno radi na sortiranim nizovima. Za više informacija pogledajte Način pretraživanja.
Koja verzija Excela ima XMATCH?
Funkcija XMATCH dostupna je samo u Excelu za Microsoft 365 i Excel 2021. U Excel 2019, Excel 2016 i ranijim verzijama verzijama, ova funkcija nije podržana.
Osnovna XMATCH formula u Excelu
Da bismo dobili opću predstavu o tome za što je funkcija sposobna, napravimo XMATCH formulu u njenom najjednostavnijem obliku, definirajući samo prva dva potrebna argumenta i ostavljajući neobavezne na njihove zadane vrijednosti.
Pretpostavimo da imate listu okeana rangiranu prema njihovoj veličini (C2:C6) i želite pronaći rang određenog okeana. Da biste to učinili, jednostavno koristite ime okeana, recimo indijski , kao traženu vrijednost i cijelu listu imena kao niz pretraživanja:
=XMATCH("Indian", C2:C6)
Da biste napravili formula je fleksibilnija, unesite ocean od interesa u neku ćeliju, recimo F1:
=XMATCH(F1, C2:C6)
Kao rezultat, dobijate XMATCH formulu za traženje u vertikalom nizu . Izlaz je relativna pozicija tražene vrijednosti u nizu, što je u našem slučajuodgovara rangu okeana:
Slična formula savršeno funkcionira i za horizontalni niz . Sve što trebate učiniti je prilagoditi lookup_array referencu:
=XMATCH(B5, B1:F1)
Excel XMATCH funkciju - stvari koje treba zapamtiti
Kako biste efikasno koristili XMATCH u svojim radnim listovima i spriječili neočekivane rezultate, zapamtite ove 3 jednostavne činjenice:
- Ako postoje dva ili više pojavljivanja vrijednosti pretraživanja u nizu pretraživanja, pozicija prvo podudaranje se vraća ako je argument mode_pretrage postavljen na 1 ili izostavljen. Sa search_mode postavljenim na -1, funkcija pretražuje obrnutim redoslijedom i vraća poziciju posljednjeg podudaranja kao što je prikazano u ovom primjeru.
- Ako je tražena vrijednost nije pronađen , javlja se #N/A greška.
- Funkcija XMATCH je neosjetljiva na velika i mala slova po prirodi i ne može razlikovati velika i mala slova. Da biste razlikovali znakove malih i velikih slova, koristite ovu XMATCH formulu osjetljivu na velika i mala slova.
Kako koristiti XMATCH u Excelu - primjeri formule
Sljedeći primjeri će vam pomoći da steknete bolje razumijevanje o XMATCH funkcija i njena praktična upotreba.
Točno podudaranje naspram približnog podudaranja
Ponašanje podudaranja XMATCH-a kontrolira opcijski match_mode argument:
- 0 ili izostavljeno (podrazumevano) - formula traži samo tačno podudaranje. Ako nije pronađeno tačno podudaranje, aVraća se greška #N/A.
- -1 - formula prvo traži tačno podudaranje, a zatim sljedeću manju stavku.
- 1 - formula prvo traži točno podudaranje i zatim za sljedeću veću stavku.
A sada, da vidimo kako različiti načini podudaranja utječu na rezultat formule. Pretpostavimo da želite saznati gdje se određeno područje, recimo 80.000.000 km2, nalazi među svim okeanima.
Tačno podudaranje
Ako koristite 0 za match_mode , vi ćete Dobit ću grešku #N/A, jer formula ne može pronaći vrijednost koja je točno jednaka traženoj vrijednosti:
=XMATCH(80000000, C2:C6, 0)
Sljedeća najmanja stavka
Ako koristite -1 za match_mode , formula će vratiti 3, jer je najbliže podudaranje manje od vrijednosti pretraživanja 70,560,000, i to je 3. stavka u nizu pretraživanja:
=XMATCH(80000000, C2:C6, -1)
Sljedeća najveća stavka
Ako koristite 1 za match_mode , formula će dati 2, jer je najbliže podudaranje veće od vrijednosti pretraživanja 85,133,000, što je 2. stavka u nizu pretraživanja :
=XMATCH(80000000, C2:C6, -1)
Slika ispod prikazuje sve rezultate:
Kako uskladiti djelomični tekst u Excelu sa zamjenskim znakovima
Funkcija XMATCH ima poseban način podudaranja za zamjenske znakove: argument match_mode postavljen na 2.
U načinu podudaranja zamjenskih znakova, XMATCH formula prihvaća sljedeće zamjenske znakove znakovi:
- Upitnik (?) za podudaranje sa bilo kojim pojedinačnim znakom.
- Zvjezdica (*) za podudaranje sa bilo kojimniz znakova.
Imajte na umu da zamjenski znakovi rade samo s tekstom, ne i brojevima.
Na primjer, da biste pronašli poziciju prve stavke koja počinje s "jug" , formula je:
=XMATCH("south*", B2:B6, 2)
Ili možete upisati svoj zamjenski izraz u neku ćeliju, recimo F1, i dati referencu ćelije za argument lookup_value :
=XMATCH(F1, B2:B6, 2)
U većini Excel funkcija, koristili biste tildu (~) da tretirate zvjezdicu (~*) ili upitnik (~?) kao doslovno znakovi, a ne zamjenski znakovi. Uz XMATCH, tilda nije potrebna. Ako ne definirate način podudaranja zamjenskih znakova, XMATCH će pretpostaviti da ? i * su regularni znakovi.
Na primjer, donja formula će pretražiti raspon A2:A7 tačno za znak zvjezdice:
=XMATCH("*", A2:A7)
XMATCH obrnuto pretraživanje za pronalaženje posljednjeg podudaranja
U slučaju da postoji nekoliko pojavljivanja vrijednosti pretraživanja u nizu pretraživanja, ponekad ćete možda trebati dobiti poziciju zadnjeg pojavljivanja .
Smjer pretraživanja kontrolira se 4. argumentom XMATCH-a pod nazivom mode_pretrage . Za pretraživanje obrnutim redoslijedom, tj. odozdo prema gore u vertikalnom nizu i s desna na lijevo u horizontalnom nizu, mode_pretraživanja treba postaviti na -1.
U ovom primjeru, mi će vratiti poziciju posljednjeg zapisa za određenu vrijednost traženja (pogledajte snimak ekrana ispod). Za ovo postavite argumente kaoslijedi:
- Lookup_value - ciljni prodavač u H1
- Lookup_array - imena prodavača u C2:C10
- Način_podudaranja je 0 ili je izostavljen (tačno podudaranje)
- Način_pretraživanja je -1 (od posljednjeg do prvog)
Postavljanje četiri argumente zajedno, dobijamo ovu formulu:
=XMATCH(H1, C2:C10, 0, -1)
Koja vraća broj posljednje prodaje koju je izvršila Laura:
Kako usporedite dvije kolone u Excelu za podudaranje
Da biste uporedili dvije liste za podudaranja, možete koristiti funkciju XMATCH zajedno sa IF i ISNA:
IF( ISNA( XMATCH( target_list, search_list, 0)), "Nema podudaranja", "Match")Na primjer, da uporedite Listu 2 u B2:B10 sa Listom 1 u A2:A10, formula ima sljedeći oblik:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")
U ovom primjeru identificiramo samo podudaranja, stoga je argument value_if_true funkcije IF prazan niz ("").
Unesite gornju formulu u najvišu ćeliju (C2 u našem slučaju), pritisnite Enter i ona će se automatski "proliti" u ostale ćelije (tj. t se naziva raspon prolijevanja):
Kako ova formula funkcionira
U srcu formule, funkcija XMATCH pretražuje za vrijednost sa Liste 2 unutar Liste 1. Ako je vrijednost pronađena, vraća se njen relativni položaj, inače greška #N/A. U našem slučaju, rezultat XMATCH-a je sljedeći niz:
{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}
Ovaj niz se "unosi" ISNA funkciji kako bi se provjerilo ima li #N/A grešaka.Za svaku grešku #N/A, ISNA vraća TRUE; za bilo koju drugu vrijednost - FALSE. Kao rezultat, proizvodi sljedeći niz logičkih vrijednosti, gdje TRUE predstavljaju nepodudarnosti, a FALSE predstavljaju podudaranja:
{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}
Gorenji niz ide na logički test funkcije IF . Ovisno o tome kako ste konfigurirali posljednja dva argumenta, formula će ispisati odgovarajući tekst. U našem slučaju, to je prazan niz ("") za nepodudarnosti ( value_if_true ) i "Podudaranje na listi 1" za podudaranja ( value_if_false ).
Bilješka. Ova formula radi samo u Excel 365 i Excel 2021 koji podržavaju dinamičke nizove. Ako koristite Excel 2019, Excel 2016 ili stariju verziju, pogledajte druga rješenja: Kako uporediti dvije kolone u Excelu.
INDEX XMATCH u Excelu
XMATCH se može koristiti u kombinaciji s funkcijom INDEX za dohvaćanje vrijednosti iz druge kolone povezane s vrijednošću pretraživanja, baš kao formula INDEX MATCH. Generički pristup je sljedeći:
INDEX ( povratni _ niz , XMATCH ( vrijednost_potraži , povrat_niz )logika je vrlo jednostavna i laka za praćenje:
Funkcija XMATCH izračunava relativnu poziciju tražene vrijednosti u nizu pretraživanja i prosljeđuje je argumentu row_num argumenta INDEX. Na osnovu reda broj, funkcija INDEX vraća vrijednost iz bilo koje kolone koju navedete.
Na primjer, za traženje područjaoceana u E1, možete koristiti ovu formulu:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH da izvršite 2-dimenzionalno traženje
Za tražite u kolonama i redovima istovremeno, koristite INDEX zajedno s dvije funkcije XMATCH. Prvi XMATCH će dobiti broj reda, a drugi će dohvatiti broj stupca:
INDEX ( podaci , XMATCH ( vrijednost_potraži , vertikalni _ lookup_array ), XMATCH ( vrijednost traženja , horizontal _ lookup_array ))Formula je slična INDEX MATCH MATCH osim što može izostaviti argument match_mode budući da je zadano točno podudaranje.
Na primjer, da biste dohvatili broj prodaje za dati artikal (G1) u određenom mjesecu (G2), formula je :
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Gdje su B2:D8 ćelije podataka isključujući zaglavlja redova i stupaca, A2:A8 je lista stavki, a B1:D1 su nazivi mjeseci.
Formula XMATCH osjetljiva na velika i mala slova
Kao što je već spomenuto, Excel XMATCH funkcija je dizajnom neosjetljiva na velika i mala slova. Da biste ga natjerali da razlikuje velika i mala slova, koristite XMATCH u kombinaciji s funkcijom EXACT:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Za pretraživanje u obrnuti redoslijed od posljednjeg do prvog:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)Sljedeći primjer pokazuje ova generička formula na djelu. Pretpostavimo da imate listu ID-ova proizvoda koji razlikuju velika i mala slova u B2:B11. Vi tražite dapronađite relativni položaj stavke u E1. Formula koja razlikuje velika i mala slova u E2 je jednostavna kao ova:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Kako ova formula funkcionira:
FUNKCIJA EXACT uspoređuje vrijednost traženja sa svakom stavkom u nizu pretraživanja. Ako su upoređene vrijednosti potpuno jednake, uključujući velika i mala slova, funkcija vraća TRUE, FALSE u suprotnom. Ovaj niz logičkih vrijednosti (gdje TRUE predstavljaju tačna podudaranja) ide u lookup_array argument XMATCH. A budući da je vrijednost traženja TRUE, funkcija XMATCH vraća poziciju prvog pronađenog točnog podudaranja ili posljednjeg tačnog podudaranja, ovisno o tome kako ste konfigurirali argument search_mode .
XMATCH vs. MATCH u Excel
XMATCH je dizajniran kao moćnija i svestranija zamjena za MATCH, tako da ove dvije funkcije imaju mnogo zajedničkog. Međutim, postoje bitne razlike.
Različito zadano ponašanje
Funkcija MATCH zadano je točno podudaranje ili sljedeća najmanja stavka ( match_type postavljena na 1 ili izostavljena).
Funkcija XMATCH zadano je točno podudaranje ( match_mode postavljeno na 0 ili izostavljeno).
Drugačije ponašanje za približno podudaranje
Kada je match_mode / match_type argument je postavljen na 1:
- MATCH traži točno podudaranje ili sljedeće najmanje. Zahtijeva da se niz pretraživanja sortira uzlaznim redoslijedom.
- XMATCH traži tačan