Excel XMATCH funkcija s primjerima formule

  • Podijeli Ovo
Michael Brown
pretraživanje, ali radi ispravno samo na sortiranim listama. Na nesortiranim podacima, može vratiti pogrešne rezultate koji na prvi pogled mogu izgledati prilično normalno.

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

Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.