Excel XMATCH function na may mga halimbawa ng formula

  • Ibahagi Ito
Michael Brown
maghanap ngunit gumagana lamang ng tama sa mga pinagsunod-sunod na listahan. Sa hindi naayos na data, maaari itong magbalik ng mga maling resulta na maaaring mukhang normal sa unang tingin.

Ang syntax ng MATCH ay hindi nagbibigay ng argumento sa search mode.

XMATCH ay pinangangasiwaan ang mga arrays nang native

Hindi tulad ng hinalinhan nito, ang XMATCH function ay idinisenyo para sa dynamic na Excel at pinangangasiwaan ang mga array nang native, nang hindi mo kailangang pindutin ang Ctrl + Shift + Enter . Ginagawa nitong mas madali ang pagbuo at pag-edit ng mga formula, lalo na kapag gumagamit ng ilang magkakaibang function nang magkasama. Ihambing lang ang mga sumusunod na solusyon:

  • Case-sensitive formula: XMATCH

    Ipinakilala ng tutorial ang bagong Excel XMATCH function at ipinapakita kung paano ito mas mahusay kaysa sa MATCH para sa paglutas ng ilang karaniwang gawain.

    Sa Excel 365, idinagdag ang XMATCH function upang palitan ang MATCH function. Ngunit bago mo simulan ang pag-upgrade ng iyong mga umiiral nang formula, makabubuting maunawaan ang lahat ng mga pakinabang ng bagong function at kung paano ito naiiba sa luma.

    Sa buod, ang XMATCH function ay kapareho ng MATCH ngunit mas nababaluktot at matatag. Maaari itong tumingin sa parehong patayo at pahalang na mga array, maghanap mula sa una hanggang sa huli o huli sa una, maghanap ng eksaktong, humigit-kumulang at bahagyang mga tugma, at gumamit ng mas mabilis na binary na algorithm sa paghahanap.

    Excel XMATCH function

    Ibinabalik ng XMATCH function sa Excel ang relatibong posisyon ng isang value sa isang array o hanay ng mga cell.

    Mayroong sumusunod na syntax:

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

    Saan:

    Lookup_value (kinakailangan) - ang value na hahanapin.

    Lookup_array (kinakailangan) - ang array o hanay ng mga cell kung saan hahanapin.

    Match_mode (opsyonal) - tumutukoy kung aling uri ng pagtutugma ang gagamitin:

    • 0 o tinanggal (default) - eksaktong tugma
    • -1 - eksaktong tugma o ang susunod na pinakamaliit na halaga
    • 1 - eksaktong tugma o ang susunod na pinakamalaking halaga
    • 2 - wildcard na tugma ( *, ?)

    Search_mode (opsyonal) - tumutukoy sa direksyon ng paghahanap at algorithm:

    • 1 o tinanggal (default) -tugma o susunod na pinakamalaki. Hindi nangangailangan ng anumang pag-uuri.

    Kapag ang match_mode / match_type argument ay nakatakda sa -1:

    • MATCH na paghahanap para sa eksaktong tugma o susunod na pinakamalaki. Nangangailangan ng pag-uuri ng lookup array sa pababang pagkakasunod-sunod.
    • Ang XMATCH ay naghahanap ng eksaktong tugma o susunod na pinakamaliit. Hindi nangangailangan ng anumang pag-uuri.

    Upang makahanap ng mga bahagyang tugma sa XMATCH, kailangan mong itakda ang match_mode argument sa 2.

    Ang MATCH function ay walang espesyal na opsyon sa wildcard match mode. Sa karamihan ng mga kaso, iko-configure mo ito para sa eksaktong tugma ( match_type set sa 0), na gumagana din para sa mga wildcard na paghahanap.

    Search mode

    Tulad ng bagong XLOOKUP function, ang XMATCH ay may espesyal na argumento na search_mode na nagbibigay-daan sa iyong tukuyin ang direksyon ng paghahanap :

    • 1 o tinanggal (default) - maghanap muna sa -huling.
    • -1 - baliktarin ang paghahanap mula sa huli.

    At pumili ng binary search algorithm , na napakabilis at mahusay sa pinagbukud-bukod na data .

    • 2 - binary na paghahanap sa data na pinagsunod-sunod pataas.
    • -2 - binary na paghahanap sa data na pinagsunod-sunod pababa.

    Binary search , tinatawag ding half-interval search o logarithmic search , ay isang espesyal na algorithm na nakakahanap ng posisyon ng isang lookup value sa loob ng isang array sa pamamagitan ng paghahambing nito sa gitnang elemento ng array. Ang isang binary na paghahanap ay mas mabilis kaysa sa isang regularpaghahanap mula sa una hanggang sa huli.

  • -1 - paghahanap sa reverse order mula sa huli hanggang sa una.
  • 2 - binary na paghahanap pataas. Nangangailangan ng lookup_array na pagbukud-bukurin sa pataas na pagkakasunud-sunod.
  • -2 - pababang binary na paghahanap. Nangangailangan ng lookup_array na pagbukud-bukurin sa pababang pagkakasunud-sunod.

Ang binary na paghahanap ay isang mas mabilis na algorithm na mahusay na gumagana sa mga pinagsunod-sunod na array. Para sa higit pang impormasyon, pakitingnan ang Search mode.

Aling bersyon ng Excel ang may XMATCH?

Ang XMATCH function ay available lang sa Excel para sa Microsoft 365 at Excel 2021. Sa Excel 2019, Excel 2016 at mas maaga mga bersyon, hindi sinusuportahan ang function na ito.

Basic XMATCH formula sa Excel

Upang makakuha ng pangkalahatang ideya kung ano ang kaya ng function, bumuo tayo ng XMATCH formula na ito ang pinakasimpleng anyo nito, na tumutukoy lamang ang unang dalawang kinakailangang argumento at iniiwan ang mga opsyonal sa kanilang mga default.

Ipagpalagay, mayroon kang listahan ng mga karagatan na niraranggo ayon sa kanilang laki (C2:C6) at nais mong hanapin ang ranggo ng isang partikular na karagatan. Para magawa ito, gamitin lang ang pangalan ng karagatan, sabihin ang Indian , bilang value ng lookup at ang buong listahan ng mga pangalan bilang lookup array:

=XMATCH("Indian", C2:C6)

Upang gawin ang formula na mas flexible, ipasok ang karagatan ng interes sa ilang cell, sabihin ang F1:

=XMATCH(F1, C2:C6)

Bilang resulta, makakakuha ka ng XMATCH formula upang maghanap sa isang vertical array . Ang output ay ang relatibong posisyon ng lookup value sa array, na sa aming kasotumutugma sa ranggo ng karagatan:

Ang isang katulad na formula ay perpektong gumagana para sa isang horizontal array din. Ang kailangan mo lang gawin ay isaayos ang lookup_array reference:

=XMATCH(B5, B1:F1)

Excel XMATCH function - mga bagay na dapat tandaan

Upang epektibong magamit ang XMATCH sa iyong mga worksheet at maiwasan ang mga hindi inaasahang resulta, pakitandaan ang 3 simpleng katotohanang ito:

  • Kung mayroong dalawa o higit pang paglitaw ng value ng lookup sa lookup array, ang posisyon ng ang unang tugma ay ibinabalik kung ang search_mode argument ay nakatakda sa 1 o tinanggal. Sa search_mode nakatakda sa -1, ang function ay naghahanap sa reverse order at ibinabalik ang posisyon ng huling tugma gaya ng ipinakita sa halimbawang ito.
  • Kung ang lookup value ay hindi nahanap , nangyayari ang isang #N/A error.
  • Ang XMATCH function ay likas na case-insensitive at hindi maaaring makilala ang letter case. Upang makilala ang mga lowercase at uppercase na character, gamitin itong case-sensitive na XMATCH na formula.

Paano gamitin ang XMATCH sa Excel - mga halimbawa ng formula

Ang mga sumusunod na halimbawa ay makakatulong sa iyong magkaroon ng higit na pang-unawa tungkol sa XMATCH function at ang mga praktikal na gamit nito.

Eksaktong tugma kumpara sa tinatayang tugma

Ang pagtutugmang gawi ng XMATCH ay kinokontrol ng opsyonal na match_mode argument:

  • 0 o tinanggal (default) - ang formula ay naghahanap lamang ng eksaktong tugma. Kung hindi mahanap ang eksaktong tugma, a#N/A error ang ibinalik.
  • -1 - ang formula ay naghahanap muna ng eksaktong tugma, at pagkatapos ay para sa susunod na mas maliit na item.
  • 1 - ang formula ay naghahanap muna ng eksaktong tugma, at pagkatapos ay para sa susunod na mas malaking item.

At ngayon, tingnan natin kung paano nakakaapekto ang iba't ibang mode ng pagtutugma sa resulta ng formula. Ipagpalagay na gusto mong malaman kung saan ang isang partikular na lugar, sabihin nating 80,000,000 km2, ay nasa gitna ng lahat ng karagatan.

Eksaktong tugma

Kung gagamit ka ng 0 para sa match_mode , ikaw ay' Makakakuha ng #N/A error, dahil hindi makakahanap ang formula ng value na eksaktong katumbas ng lookup value:

=XMATCH(80000000, C2:C6, 0)

Susunod na pinakamaliit na item

Kung gagamit ka ng -1 para sa match_mode , ang formula ay magbabalik ng 3, dahil ang pinakamalapit na tugma na mas maliit kaysa sa lookup value ay 70,560,000, at ito ang ika-3 item sa lookup array:

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

Susunod na pinakamalaking item

Kung gagamit ka ng 1 para sa match_mode , ang formula ay maglalabas ng 2, dahil ang pinakamalapit na tugma na mas malaki kaysa sa lookup value ay 85,133,000, na siyang ika-2 item sa lookup array :

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

Ipinapakita ng larawan sa ibaba ang lahat ng resulta:

Paano itugma ang bahagyang text sa Excel sa mga wildcard

Ang XMATCH function ay may espesyal na mode ng pagtutugma para sa mga wildcard: ang argument na match_mode ay nakatakda sa 2.

Sa wildcard match mode, tinatanggap ng isang XMATCH formula ang sumusunod na wildcard mga character:

  • Tandang pananong (?) upang tumugma sa anumang solong character.
  • Asterisk (*) upang tumugma sa alinmanpagkakasunud-sunod ng mga character.

Pakitandaan na ang mga wildcard ay gumagana lamang sa teksto, hindi mga numero.

Halimbawa, upang mahanap ang posisyon ng unang item na nagsisimula sa "timog" , ang formula ay:

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

O maaari mong i-type ang iyong wildcard na expression sa ilang cell, sabihin ang F1, at ibigay ang cell reference para sa lookup_value argument:

=XMATCH(F1, B2:B6, 2)

Sa karamihan ng mga function ng Excel, gagamit ka ng tilde (~) para ituring ang asterisk (~*) o tandang pananong (~?) bilang literal mga character, hindi mga wildcard. Sa XMATCH, hindi kailangan ang tilde. Kung hindi mo tukuyin ang wildcard match mode, ipapalagay iyon ng XMATCH ? at * ay mga regular na character.

Halimbawa, hahanapin ng formula sa ibaba ang range na A2:A7 nang eksakto para sa asterisk character:

=XMATCH("*", A2:A7)

XMATCH reverse search para mahanap ang huling tugma

Kung sakaling mayroong ilang paglitaw ng lookup value sa lookup array, minsan kailangan mong makuha ang posisyon ng huling paglitaw .

Ang direksyon ng paghahanap ay kinokontrol ang ika-4 na argumento ng XMATCH na pinangalanang search_mode . Upang maghanap sa reverse order, ibig sabihin, mula sa ibaba hanggang sa itaas sa isang vertical array at mula sa kanan papuntang kaliwa sa isang pahalang na array, search_mode ay dapat itakda sa -1.

Sa halimbawang ito, kami ibabalik ang posisyon ng huling tala para sa isang partikular na halaga ng paghahanap (pakitingnan ang screenshot sa ibaba). Para dito, i-set up ang mga argumento bilangsumusunod:

  • Lookup_value - ang target na salesperson sa H1
  • Lookup_array - mga pangalan ng salesperson sa C2:C10
  • Ang Match_mode ay 0 o inalis (eksaktong tugma)
  • Search_mode ay -1 (huli sa una)

Paglalagay ng apat argumento nang sama-sama, nakuha namin ang formula na ito:

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

Na nagbabalik ng numero ng huling pagbebenta na ginawa ni Laura:

Paano ihambing ang dalawang column sa Excel para sa tugma

Upang paghambingin ang dalawang listahan para sa mga tugma, maaari mong gamitin ang XMATCH function kasama ng IF at ISNA:

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

Halimbawa, upang ihambing ang Listahan 2 sa B2:B10 laban sa Listahan 1 sa A2:A10, ang formula ay kukuha ng sumusunod na anyo:

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

Sa halimbawang ito, tinutukoy lang namin ang mga tugma, samakatuwid ang value_if_true argument ng IF function ay isang walang laman na string ("").

Ipasok ang formula sa itaas sa pinakatuktok na cell (C2 sa aming kaso), pindutin ang Enter , at ito ay awtomatikong "madadala" sa iba pang mga cell (i t ay tinatawag na spill range):

Paano gumagana ang formula na ito

Sa gitna ng formula, ang XMATCH function ay naghahanap para sa isang halaga mula sa Listahan 2 sa loob ng Listahan 1. Kung ang isang halaga ay natagpuan, ang kaugnay na posisyon nito ay ibabalik, kung hindi ay isang #N/A na error. Sa aming kaso, ang resulta ng XMATCH ay ang sumusunod na array:

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

Ang array na ito ay "pinakain" sa ISNA function upang masuri para sa #N/A error.Para sa bawat #N/A error, ang ISNA ay nagbabalik ng TRUE; para sa anumang iba pang halaga - FALSE. Bilang resulta, gumagawa ito ng sumusunod na hanay ng mga lohikal na halaga, kung saan ang mga TRUE ay kumakatawan sa mga hindi tugma, at ang FALSE ay kumakatawan sa mga tugma:

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

Ang array sa itaas ay papunta sa lohikal na pagsubok ng IF function . Depende sa kung paano mo na-configure ang huling dalawang argumento, ilalabas ng formula ang kaukulang teksto. Sa aming kaso, ito ay isang walang laman na string ("") para sa mga hindi tugma ( value_if_true ) at "Tugma sa Listahan 1" para sa mga tugma ( value_if_false ).

Tandaan. Gumagana lang ang formula na ito sa Excel 365 at Excel 2021 na sumusuporta sa mga dynamic na array. Kung gumagamit ka ng Excel 2019, Excel 2016 o mas naunang bersyon, mangyaring tingnan ang iba pang mga solusyon: Paano ihambing ang dalawang column sa Excel.

INDEX XMATCH sa Excel

Maaaring gamitin ang XMATCH kasama ng function na INDEX para kumuha ng value mula sa isa pang column na nauugnay sa lookup value, tulad ng INDEX MATCH formula. Ang generic na diskarte ay ang sumusunod:

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

Ang Ang logic ay napaka-simple at madaling sundin:

Kinakalkula ng XMATCH function ang kaugnay na posisyon ng lookup value sa lookup array at ipinapasa ito sa row_num argument ng INDEX. Batay sa row numero, ang INDEX function ay nagbabalik ng halaga mula sa anumang column na iyong tinukoy.

Halimbawa, upang hanapin ang lugarng karagatan sa E1, maaari mong gamitin ang formula na ito:

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

INDEX XMATCH XMATCH upang magsagawa ng 2-dimentional lookup

Para tumingin sa mga column at row nang sabay-sabay, gumamit ng INDEX kasama ng dalawang XMATCH function. Ang unang XMATCH ay makakakuha ng row number at ang pangalawa ay kukuha ng column number:

INDEX ( data , XMATCH ( lookup_value , vertical _ lookup_array ), XMATCH ( lookup value , horizontal _ lookup_array ))

Ang formula ay katulad ng INDEX MATCH MATCH maliban na ikaw maaaring alisin ang argumentong match_mode dahil nagde-default ito sa eksaktong tugma.

Halimbawa, para makuha ang numero ng benta para sa isang partikular na item (G1) sa isang partikular na buwan (G2), ang formula ay :

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

Kung saan ang B2:D8 ay mga cell ng data na hindi kasama ang mga header ng row at column, ang A2:A8 ay isang listahan ng mga item at ang B1:D1 ay mga pangalan ng buwan.

Case-sensitive XMATCH formula

Tulad ng nabanggit na, ang Excel XMATCH function ay case-insensitive ayon sa disenyo. Upang pilitin itong makilala ang text case, gamitin ang XMATCH kasama ang EXACT function:

MATCH(TRUE, EXACT( lookup_array , lookup_value ))

Para maghanap sa reverse order mula sa huli hanggang sa una:

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

Ipinapakita ng sumusunod na halimbawa gumagana ang generic na formula na ito. Ipagpalagay na mayroon kang listahan ng mga case-sensitive na product id sa B2:B11. Hinahanap mohanapin ang relatibong posisyon ng item sa E1. Ang isang case-sensitive na formula sa E2 ay kasing simple nito:

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

Paano gumagana ang formula na ito:

Inihahambing ng EXACT function ang lookup value sa bawat item sa lookup array. Kung ang mga inihambing na halaga ay eksaktong pantay, kasama ang mga character na case, ang function ay nagbabalik ng TRUE, FALSE kung hindi. Itong hanay ng mga lohikal na halaga (kung saan ang TRUE ay kumakatawan sa mga eksaktong tugma) ay papunta sa lookup_array argument ng XMATCH. At dahil TRUE ang lookup value, ibinabalik ng XMATCH function ang posisyon ng unang nakitang eksaktong tugma o ang huling eksaktong tugma, depende sa kung paano mo na-configure ang search_mode argument.

XMATCH vs. MATCH sa Excel

Ang XMATCH ay idinisenyo bilang isang mas makapangyarihan at maraming nalalaman na kapalit para sa MATCH, kaya ang dalawang function na ito ay may maraming pagkakatulad. Gayunpaman, may mga mahahalagang pagkakaiba.

Iba't ibang default na gawi

Nagde-default ang MATCH function sa eksaktong tugma o sa susunod na pinakamaliit na item ( match_type nakatakda sa 1 o tinanggal).

Nagde-default ang XMATCH function sa eksaktong tugma ( match_mode nakatakda sa 0 o tinanggal).

Iba't ibang gawi para sa tinatayang tugma

Kapag ang match_mode / match_type argument ay nakatakda sa 1:

  • MATCH na paghahanap para sa eksaktong tugma o susunod na pinakamaliit. Nangangailangan na ang lookup array ay dapat ayusin sa pataas na pagkakasunud-sunod.
  • XMATCH ay naghahanap ng eksaktong

Si Michael Brown ay isang dedikadong mahilig sa teknolohiya na may hilig sa pagpapasimple ng mga kumplikadong proseso gamit ang mga tool sa software. Sa higit sa isang dekada ng karanasan sa industriya ng tech, hinasa niya ang kanyang mga kasanayan sa Microsoft Excel at Outlook, pati na rin ang Google Sheets at Docs. Ang blog ni Michael ay nakatuon sa pagbabahagi ng kanyang kaalaman at kadalubhasaan sa iba, na nagbibigay ng madaling sundan na mga tip at mga tutorial para sa pagpapabuti ng pagiging produktibo at kahusayan. Isa ka mang batikang propesyonal o baguhan, nag-aalok ang blog ni Michael ng mahahalagang insight at praktikal na payo para masulit ang mahahalagang software tool na ito.