Excel XMATCH funkcija s primjerima formula

  • Podijeli Ovo
Michael Brown
pretraživanje, ali radi ispravno samo na sortiranim popisima. Na nerazvrstanim 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 nativno rukuje nizovima

Za razliku od svog prethodnika, funkcija XMATCH dizajnirana je za dinamički Excel i nativno rukuje nizovima, bez potrebe da pritisnete Ctrl + Shift + Enter. To čini formule mnogo lakšim za izradu i uređivanje, osobito kada se koristi nekoliko različitih funkcija zajedno. Samo usporedite sljedeća rješenja:

  • Formula koja razlikuje velika i mala slova: XMATCH

    Udžbenik predstavlja novu Excelovu funkciju XMATCH i pokazuje kako je bolja od MATCH za rješavanje nekoliko uobičajenih zadataka.

    U Excelu 365 funkcija XMATCH dodana je kako bi zamijenila MATCH funkcija. Ali prije nego počnete nadograđivati ​​svoje postojeće formule, bilo bi pametno razumjeti sve prednosti nove funkcije i kako se razlikuje od stare.

    Ukratko, funkcija XMATCH ista je kao MATCH, ali je fleksibilnija i robustan. Može tražiti u okomitim i vodoravnim nizovima, pretraživati ​​od prvog do zadnjeg ili od zadnjeg do prvog, pronaći točna, približna i djelomična podudaranja i koristiti brži algoritam binarnog pretraživanja.

    Funkcija Excel XMATCH

    Funkcija XMATCH u Excelu vraća relativni položaj vrijednosti u nizu ili rasponu ćelija.

    Ima sljedeću sintaksu:

    XMATCH(lookup_value , lookup_array, [match_mode], [search_mode])

    Gdje:

    Lookup_array (obavezno) - vrijednost koju treba tražiti.

    Lookup_array (obavezno) - niz ili raspon ćelija gdje se traži.

    Match_mode (neobavezno) - navodi koju vrstu podudaranja koristiti:

    • 0 ili izostavljeno (zadano) - točno podudaranje
    • -1 - točno podudaranje ili sljedeća najmanja vrijednost
    • 1 - točno podudaranje ili sljedeća najveća vrijednost
    • 2 - podudaranje zamjenskog znaka ( *, ?)

    Search_mode (izborno) - određuje smjer pretraživanja i algoritam:

    • 1 ili izostavljeno (zadano) -utakmica ili sljedeći najveći. Ne zahtijeva sortiranje.

    Kada je argument match_mode / match_type postavljen na -1:

    • MATCH pretraživanja za točno podudaranje ili sljedeće najveće. Zahtijeva razvrstavanje niza pretraživanja silaznim redoslijedom.
    • XMATCH traži točno podudaranje ili sljedeće najmanje. Ne zahtijeva sortiranje.

    Traženje pomoću zamjenskih znakova

    Da biste pronašli djelomična podudaranja s XMATCH-om, trebate postaviti argument match_mode na 2.

    Funkcija MATCH nema posebnu opciju načina podudaranja zamjenskih znakova. U većini slučajeva, konfigurirat ćete ga za točno podudaranje ( match_type postavljeno na 0), što također funkcionira za pretraživanja sa zamjenskim znakovima.

    Način pretraživanja

    Kao novi XLOOKUP funkcija, XMATCH ima poseban argument search_mode koji vam omogućuje definiranje smjera pretraživanja :

    • 1 ili izostavljeno (zadano) - pretraži prvo-do -zadnji.
    • -1 - obrnuto pretraživanje od posljednjeg do prvog.

    I odaberite binarni algoritam pretraživanja , koji je vrlo brz i učinkovit na sortirani podaci .

    • 2 - binarno pretraživanje podataka sortiranih uzlazno.
    • -2 - binarno pretraživanje podataka sortiranih silazno.

    Binarno pretraživanje , koje se naziva i pretraživanje pola intervala ili logaritamsko pretraživanje , poseban je algoritam koji pronalazi položaj tražene vrijednosti unutar niza uspoređujući ga na srednji element niza. Binarno pretraživanje puno je brže od običnogpretraživanje od prvog do zadnjeg.

  • -1 - pretraživanje obrnutim redoslijedom od zadnjeg prema prvom.
  • 2 - binarno pretraživanje uzlazno. Zahtijeva lookup_array da se poreda uzlaznim redoslijedom.
  • -2 - binarno pretraživanje silazno. Zahtijeva da lookup_array bude sortiran silaznim redoslijedom.

Binarno pretraživanje je brži algoritam koji učinkovito radi na sortiranim nizovima. Za više informacija pogledajte način pretraživanja.

Koja verzija programa Excel ima XMATCH?

Funkcija XMATCH dostupna je samo u programu Excel za Microsoft 365 i Excel 2021. U programu Excel 2019, Excel 2016 i starijim verzijama verzije, ova funkcija nije podržana.

Osnovna formula XMATCH u Excelu

Da biste dobili opću ideju o tome za što je funkcija sposobna, napravimo formulu XMATCH u najjednostavnijem obliku, definirajući samo prva dva potrebna argumenta i ostavljanje neobaveznih na njihovim zadanim vrijednostima.

Pretpostavimo da imate popis oceana poredanih po veličini (C2:C6) i želite pronaći rang određenog oceana. Da biste to učinili, jednostavno upotrijebite ime oceana, recimo Indijski , kao vrijednost pretraživanja i cijeli popis imena kao niz pretraživanja:

=XMATCH("Indian", C2:C6)

Da biste napravili formula je fleksibilnija, unesite ocean interesa u neku ćeliju, recimo F1:

=XMATCH(F1, C2:C6)

Kao rezultat toga, dobivate XMATCH formulu za traženje u okomitom nizu . Izlaz je relativni položaj tražene vrijednosti u nizu, što je u našem slučajuodgovara rangu oceana:

Slična formula savršeno funkcionira i za horizontalni niz . Sve što trebate učiniti je prilagoditi referencu lookup_array :

=XMATCH(B5, B1:F1)

Excel XMATCH funkcija - stvari koje treba zapamtiti

Da biste učinkovito 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, položaj prvo podudaranje se vraća ako je argument search_mode postavljen na 1 ili izostavljen. S search_mode postavljenim na -1, funkcija pretražuje obrnutim redoslijedom i vraća položaj zadnjeg podudaranja kao što je prikazano u ovom primjeru.
  • Ako je vrijednost pretraživanja nije pronađeno , pojavljuje se pogreška #N/A.
  • Funkcija XMATCH je po prirodi neosjetljiva na velika i mala slova i ne može razlikovati velika i mala slova. Kako biste razlikovali mala i velika slova, koristite ovu XMATCH formulu koja razlikuje velika i mala slova.

Kako koristiti XMATCH u Excelu - primjeri formula

Sljedeći primjeri pomoći će vam da bolje razumijete Funkcija XMATCH i njezina praktična upotreba.

Točno podudaranje u odnosu na približno podudaranje

Ponašanje podudaranja XMATCH-a kontrolira se opcijskim argumentom match_mode :

  • 0 ili izostavljeno (zadano) - formula traži samo točno podudaranje. Ako nije pronađeno točno podudaranje, aVraća se pogreška #N/A.
  • -1 - formula prvo traži toč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 nalazi određeno područje, recimo 80.000.000 km2, među svim oceanima.

Točno podudaranje

Ako koristite 0 za match_mode , dobit ću pogrešku #N/A, jer formula ne može pronaći vrijednost koja je točno jednaka vrijednosti traženja:

=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, a 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 ispisati 2, jer je najbliže podudaranje veće od vrijednosti traženja 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, formula XMATCH prihvaća sljedeći zamjenski znak znakova:

  • Upitnik (?) za podudaranje s bilo kojim pojedinačnim znakom.
  • Zvjezdica (*) za podudaranje s bilo kojimniz znakova.

Imajte na umu da zamjenski znakovi rade samo s tekstom, a ne s brojevima.

Na primjer, da biste pronašli položaj 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)

Kod većine Excel funkcija, koristili biste tildu (~) za tretiranje zvjezdice (~*) ili upitnika (~?) kao doslovnog znakova, a ne zamjenskih znakova. Uz XMATCH, tilda nije potrebna. Ako ne definirate način podudaranja zamjenskih znakova, XMATCH će pretpostaviti da ? i * su uobičajeni znakovi.

Na primjer, formula u nastavku pretražit će raspon A2:A7 toč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 search_mode . Za pretraživanje obrnutim redoslijedom, tj. odozdo prema gore u okomitom nizu i zdesna ulijevo u vodoravnom nizu, search_mode treba postaviti na -1.

U ovom primjeru, mi vratit će položaj posljednjeg zapisa za određenu vrijednost traženja (pogledajte snimak zaslona u nastavku). Za ovo postavite argumente kaoslijedi:

  • Lookup_value - ciljni prodavač u H1
  • Lookup_array - imena prodavača u C2:C10
  • Match_mode je 0 ili izostavljen (točno podudaranje)
  • Search_mode je -1 (zadnji-prvi)

Stavljanje četiri argumentima zajedno, dobivamo ovu formulu:

=XMATCH(H1, C2:C10, 0, -1)

Koja vraća broj zadnje prodaje koju je izvršila Laura:

Kako usporedite dva stupca u Excelu radi podudaranja

Da biste usporedili dva popisa za podudaranja, možete koristiti funkciju XMATCH zajedno s IF i ISNA:

IF( ISNA( XMATCH( target_list, search_list, 0)), "Nema podudaranja", "Podudaranje")

Na primjer, za usporedbu Popisa 2 u B2:B10 s Popisom 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 "preliti" u ostale ćelije (i t se naziva raspon izlijevanja):

Kako ova formula radi

U srcu formule, funkcija XMATCH pretražuje za vrijednost s Liste 2 unutar Liste 1. Ako je vrijednost pronađena, vraća se njezin relativni položaj, u suprotnom pogreš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" u funkciju ISNA kako bi se provjerila greška #N/A.Za svaku grešku #N/A, ISNA vraća TRUE; za bilo koju drugu vrijednost - FALSE. Kao rezultat, proizvodi sljedeće polje logičkih vrijednosti, gdje TRUE predstavljaju nepoklapanja, a FALSE predstavljaju podudaranja:

{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}

Gornji niz ide na logički test funkcije IF . Ovisno o tome kako ste konfigurirali zadnja dva argumenta, formula će ispisati odgovarajući tekst. U našem slučaju, to je prazan niz ("") za nepodudaranja ( value_if_true ) i "Podudaranje na listi 1" za podudaranja ( value_if_false ).

Bilješka. Ova formula radi samo u programima Excel 365 i Excel 2021 koji podržavaju dinamička polja. Ako koristite Excel 2019, Excel 2016 ili stariju verziju, pogledajte druga rješenja: Kako usporediti dva stupca u Excelu.

INDEX XMATCH u programu Excel

XMATCH se može koristiti u kombinaciji s funkcijom INDEX za dohvaćanje vrijednosti iz drugog stupca povezanog s traženom vrijednošću, baš kao formula INDEX MATCH. Generički pristup je sljedeći:

INDEX ( return _ array , XMATCH ( lookup_value , lookup_array )

The logika je vrlo jednostavna i lako ju je slijediti:

Funkcija XMATCH izračunava relativnu poziciju tražene vrijednosti u traženom nizu i prosljeđuje je argumentu row_num od INDEX. Na temelju retka broj, funkcija INDEX vraća vrijednost iz bilo kojeg stupca koji 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 za izvođenje 2-dimenzionalnog traženja

Za tražite u stupcima i retcima istovremeno, koristite INDEX zajedno s dvije funkcije XMATCH. Prvi XMATCH će dobiti broj retka, a drugi će dohvatiti broj stupca:

INDEX ( data , XMATCH ( lookup_value , vertical _ lookup_array ), XMATCH ( lookup value , 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, za dohvaćanje prodajnog broja za dati artikl (G1) u određenom mjesecu (G2), formula je :

=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))

Gdje su B2:D8 podatkovne ćelije isključujući zaglavlja redaka i stupaca, A2:A8 je popis stavki, a B1:D1 nazivi mjeseci.

Formula XMATCH koja razlikuje velika i mala slova

Kao što je već spomenuto, funkcija Excel XMATCH po dizajnu ne razlikuje velika i mala slova. Da biste ga prisilili da razlikuje velika i mala slova teksta, koristite XMATCH u kombinaciji s funkcijom EXACT:

MATCH(TRUE, EXACT( lookup_array , lookup_value ))

Za pretraživanje u obrnutim redoslijedom od posljednjeg prema prvom:

MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)

Sljedeći primjer pokazuje ova generička formula na djelu. Pretpostavimo da imate popis ID-ova proizvoda koji razlikuju velika i mala slova u B2:B11. Tražite dapronađite relativni položaj predmeta 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 pretraživanja sa svakom stavkom u nizu pretraživanja. Ako su uspoređ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 točna podudaranja) ide u lookup_array argument od XMATCH. Budući da je tražena vrijednost TRUE, funkcija XMATCH vraća poziciju prvog pronađenog točnog podudaranja ili zadnjeg točnog podudaranja, ovisno o tome kako ste konfigurirali argument search_mode .

XMATCH vs. MATCH u programu Excel

XMATCH je osmišljen kao snažnija i svestranija zamjena za MATCH, pa ove dvije funkcije imaju mnogo toga zajedničkog. Međutim, postoje bitne razlike.

Različito zadano ponašanje

Funkcija MATCH zadano postavlja točno podudaranje ili sljedeću najmanju stavku ( match_type postavljeno na 1 ili izostavljeno).

Funkcija XMATCH zadana je za točno podudaranje ( match_mode postavljeno na 0 ili izostavljeno).

Različito 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 polje traženja mora biti poredano uzlaznim redoslijedom.
  • XMATCH traži točno

Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.