Funkcia Excel XMATCH s príkladmi vzorcov

  • Zdieľajte To
Michael Brown

Tento návod predstavuje novú funkciu Excel XMATCH a ukazuje, v čom je lepšia ako MATCH pri riešení niekoľkých bežných úloh.

V aplikácii Excel 365 bola pridaná funkcia XMATCH, ktorá nahradila funkciu MATCH. Skôr ako však začnete aktualizovať svoje existujúce vzorce, bolo by vhodné pochopiť všetky výhody novej funkcie a to, čím sa líši od starej funkcie.

Stručne povedané, funkcia XMATCH je rovnaká ako MATCH, ale flexibilnejšia a robustnejšia. Dokáže vyhľadávať vo vertikálnych aj horizontálnych poliach, vyhľadávať od prvého k poslednému alebo od posledného k prvému, nachádzať presné, približné a čiastočné zhody a používa rýchlejší binárny vyhľadávací algoritmus.

    Funkcia Excel XMATCH

    Funkcia XMATCH v programe Excel vracia relatívnu pozíciu hodnoty v poli alebo rozsahu buniek.

    Má nasledujúcu syntax:

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

    Kde:

    Lookup_value (povinné) - hodnota, ktorá sa má hľadať.

    Lookup_array (povinné) - pole alebo rozsah buniek, v ktorých sa má vyhľadávať.

    Match_mode (nepovinné) - určuje, ktorý typ zhody sa má použiť:

    • 0 alebo vynechané (predvolené) - presná zhoda
    • -1 - presná zhoda alebo najbližšia najmenšia hodnota
    • 1 - presná zhoda alebo ďalšia najväčšia hodnota
    • 2 - zástupný znak (*, ?)

    Režim vyhľadávania (nepovinné) - určuje smer a algoritmus vyhľadávania:

    • 1 alebo vynechať (predvolené) - vyhľadávanie od prvého po posledný.
    • -1 - vyhľadávanie v opačnom poradí od posledného po prvé.
    • 2 - binárne vyhľadávanie vzostupne. Požaduje lookup_array aby boli zoradené vzostupne.
    • -2 - binárne vyhľadávanie zostupne. Požaduje lookup_array aby boli zoradené zostupne.

    Binárne vyhľadávanie je rýchlejší algoritmus, ktorý účinne pracuje na zoradených poliach. Viac informácií nájdete v časti Režim vyhľadávania.

    Ktorá verzia programu Excel má funkciu XMATCH?

    Funkcia XMATCH je k dispozícii len v aplikácii Excel pre Microsoft 365 a Excel 2021. V aplikáciách Excel 2019, Excel 2016 a starších verziách táto funkcia nie je podporovaná.

    Základný vzorec XMATCH v programe Excel

    Aby sme získali všeobecnú predstavu o tom, čo funkcia dokáže, vytvorme vzorec XMATCH v jeho najjednoduchšej podobe, pričom definujeme len prvé dva povinné argumenty a nepovinné argumenty ponecháme na ich predvolených hodnotách.

    Predpokladajme, že máte zoznam oceánov zoradených podľa ich veľkosti (C2:C6) a chcete zistiť poradie konkrétneho oceánu. Ak to chcete urobiť, jednoducho použite názov oceánu, napr. Indický , ako hodnotu vyhľadávania a celý zoznam mien ako pole vyhľadávania:

    =XMATCH("Indický", C2:C6)

    Aby bol vzorec flexibilnejší, zadajte oceán záujmu do niektorej bunky, napríklad F1:

    =XMATCH(F1, C2:C6)

    Výsledkom je vzorec XMATCH, ktorý môžete vyhľadať v vertikálne pole Výstupom je relatívna pozícia vyhľadávanej hodnoty v poli, ktorá v našom prípade zodpovedá hodnosti oceánu:

    Podobný vzorec dokonale funguje pre horizontálne pole Všetko, čo musíte urobiť, je nastaviť lookup_array odkaz:

    =XMATCH(B5, B1:F1)

    Funkcia Excel XMATCH - čo si treba zapamätať

    Ak chcete efektívne používať XMATCH vo svojich pracovných listoch a predchádzať neočakávaným výsledkom, nezabudnite na tieto 3 jednoduché skutočnosti:

    • Ak sa v poli vyhľadávania vyskytujú dve alebo viac hodnôt, pozícia prvý zápas sa vráti, ak je search_mode je nastavený na 1 alebo vynechaný. search_mode nastavená na -1, funkcia vyhľadáva v opačnom poradí a vráti pozíciu posledný zápas ako je uvedené v tomto príklade.
    • Ak je hodnota vyhľadávania nie je nájdený , nastane chyba #N/A.
    • Funkcia XMATCH je rozlišovanie veľkých a malých písmen z povahy veci a nedokáže rozlišovať veľké a malé písmená. Ak chcete rozlišovať malé a veľké písmená, použite tento vzorec XMATCH, ktorý rozlišuje malé a veľké písmená.

    Ako používať XMATCH v programe Excel - príklady vzorcov

    Nasledujúce príklady vám pomôžu lepšie pochopiť funkciu XMATCH a jej praktické využitie.

    Presná a približná zhoda

    Správanie XMATCH pri porovnávaní je riadené voliteľným príkazom match_mode argument:

    • 0 alebo vynechať (predvolené) - vzorec hľadá iba presnú zhodu. Ak sa presná zhoda nenájde, vráti sa chyba #N/A.
    • -1 - vzorec najprv vyhľadá presnú zhodu a potom ďalšiu menšiu položku.
    • 1 - vzorec najprv vyhľadá presnú zhodu a potom ďalšiu väčšiu položku.

    A teraz sa pozrime, ako rôzne spôsoby porovnávania ovplyvňujú výsledok vzorca. Predpokladajme, že chcete zistiť, kde sa nachádza určitá oblasť, povedzme 80 000 000 km2, spomedzi všetkých oceánov.

    Presná zhoda

    Ak použijete 0 pre match_mode , zobrazí sa chyba #N/A, pretože vzorec nemôže nájsť hodnotu, ktorá by sa presne rovnala vyhľadávacej hodnote:

    =XMATCH(80000000, C2:C6, 0)

    Ďalšia najmenšia položka

    Ak použijete -1 pre match_mode , vzorec vráti hodnotu 3, pretože najbližšia zhoda menšia ako hodnota vyhľadávania je 70 560 000 a je to 3. položka v poli vyhľadávania:

    =XMATCH(80000000, C2:C6, -1)

    Ďalšia najväčšia položka

    Ak použijete 1 pre match_mode , vzorec vypíše hodnotu 2, pretože najbližšia zhoda väčšia ako hodnota vyhľadávania je 85 133 000, čo je 2. položka v poli vyhľadávania:

    =XMATCH(80000000, C2:C6, -1)

    Na obrázku nižšie sú zobrazené všetky výsledky:

    Ako priradiť čiastočný text v programe Excel pomocou zástupných znakov

    Funkcia XMATCH má špeciálny režim zhody pre zástupné znaky: match_mode argument nastavený na 2.

    V režime zástupnej zhody vzorec XMATCH akceptuje nasledujúce zástupné znaky:

    • Otáznik (?) na porovnanie s ľubovoľným jedným znakom.
    • Hviezdička (*) na priradenie ľubovoľnej postupnosti znakov.

    Nezabudnite, že zástupné znaky fungujú len s textom, nie s číslami.

    Ak chcete napríklad zistiť pozíciu prvej položky, ktorá začína slovom "south", vzorec je:

    =XMATCH("south*", B2:B6, 2)

    Alebo môžete zadať svoj zástupný výraz do niektorej bunky, napríklad F1, a zadať odkaz na bunku pre lookup_value argument:

    =XMATCH(F1, B2:B6, 2)

    Pri väčšine funkcií Excelu by ste použili tildu (~), aby ste považovali hviezdičku (~*) alebo otáznik (~?) za doslovné znaky, nie za zástupné znaky. Pri funkcii XMATCH tilda nie je potrebná. Ak nedefinujete režim zhody zástupných znakov, funkcia XMATCH bude predpokladať, že ? a * sú regulárne znaky.

    Napríklad nasledujúci vzorec vyhľadá v rozsahu A2:A7 presne znak hviezdičky:

    =XMATCH("*", A2:A7)

    Spätné vyhľadávanie XMATCH na nájdenie poslednej zhody

    V prípade, že sa v poli vyhľadávania vyskytuje viacero hodnôt, môžete niekedy potrebovať získať pozíciu posledný výskyt .

    Smer vyhľadávania sa riadi 4. argumentom XMATCH s názvom search_mode Vyhľadávanie v opačnom poradí, t. j. zdola nahor vo vertikálnom poli a sprava doľava v horizontálnom poli, search_mode by mala byť nastavená na -1.

    V tomto príklade vrátime pozíciu posledného záznamu pre konkrétnu hodnotu vyhľadávania (pozri obrázok nižšie). Na tento účel nastavte argumenty takto:

    • Lookup_value - cieľový predajca v H1
    • Lookup_array - mená predajcov v C2:C10
    • Match_mode je 0 alebo sa vynechá (presná zhoda)
    • Režim vyhľadávania je -1 (od posledného k prvému)

    Ak tieto štyri argumenty spojíme, dostaneme tento vzorec:

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

    Ktorý vráti číslo posledného predaja, ktorý uskutočnila Laura:

    Ako porovnať dva stĺpce v programe Excel na porovnanie

    Ak chcete porovnať dva zoznamy na zhodu, môžete použiť funkciu XMATCH spolu s IF a ISNA:

    IF( ISNA( XMATCH( target_list , search_list , 0)), "No match", "Match")

    Napríklad na porovnanie zoznamu 2 v B2:B10 so zoznamom 1 v A2:A10 má vzorec nasledujúci tvar:

    =IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Zhoda v zozname 1")

    V tomto príklade identifikujeme iba zhody, preto value_if_true argumentom funkcie IF je prázdny reťazec ("").

    Zadajte vyššie uvedený vzorec do najvyššej bunky (v našom prípade C2), stlačte kláves Enter a vzorec sa automaticky "preleje" do ostatných buniek (nazýva sa prelievací rozsah):

    Ako tento vzorec funguje

    Jadrom vzorca je funkcia XMATCH, ktorá hľadá hodnotu zo zoznamu 2 v zozname 1. Ak sa hodnota nájde, vráti sa jej relatívna pozícia, inak sa zobrazí chyba #N/A. V našom prípade je výsledkom funkcie XMATCH nasledujúce pole:

    {#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}

    Toto pole je "podané" funkcii ISNA, ktorá ho skontroluje na prítomnosť chýb #N/A. Pre každú chybu #N/A vráti ISNA hodnotu TRUE, pre akúkoľvek inú hodnotu hodnotu FALSE. Výsledkom je nasledujúce pole logických hodnôt, kde TRUE predstavuje nezhody a FALSE predstavuje zhody:

    {PRAVDA;PRAVDA;NEPRAVDA;PRAVDA;NEPRAVDA;PRAVDA;PRAVDA;PRAVDA;NEPRAVDA;PRAVDA}

    Uvedené pole prechádza do logického testu funkcie IF. V závislosti od toho, ako ste nakonfigurovali posledné dva argumenty, vzorec vypíše príslušný text. V našom prípade je to prázdny reťazec ("") pre nezhody ( value_if_true ) a "Zhoda v zozname 1" pre zhody ( value_if_false ).

    Poznámka: Tento vzorec funguje len v aplikáciách Excel 365 a Excel 2021, ktoré podporujú dynamické polia. Ak používate Excel 2019, Excel 2016 alebo staršie verzie, pozrite si iné riešenia: Ako porovnať dva stĺpce v programe Excel.

    INDEX XMATCH v programe Excel

    Funkciu XMATCH možno použiť v kombinácii s funkciou INDEX na získanie hodnoty z iného stĺpca spojeného s hodnotou vyhľadávania, rovnako ako vzorec INDEX MATCH. Všeobecný prístup je nasledovný:

    INDEX ( vrátiť _ pole , XMATCH ( lookup_value , lookup_array )

    Logika je veľmi jednoduchá a ľahko sa dodržiava:

    Funkcia XMATCH vypočíta relatívnu pozíciu hodnoty vyhľadávania v poli vyhľadávania a odovzdá ju funkcii číslo_riadku Na základe čísla riadku funkcia INDEX vráti hodnotu z ľubovoľného stĺpca, ktorý zadáte.

    Ak chcete napríklad zistiť plochu oceánu v E1, môžete použiť tento vzorec:

    =INDEX(B2:B6, XMATCH(E1, A2:A6))

    INDEX XMATCH XMATCH na vykonanie dvojrozmerného vyhľadávania

    Ak chcete vyhľadávať v stĺpcoch a riadkoch súčasne, použite INDEX spolu s dvoma funkciami XMATCH. Prvá funkcia XMATCH získa číslo riadku a druhá číslo stĺpca:

    INDEX ( údaje , XMATCH ( lookup_value , vertikálne _ lookup_array ), XMATCH ( vyhľadávacia hodnota , horizontálne _ lookup_array ))

    Vzorec je podobný vzorcu INDEX MATCH MATCH s tým rozdielom, že môžete vynechať match_mode argument, pretože je predvolená presná zhoda.

    Ak chcete napríklad získať číslo predaja pre danú položku (G1) v konkrétnom mesiaci (G2), vzorec je:

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

    Kde B2:D8 sú dátové bunky okrem záhlaví riadkov a stĺpcov, A2:A8 je zoznam položiek a B1:D1 sú názvy mesiacov.

    Vzorec XMATCH citlivý na veľkosť písmen

    Ako už bolo spomenuté, funkcia XMATCH v programe Excel nerozlišuje veľké a malé písmená. Ak chcete, aby rozlišovala veľké a malé písmená textu, použite funkciu XMATCH v kombinácii s funkciou EXACT:

    MATCH(TRUE, EXACT( lookup_array , lookup_value ))

    Vyhľadávanie v opačné poradie z posledného na prvé miesto:

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

    Nasledujúci príklad ukazuje tento všeobecný vzorec v akcii. Predpokladajme, že máte zoznam identifikátorov produktov s rozlišovaním veľkých a malých písmen v B2:B11. Hľadáte relatívnu pozíciu položky v E1. Vzorec s rozlišovaním veľkých a malých písmen v E2 je takýto jednoduchý:

    =XMATCH(TRUE, EXACT(B2:B11, E1))

    Ako tento vzorec funguje:

    Funkcia EXACT porovnáva hodnotu vyhľadávania s každou položkou v poli vyhľadávania. Ak sa porovnávané hodnoty presne zhodujú, vrátane veľkosti znakov, funkcia vráti TRUE, v opačnom prípade FALSE. Toto pole logických hodnôt (kde TRUE predstavuje presnú zhodu) sa prenesie do lookup_array A keďže hodnota vyhľadávania je TRUE, funkcia XMATCH vráti pozíciu prvej nájdenej presnej zhody alebo poslednej presnej zhody, v závislosti od toho, ako ste nakonfigurovali search_mode argument.

    XMATCH vs. MATCH v programe Excel

    XMATCH bol navrhnutý ako výkonnejšia a univerzálnejšia náhrada za MATCH, a preto majú tieto dve funkcie veľa spoločného.

    Odlišné predvolené správanie

    Predvolené nastavenie funkcie MATCH je presná zhoda alebo nasledujúca najmenšia položka ( match_type nastavená na 1 alebo vynechaná).

    Predvolené nastavenie funkcie XMATCH je presná zhoda ( match_mode nastavená na 0 alebo vynechaná).

    Rozdielne správanie pri približnej zhode

    Keď sa match_mode / match_type je nastavený na hodnotu 1:

    • MATCH vyhľadáva presnú zhodu alebo najbližšiu najmenšiu zhodu. Vyžaduje, aby bolo vyhľadávacie pole zoradené vzostupne.
    • XMATCH vyhľadáva presnú alebo ďalšiu najväčšiu zhodu. Nevyžaduje žiadne triedenie.

    Keď sa match_mode / match_type argument je nastavený na -1:

    • MATCH vyhľadáva presnú zhodu alebo ďalšiu najväčšiu zhodu. Vyžaduje zoradenie vyhľadávacieho poľa zostupne.
    • XMATCH vyhľadáva presnú zhodu alebo najbližšiu najmenšiu zhodu. Nevyžaduje žiadne triedenie.

    Vyhľadávanie so záložnou kartou

    Ak chcete nájsť čiastočnú zhodu pomocou XMATCH, musíte nastaviť match_mode argument na 2.

    Funkcia MATCH nemá špeciálnu voľbu režimu zámennej zhody. Vo väčšine prípadov ju nakonfigurujete na presnú zhodu ( match_type nastavená na 0), čo funguje aj pri vyhľadávaní so zástupnými znakmi.

    Režim vyhľadávania

    Podobne ako nová funkcia XLOOKUP má aj XMATCH špeciálnu funkciu search_mode argument, ktorý umožňuje definovať smer vyhľadávania :

    • 1 alebo vynechať (predvolené) - vyhľadávanie od prvého do posledného.
    • -1 - spätné vyhľadávanie od posledného k prvému.

    A vyberte si algoritmus binárneho vyhľadávania , ktorý je veľmi rýchly a účinný na triedené údaje .

    • 2 - binárne vyhľadávanie v údajoch zoradených vzostupne.
    • -2 - binárne vyhľadávanie v údajoch zoradených zostupne.

    Binárne vyhľadávanie , tiež nazývaný vyhľadávanie v polintervale alebo logaritmické vyhľadávanie , je špeciálny algoritmus, ktorý nájde pozíciu hľadanej hodnoty v poli porovnaním s prostredným prvkom poľa. Binárne vyhľadávanie je oveľa rýchlejšie ako bežné vyhľadávanie, ale funguje správne len na zoradených zoznamoch. Na nezoradených dátach môže vrátiť nesprávne výsledky, ktoré môžu na prvý pohľad vyzerať celkom normálne.

    Syntax MATCH vôbec neuvádza argument spôsobu vyhľadávania.

    XMATCH natívne spracováva polia

    Na rozdiel od svojho predchodcu bola funkcia XMATCH navrhnutá pre dynamický Excel a natívne spracúva polia bez toho, aby ste museli stláčať klávesovú skratku Ctrl + Shift + Enter . Vďaka tomu je zostavovanie a úprava vzorcov oveľa jednoduchšia, najmä pri použití niekoľkých rôznych funkcií spoločne. Stačí porovnať nasledujúce riešenia:

    • Vzorec citlivý na veľkosť písmen: XMATCH
    • Porovnanie dvoch stĺpcov alebo zoznamov na hľadanie zhody: XMATCH

    Dostupnosť funkcií XMATCH a MATCH

    XMATCH je nová funkcia a je k dispozícii len v aplikácii Excel pre Microsoft 365 a Excel 2021.

    Funkcia MATCH je k dispozícii v ľubovoľnej verzii programu Excel 365 až Excel 2007.

    Takto sa používa funkcia XMATCH v programe Excel. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!

    Cvičebnica na stiahnutie

    Príklady vzorcov Excel XMATCH (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.