Змест
Сінтаксіс MATCH наогул не прадугледжвае аргументу рэжыму пошуку.
XMATCH апрацоўвае масівы ўласна
У адрозненне ад сваёй папярэдніцы, функцыя XMATCH была распрацавана для дынамічнага Excel і апрацоўвае масівы натыўным спосабам, без неабходнасці націскаць Ctrl + Shift + Enter. Гэта значна палягчае стварэнне і рэдагаванне формул, асабліва пры сумесным выкарыстанні некалькіх розных функцый. Проста параўнайце наступныя рашэнні:
- Формула з улікам рэгістра: XMATCH
Падручнік прадстаўляе новую функцыю Excel XMATCH і паказвае, чым яна лепшая за MATCH для вырашэння некалькіх распаўсюджаных задач.
У Excel 365 функцыя XMATCH была дададзена, каб замяніць Функцыя MATCH. Але перш чым пачаць мадэрнізаваць існуючыя формулы, было б разумна зразумець усе перавагі новай функцыі і чым яна адрозніваецца ад старой.
Увогуле, функцыя XMATCH такая ж, як MATCH, але больш гнуткая і трывалы. Ён можа шукаць як у вертыкальных, так і ў гарызантальных масівах, шукаць ад першага да апошняга або ад апошняга да першага, знаходзіць дакладныя, прыблізныя і частковыя супадзенні, а таксама выкарыстоўваць больш хуткі алгарытм бінарнага пошуку.
Функцыя Excel XMATCH
Функцыя XMATCH у Excel вяртае адносную пазіцыю значэння ў масіве або дыяпазоне вочак.
Яна мае наступны сінтаксіс:
XMATCH(пошукавае_значэнне , 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.
Функцыя MATCH не мае спецыяльнай опцыі рэжыму супастаўлення падстаноўных знакаў. У большасці выпадкаў вы наладжваеце яго на дакладнае супадзенне ( match_type усталяваць у 0), што таксама працуе для пошуку па шаблонах.
Рэжым пошуку
Як новы XLOOKUP XMATCH мае спецыяльны аргумент search_mode , які дазваляе вам вызначыць кірунак пошуку :
- 1 або апушчаны (па змаўчанні) - шукаць спачатку -апошні.
- -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 або апушчаны. Калі search_mode усталяваны ў -1, функцыя шукае ў адваротным парадку і вяртае пазіцыю апошняга супадзення , як паказана ў гэтым прыкладзе.
- Калі значэнне пошуку не знойдзены , узнікае памылка #N/A.
- Функцыя XMATCH неадчувальная да рэгістра па сваёй прыродзе і не можа адрозніваць рэгістр літар. Каб адрозніць малыя і вялікія літары, выкарыстоўвайце гэтую формулу XMATCH з улікам рэгістра.
Як выкарыстоўваць XMATCH у Excel - прыклады формул
Наступныя прыклады дапамогуць вам атрымаць большае разуменне аб Функцыя XMATCH і яе практычнае выкарыстанне.
Дакладнае супадзенне супраць прыблізнага супадзення
Паводзіны супастаўлення XMATCH кантралююцца дадатковым аргументам match_mode :
- 0 або апушчана (па змаўчанні) - формула шукае толькі дакладнае супадзенне. Калі дакладнае супадзенне не знойдзена, aВяртаецца памылка #N/A.
- -1 - формула спачатку шукае дакладнае супадзенне, а потым наступны меншы элемент.
- 1 - формула спачатку шукае дакладнае супадзенне, і затым для наступнага большага элемента.
А цяпер давайце паглядзім, як розныя рэжымы адпаведнасці ўплываюць на вынік формулы. Выкажам здагадку, што вы хочаце даведацца, дзе сярод усіх акіянаў знаходзіцца пэўная тэрыторыя, скажам, 80 000 000 км2.
Дакладнае супадзенне
Калі вы выкарыстоўваеце 0 для match_mode , вы атрымаю памылку #N/A, таму што формула не можа знайсці значэнне, роўнае значэнню пошуку:
=XMATCH(80000000, C2:C6, 0)
Наступны найменшы элемент
Калі вы выкарыстоўваеце -1 для match_mode формула верне 3, таму што самае блізкае супадзенне, меншае за значэнне пошуку, складае 70 560 000, і гэта 3-ці элемент у масіве пошуку:
=XMATCH(80000000, C2:C6, -1)
Наступны па велічыні элемент
Калі вы выкарыстоўваеце 1 для match_mode , формула выдасць 2, таму што бліжэйшае супадзенне, большае за значэнне пошуку, складае 85 133 000, што з'яўляецца 2-м элементам у масіве пошуку :
=XMATCH(80000000, C2:C6, -1)
Выява ніжэй паказвае ўсе вынікі:
Як супаставіць частковы тэкст у Excel з падстаноўнымі знакамі
Функцыя XMATCH мае спецыяльны рэжым супастаўлення для падстаноўных знакаў: аргумент match_mode усталяваны ў 2.
У рэжыме падстаноўкі формула XMATCH прымае наступны падстаноўны знак сімвалы:
- Пытальнік (?), каб адпавядаць любому асобнаму сімвалу.
- Зорачка (*), каб адпавядаць любомупаслядоўнасць сімвалаў.
Калі ласка, майце на ўвазе, што падстаноўныя знакі працуюць толькі з тэкстам, а не з лічбамі.
Напрыклад, каб знайсці пазіцыю першага элемента, які пачынаецца з "поўдзень" , формула такая:
=XMATCH("south*", B2:B6, 2)
Або вы можаце ўвесці выраз падстаноўкі ў якую-небудзь ячэйку, скажам, F1, і падаць спасылку на ячэйку для аргумента пошукавае_значэнне :
=XMATCH(F1, B2:B6, 2)
У большасці функцый Excel вы б выкарыстоўвалі тыльду (~), каб разглядаць зорачку (~*) або пытальнік (~?) як літаральны сімвалы, а не падстаноўныя знакі. З XMATCH тыльда не патрэбна. Калі вы не вызначыце рэжым супадзення падстаноўных знакаў, XMATCH будзе лічыць, што ? і * з'яўляюцца звычайнымі сімваламі.
Напрыклад, прыведзеная ніжэй формула будзе шукаць у дыяпазоне A2:A7 дакладна сімвал зорачкі:
=XMATCH("*", A2:A7)
Зваротны пошук XMATCH, каб знайсці апошняе супадзенне
У выпадку, калі ёсць некалькі ўваходжанняў шуканага значэння ў масіве пошуку, вам часам можа спатрэбіцца атрымаць пазіцыю апошняга ўваходжання .
Кірунак пошуку кіруецца 4-м аргументам XMATCH пад назвай search_mode . Для пошуку ў зваротным парадку, г.зн. знізу ўверх у вертыкальным масіве і справа налева ў гарызантальным масіве, search_mode павінен быць усталяваны ў -1.
У гэтым прыкладзе мы верне пазіцыю апошняга запісу для пэўнага значэння пошуку (гл. скрыншот ніжэй). Для гэтага ўсталюйце аргументы якнаступным чынам:
- Lookup_value - мэтавы прадавец у H1
- Lookup_array - імёны прадаўцоў у C2:C10
- Match_mode роўны 0 або апушчаны (дакладнае супадзенне)
- Search_mode роўны -1 (ад апошняга да першага)
Пастаўленне чатырох разам аргументаў, мы атрымаем наступную формулу:
=XMATCH(H1, C2:C10, 0, -1)
Якая вяртае нумар апошняга продажу, зробленага Лорай:
Як параўнаць два слупкі ў Excel на супадзенне
Каб параўнаць два спісы на супадзенні, вы можаце выкарыстоўваць функцыю XMATCH разам з IF і ISNA:
IF( ISNA( XMATCH( target_list, спіс_пошуку, 0)), "Няма супадзення", "Супадзенне")Напрыклад, каб параўнаць спіс 2 у B2:B10 са спісам 1 у A2:A10, формула прымае наступны выгляд:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")
У гэтым прыкладзе мы вызначаем толькі супадзенні, таму аргумент value_if_true функцыі КАЛІ з'яўляецца пустым радком ("").
Увядзіце прыведзеную вышэй формулу ў самую верхнюю ячэйку (у нашым выпадку 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 прадстаўляюць несупадзенні, а FALSE — супадзенні:
{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}
Вышэйпрыведзены масіў ідзе на лагічны тэст функцыі IF . У залежнасці ад таго, як вы наладзілі апошнія два аргументы, формула вывядзе адпаведны тэкст. У нашым выпадку гэта пусты радок ("") для несупадзенняў ( value_if_true ) і "Супадзенне ў спісе 1" для супадзенняў ( value_if_false ).
Нататка. Гэтая формула працуе толькі ў Excel 365 і Excel 2021, якія падтрымліваюць дынамічныя масівы. Калі вы выкарыстоўваеце Excel 2019, Excel 2016 або больш раннюю версію, азнаёмцеся з іншымі рашэннямі: Як параўнаць два слупкі ў Excel.
INDEX XMATCH у Excel
XMATCH можна выкарыстоўваць у спалучэнні з функцыяй INDEX для атрымання значэння з іншага слупка, звязанага з пошукавым значэннем, як і формула INDEX MATCH. Агульны падыход выглядае наступным чынам:
логіка вельмі простая і лёгка прытрымлівацца:
Функцыя XMATCH вылічае адносную пазіцыю шуканага значэння ў пошукавым масіве і перадае яго аргументу row_num INDEX. На аснове радка лік, функцыя INDEX вяртае значэнне з любога слупка, які вы ўказваеце.
Напрыклад, каб знайсці вобласцьакіяна ў E1, вы можаце выкарыстоўваць гэтую формулу:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH для выканання 2-мернага пошуку
Каб шукаць у слупках і радках адначасова, выкарыстоўваць INDEX разам з дзвюма функцыямі XMATCH. Першы XMATCH атрымае нумар радка, а другі атрымае нумар слупка:
INDEX ( data , XMATCH ( lookup_value , vertical _ масіў_прагляду ), XMATCH ( значэнне пошуку , гарызантальны _ масіў_прагляду ))Формула падобная да 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 з улікам рэгістра
Як ужо было сказана, функцыя XMATCH у Excel неадчувальная да рэгістра. Каб прымусіць яго адрозніваць рэгістр тэксту, выкарыстоўвайце XMATCH у спалучэнні з функцыяй EXACT:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Для пошуку ў зваротны парадак ад апошняга да першага:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)Наступны прыклад паказвае гэтая агульная формула ў дзеянні. Выкажам здагадку, што ў вас ёсць спіс ідэнтыфікатараў прадуктаў з улікам рэгістра ў B2:B11. Вы шукаецезнайсці адноснае размяшчэнне прадмета ў E1. Формула з улікам рэгістра ў E2 простая:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Як працуе гэтая формула:
Функцыя EXACT параўноўвае значэнне пошуку з кожным элементам у масіве пошуку. Калі параўноўваныя значэнні цалкам роўныя, уключаючы рэгістр сімвалаў, функцыя вяртае TRUE, у адваротным выпадку FALSE. Гэты масіў лагічных значэнняў (дзе TRUE прадстаўляе дакладныя супадзенні) пераходзіць у аргумент lookup_array XMATCH. І паколькі пошукавае значэнне TRUE, функцыя XMATCH вяртае пазіцыю першага знойдзенага дакладнага супадзення або апошняга дакладнага супадзення, у залежнасці ад таго, як вы наладзілі аргумент search_mode .
XMATCH супраць. MATCH у Excel
XMATCH быў распрацаваны як больш магутная і ўніверсальная замена MATCH, таму гэтыя дзве функцыі маюць шмат агульнага. Аднак ёсць істотныя адрозненні.
Розныя паводзіны па змаўчанні
Функцыя MATCH па змаўчанні вызначае дакладнае супадзенне або наступны найменшы элемент ( match_type усталяваны ў 1 або апушчаны).
Функцыя XMATCH па змаўчанні мае дакладнае супадзенне ( match_mode усталявана ў 0 або апушчана).
Розныя паводзіны для прыблізнага супадзення
Калі match_mode / match_type аргумент усталяваны ў 1:
- MATCH шукае дакладнае супадзенне або наступнае найменшае супадзенне. Патрабуецца, каб масіў пошуку быў адсартаваны ў парадку ўзрастання.
- XMATCH шукае дакладны