Функција Excel XMATCH со примери на формула

  • Споделете Го Ова
Michael Brown
барај, но работи правилно само на подредени списоци. На несортирани податоци, може да се вратат погрешни резултати што може да изгледаат прилично нормално на прв поглед.

Синтаксата на MATCH воопшто не го обезбедува аргументот за режимот на пребарување.

XMATCH природно се справува со низите

За разлика од својот претходник, функцијата XMATCH е дизајнирана за динамичен Excel и природно се справува со низи, без да морате да притиснете Ctrl + Shift + Enter. Ова го прави многу полесен за градење и уредување формули, особено кога се користат неколку различни функции заедно. Само споредете ги следните решенија:

  • Формула чувствителна на букви: XMATCH

    Упатството ја воведува новата функција Excel XMATCH и покажува како е подобра од MATCH за решавање на неколку вообичаени задачи.

    Во Excel 365, функцијата XMATCH е додадена за да се замени Функција MATCH. Но, пред да започнете со надградба на вашите постоечки формули, би било паметно да ги разберете сите предности на новата функција и како таа се разликува од старата.

    Накратко, функцијата XMATCH е иста како MATCH, но пофлексибилна и робустен. Може да бара и во вертикални и хоризонтални низи, да бара од прв до последен или од последен до прв, да наоѓа точни, приближни и делумни совпаѓања и да користи побрз бинарен алгоритам за пребарување.

    Excel XMATCH функција

    Функцијата XMATCH во Excel ја враќа релативната позиција на вредност во низа или опсег на ќелии.

    Ја има следнава синтакса:

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

    Каде:

    Lookup_value (задолжително) - вредноста што треба да се бара.

    Lookup_array (задолжително) - низата или опсегот на ќелии каде да се пребарува.

    Match_mode (изборно) - одредува кој тип на совпаѓање да се користи:

    • 0 или испуштено (стандардно) - точно совпаѓање
    • -1 - точно совпаѓање или следната најмала вредност
    • 1 - точно совпаѓање или следната најголема вредност
    • 2 - совпаѓање со џокер ( *, ?)

    Режим_пребарување (опционално) - ја одредува насоката и алгоритмот на пребарување:

    • 1 или испуштен (стандардно) -натпревар или следниот најголем. Не бара никакво сортирање.

    Кога аргументот match_mode / match_type е поставен на -1:

    • MATCH пребарува за точно совпаѓање или следно најголемо. Бара сортирање на низата за пребарување по опаѓачки редослед.
    • XMATCH бара точно совпаѓање или следното најмало. Не бара никакво сортирање.

    Пребарување со букви

    За да најдете делумно совпаѓања со XMATCH, треба да го поставите аргументот match_mode на 2.

    0>Функцијата MATCH нема специјална опција за режим на совпаѓање со знаци. Во повеќето случаи, ќе го конфигурирате за точно совпаѓање ( тип_совпаѓање поставено на 0), што исто така работи и за пребарувања со знаци.

    Режим на пребарување

    Како новиот XLOOKUP функција. -последно.

  • -1 - обратно пребарување од последно до прво.

И изберете бинарен алгоритам за пребарување , кој е многу брз и ефикасен на подредени податоци .

  • 2 - бинарно пребарување на податоци подредено растечки.
  • -2 - бинарно пребарување на податоци подредено во опаѓање.

Бинарно пребарување , исто така наречено пребарување со полуинтервал или логаритамско пребарување , е специјален алгоритам кој ја наоѓа позицијата на вредноста за пребарување во низата со нејзино споредување до средниот елемент на низата. Бинарното пребарување е многу побрзо од обичнотопребарување од прво до последно.

  • -1 - пребарување во обратен редослед од последно до прво.
  • 2 - бинарно пребарување растечко. Бара lookup_array да се подреди по растечки редослед.
  • -2 - бинарно пребарување опаѓачки. Потребно е lookup_array да се подреди по опаѓачки редослед.
  • Бинарното пребарување е побрз алгоритам кој работи ефикасно на подредени низи. За повеќе информации, погледнете го режимот за пребарување.

    Која верзија на Excel има XMATCH?

    Функцијата XMATCH е достапна само во Excel за Microsoft 365 и Excel 2021. Во Excel 2019, Excel 2016 и порано верзии, оваа функција не е поддржана.

    Основна формула XMATCH во Excel

    За да добиете општа идеја за тоа што е способна функцијата, ајде да изградиме формула XMATCH во нејзината наједноставна форма, дефинирајќи само првите два бараа аргументи и оставајќи ги опционалните на нивните стандардни.

    Да претпоставиме дека имате листа на океани рангирани според нивната големина (C2:C6) и сакате да го најдете рангот на одреден океан. За да го направите тоа, едноставно користете го името на океанот, кажете Индиски , како вредност за пребарување и целата листа на имиња како низа за пребарување:

    =XMATCH("Indian", C2:C6)

    За да направите формулата е пофлексибилна, внесете го океанот од интерес во некоја ќелија, да речеме F1:

    =XMATCH(F1, C2:C6)

    Како резултат на тоа, добивате формула XMATCH за да барате во вертикална низа . Излезот е релативната позиција на бараната вредност во низата, што во нашиот случајодговара на рангот на океанот:

    Слична формула функционира совршено и за хоризонтална низа . Сè што треба да направите е да ја прилагодите референцата lookup_array :

    =XMATCH(B5, B1:F1)

    Excel XMATCH функцијата - работи што треба да се запаметат

    За ефикасно користење на XMATCH во вашите работни листови и спречување неочекувани резултати, запомнете ги овие 3 едноставни факти:

    • Ако има две или повеќе појави на вредноста за пребарување во низата за пребарување, позицијата на првото совпаѓање се враќа ако аргументот режим_пребарување е поставен на 1 или изоставен. Со режим_пребарување поставен на -1, функцијата пребарува во обратен редослед и ја враќа позицијата на последното совпаѓање како што е прикажано во овој пример.
    • Ако вредноста за пребарување не е пронајдено , се појавува грешка #N/A.
    • Функцијата XMATCH е неосетлива на букви по природа и не може да ги разликува буквите. За да разликувате мали и големи букви, користете ја оваа формула XMATCH чувствителна на големи букви.

    Како да го користите XMATCH во Excel - примери на формули

    Следниве примери ќе ви помогнат да стекнете повеќе разбирање за Функцијата XMATCH и нејзината практична употреба.

    Точно совпаѓање наспроти приближно совпаѓање

    Соодветното однесување на XMATCH е контролирано од опционалниот аргумент match_mode :

    • 0 или испуштена (стандардно) - формулата бара само точно совпаѓање. Ако не се најде точно совпаѓање, аСе враќа грешка #N/A.
    • -1 - формулата прво бара точно совпаѓање, а потоа за следната помала ставка.
    • 1 - формулата прво бара точно совпаѓање, и потоа за следната поголема ставка.

    И сега, ајде да видиме како различните режими на совпаѓање влијаат на резултатот на формулата. Да претпоставиме дека сакате да дознаете каде се наоѓа одредена област, да речеме 80.000.000 km2 меѓу сите океани.

    Точно совпаѓање

    Ако користите 0 за match_mode , Ќе добие #N/A грешка, бидејќи формулата не може да најде вредност точно еднаква на вредноста за пребарување:

    =XMATCH(80000000, C2:C6, 0)

    Следна најмалата ставка

    Ако користите -1 за match_mode , формулата ќе врати 3, бидејќи најблиското совпаѓање помало од вредноста за пребарување е 70.560.000 и е трета ставка во низата за пребарување:

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

    Следна најголема ставка

    Ако користите 1 за match_mode , формулата ќе излезе 2, бидејќи најблиската совпаѓање поголема од вредноста за пребарување е 85.133.000, што е втора ставка во низата за пребарување :

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

    Сликата подолу ги прикажува сите резултати:

    Како да се совпадне делумниот текст во Excel со џокери

    Функцијата XMATCH има посебен режим на совпаѓање за џокерите: аргументот match_mode е поставен на 2.

    Во режимот на совпаѓање со џокери, формулата XMATCH ја прифаќа следнава буква знаци:

    • прашалник (?) за да одговара на кој било знак.
    • Ѕвездичка (*) за да одговара на кој било знакниза знаци.

    Ве молиме имајте на ум дека џокерите работат само со текст, а не со бројки.

    На пример, да ја пронајдете позицијата на првата ставка што започнува со „југ“ , формулата е:

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

    Или можете да го напишете изразот на џокер во некоја ќелија, да речеме F1, и да ја наведете референцата на ќелијата за аргументот lookup_value :

    =XMATCH(F1, B2:B6, 2)

    Со повеќето функции на Excel, би користеле тилда (~) за да ја третирате ѕвездичката (~*) или прашалникот (~?) како буквално ликови, а не џокери. Со XMATCH, тилда не е потребна. Ако не го дефинирате режимот за совпаѓање со џокер, XMATCH ќе го претпостави тоа ? и * се редовни знаци.

    На пример, формулата подолу ќе го бара опсегот A2:A7 точно за знакот ѕвездичка:

    =XMATCH("*", A2:A7)

    XMATCH обратно пребарување за да го пронајдете последното совпаѓање

    Во случај да има неколку појавувања на вредноста за пребарување во низата за пребарување, понекогаш можеби ќе треба да ја добиете позицијата на последната појава .

    Насоката на пребарување е контролирана да биде четвртиот аргумент на XMATCH со име режим_пребарување . За пребарување во обратен редослед, т.е. од дното кон врвот во вертикална низа и од десно кон лево во хоризонтална низа, режимот_пребарување треба да биде поставен на -1.

    Во овој пример, ние ќе ја врати позицијата на последниот запис за одредена вредност за пребарување (видете ја сликата од екранот подолу). За ова, поставете ги аргументите какоследува:

    • Lookup_value - целниот продавач во H1
    • Lookup_array - имињата на продавачите во C2:C10
    • Режимот за совпаѓање е 0 или е испуштен (точно совпаѓање)
    • Режимот за пребарување е -1 (последни до први)

    Ставување на четирите аргументи заедно, ја добиваме оваа формула:

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

    Која го враќа бројот на последната продажба направена од Лаура:

    Како да споредете две колони во Excel за совпаѓање

    За да споредите две списоци за совпаѓање, можете да ја користите функцијата XMATCH заедно со IF и ISNA:

    IF( ISNA( XMATCH( target_list , search_list , 0)), „Нема совпаѓање“, „Match“)

    На пример, за да се спореди списокот 2 во B2:B10 со списокот 1 во A2:A10, формулата ја зема следната форма:

    =IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")

    Во овој пример, идентификуваме само совпаѓања, затоа аргументот value_if_true на функцијата IF е празна низа ("").

    Внесете ја горната формула во најгорната ќелија (C2 во нашиот случај), притиснете Enter и таа автоматски ќе се „истури“ во другите ќелии (т.е. t се нарекува опсег на истурање):

    Како функционира оваа формула

    Во срцето на формулата, функцијата XMATCH пребарува за вредност од списокот 2 во списокот 1. Ако се најде вредност, се враќа нејзината релативна позиција, инаку грешка #N/A. Во нашиот случај, резултатот од XMATCH е следнава низа:

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

    Оваа низа се „напојува“ во функцијата ISNA за да се провери за #N/A грешки.За секоја грешка #N/A, ISNA враќа TRUE; за која било друга вредност - FALSE. Како резултат на тоа, тој ја произведува следната низа на логички вредности, каде што TRUE's претставуваат несовпаѓања, а FALSE's претставуваат совпаѓања:

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

    Горната низа оди на логичкиот тест на функцијата IF . Во зависност од тоа како сте ги конфигурирале последните два аргументи, формулата ќе го издаде соодветниот текст. Во нашиот случај, тоа е празна низа ("") за несовпаѓање ( value_if_true ) и "Match in List 1" за совпаѓања ( value_if_false ).

    Забелешка. Оваа формула работи само во Excel 365 и Excel 2021 кои поддржуваат динамички низи. Ако користите Excel 2019, Excel 2016 или претходната верзија, проверете ги другите решенија: Како да споредите две колони во Excel.

    INDEX XMATCH во Excel

    XMATCH може да се користи во комбинација со функцијата INDEX за да се добие вредност од друга колона поврзана со вредноста за пребарување, исто како формулата INDEX MATCH. Генеричкиот пристап е како што следува:

    ИНДЕКС ( враќање _ низа , XMATCH ( побарува_вредност , побарувачка_низа )

    На логиката е многу јасна и лесна за следење:

    Функцијата XMATCH ја пресметува релативната позиција на вредноста за пребарување во низата за пребарување и ја пренесува на аргументот row_num на INDEX. Врз основа на редот број, функцијата INDEX враќа вредност од која било колона што ќе ја наведете.

    На пример, за да ја побарате областана океанот во Е1, можете да ја користите оваа формула:

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

    INDEX XMATCH XMATCH за да извршите 2-димензионално пребарување

    Да погледнете во колони и редови истовремено, користете INDEX заедно со две XMATCH функции. Првиот XMATCH ќе го добие бројот на редот, а вториот ќе го добие бројот на колоната:

    ИНДЕКС ( податоци , XMATCH ( погледна_вредност , вертикална _ lookup_array ), XMATCH ( lookup value , horizontal _ lookup_array ))

    Формулата е слична на INDEX MATCH MATCH освен што вие може да го изостави аргументот match_mode бидејќи стандардно е точно совпаѓање.

    На пример, за да се добие продажен број за дадена ставка (G1) во одреден месец (G2), формулата е :

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

    Каде што B2:D8 се податочни ќелии со исклучок на заглавијата на редови и колони, A2:A8 е листа на ставки, а B1:D1 се имиња на месеци.

    Формула XMATCH чувствителна на букви

    Како што веќе беше споменато, функцијата Excel XMATCH е нечувствителна на букви по дизајн. За да го присилите да разликува букви на текст, користете XMATCH во комбинација со функцијата EXACT:

    MATCH(TRUE, EXACT( lookup_array , lookup_value ))

    За пребарување во обратен редослед од последно до прво:

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

    Следниот пример покажува оваа генеричка формула во акција. Да претпоставиме дека имате листа на идентификатори на производ чувствителни на големи букви во B2:B11. Вие барате данајдете ја релативната позиција на ставката во Е1. Формулата чувствителна на големи букви во E2 е едноставна како оваа:

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

    Како функционира оваа формула:

    Функцијата EXACT ја споредува вредноста за пребарување со секоја ставка во низата за пребарување. Ако споредените вредности се точно еднакви, вклучувајќи ги и буквите на знаците, функцијата враќа TRUE, FALSE во спротивно. Оваа низа од логички вредности (каде што TRUE's претставуваат точни совпаѓања) оди во аргументот lookup_array на XMATCH. И бидејќи вредноста за пребарување е ВИСТИНА, функцијата XMATCH ја враќа позицијата на првото пронајдено точно совпаѓање или последното точно совпаѓање, во зависност од тоа како сте го конфигурирале аргументот режим на_пребарување .

    XMATCH vs. MATCH во Excel

    XMATCH е дизајниран како помоќна и разновидна замена за MATCH, и затоа овие две функции имаат многу заедничко. Сепак, постојат суштински разлики.

    Различно стандардно однесување

    Функцијата MATCH стандардно одговара на точното совпаѓање или следната најмала ставка ( тип_совпаѓање е поставена на 1 или испуштена).

    Функцијата XMATCH стандардно е точно совпаѓање ( match_mode поставена на 0 или испуштена).

    Различно однесување за приближно совпаѓање

    Кога match_mode Аргументот / match_type е поставен на 1:

    • MATCH пребарува за точно совпаѓање или следно најмало. Бара низата за пребарување да биде подредена по растечки редослед.
    • XMATCH бара точно

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.