Turinys
Šioje pamokoje pristatoma naujoji "Excel" funkcija XMATCH ir parodoma, kuo ji yra pranašesnė už MATCH sprendžiant keletą įprastų uždavinių.
Į "Excel 365" buvo įtraukta funkcija XMATCH, kuri pakeitė funkciją MATCH. Tačiau prieš pradedant atnaujinti esamas formules, vertėtų suprasti visus naujosios funkcijos privalumus ir kuo ji skiriasi nuo senosios.
Apibendrinant galima pasakyti, kad XMATCH funkcija yra tokia pati kaip MATCH, tačiau lankstesnė ir patikimesnė. Ji gali ieškoti vertikaliuose ir horizontaliuose masyvuose, ieškoti nuo pirmos iki paskutinės arba nuo paskutinės iki pirmos, rasti tikslius, apytikslius ir dalinius atitikmenis ir naudoti greitesnį dvejetainės paieškos algoritmą.
"Excel" XMATCH funkcija
"Excel" funkcija XMATCH grąžina santykinę reikšmės padėtį masyve arba ląstelių intervale.
Jo sintaksė tokia:
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])Kur:
Lookup_value (privaloma) - ieškoma reikšmė.
Lookup_array (privaloma) - ląstelių masyvas arba diapazonas, kuriame reikia ieškoti.
Match_mode (neprivaloma) - nurodo, kokį atitikmens tipą naudoti:
- 0 arba praleista (numatytoji reikšmė) - tiksli atitiktis
- -1 - tikslus atitikimas arba kita mažiausia reikšmė
- 1 - tiksli atitiktis arba kita didžiausia reikšmė
- 2 - pakaitinis atitikmuo (*, ?)
Paieškos_režimas (neprivaloma) - nurodoma paieškos kryptis ir algoritmas:
- 1 arba praleista (numatytoji reikšmė) - paieška nuo pirmos iki paskutinės.
- -1 - paieška atvirkštine tvarka nuo paskutinio iki pirmo.
- 2 - dvejetainė paieška didėjančia tvarka. Reikia lookup_array rūšiuoti didėjančia tvarka.
- -2 - dvejetainė paieška mažėjančia tvarka. Reikalaujama lookup_array rūšiuoti mažėjančia tvarka.
Dvejetainė paieška yra greitesnis algoritmas, efektyviai veikiantis surūšiuotuose masyvuose. Daugiau informacijos rasite skyriuje Paieškos režimas.
Kurioje "Excel" versijoje yra XMATCH?
Funkcija XMATCH galima tik "Excel for Microsoft 365" ir "Excel 2021". 2019, 2016 ir ankstesnėse "Excel" versijose ši funkcija nepalaikoma.
Pagrindinė XMATCH formulė programoje "Excel
Norėdami susidaryti bendrą vaizdą apie tai, ką ši funkcija gali, sukurkime paprasčiausią XMATCH formulę, apibrėždami tik pirmuosius du privalomus argumentus, o pasirenkamiesiems palikdami numatytąsias reikšmes.
Tarkime, turite vandenynų, suskirstytų pagal dydį (C2:C6), sąrašą ir norite sužinoti konkretaus vandenyno rangą. Norėdami tai padaryti, tiesiog naudokite vandenyno pavadinimą, pvz. Indijos , kaip paieškos reikšmę, o visą vardų sąrašą - kaip paieškos masyvą:
=XMATCH("Indijos", C2:C6)
Kad formulė būtų lankstesnė, įveskite dominantį vandenyną į kurį nors langelį, tarkime, F1:
=XMATCH(F1, C2:C6)
Kaip rezultatą gausite XMATCH formulę, kurios reikia ieškoti vertikalusis masyvas . Išvesties rezultatas yra paieškos vertės santykinė padėtis masyve, kuri mūsų atveju atitinka vandenyno rangą:
Panaši formulė puikiai tinka horizontalusis masyvas Viskas, ką jums reikia padaryti, tai sureguliuoti lookup_array nuoroda:
=XMATCH(B5, B1:F1)
"Excel" XMATCH funkcija - ką reikia prisiminti
Norėdami efektyviai naudoti XMATCH savo darbalapiuose ir išvengti netikėtų rezultatų, prisiminkite šiuos 3 paprastus faktus:
- Jei yra du ar daugiau paieškos reikšmės pasikartojimų paieškos masyve, paieškos reikšmės pozicija pirmosios rungtynės grąžinama, jei paieškos_režimas argumentas yra lygus 1 arba praleistas. paieškos_režimas nustatyta į -1, funkcija ieško atvirkštine tvarka ir grąžina paskutinės rungtynės kaip parodyta šiame pavyzdyje.
- Jei paieškos vertė nerandama , įvyksta #N/A klaida.
- XMATCH funkcija yra Atskirų raidžių pagal savo pobūdį ir negali atskirti raidžių dydžio. Norėdami atskirti mažąsias ir didžiąsias raides, naudokite šią mažųjų ir didžiųjų raidžių skirtumo XMATCH formulę.
Kaip naudoti "XMATCH" programoje "Excel" - formulių pavyzdžiai
Toliau pateikti pavyzdžiai padės geriau suprasti XMATCH funkciją ir jos praktinį naudojimą.
Tiksli atitiktis ir apytikslė atitiktis
XMATCH atitikimo elgseną kontroliuoja pasirinktinis match_mode argumentas:
- 0 arba praleista (numatytoji reikšmė) - formulėje ieškoma tik tikslaus atitikmens. Jei tikslaus atitikmens nerandama, grąžinama #N/A klaida.
- -1 - formulėje pirmiausia ieškoma tikslaus atitikmens, o tada kito mažesnio elemento.
- 1 - formulėje pirmiausia ieškoma tikslaus atitikmens, o tada kito didesnio elemento.
O dabar pažiūrėkime, kokią įtaką formulės rezultatams turi skirtingi atitikimo būdai. Tarkime, kad norite sužinoti, kokią vietą tarp visų vandenynų užima tam tikras plotas, tarkime, 80 000 000 km2.
Tiksli atitiktis
Jei naudojate 0 kaip match_mode , gausite #N/A klaidą, nes formulė negali rasti reikšmės, kuri būtų lygiai lygi paieškos reikšmei:
=XMATCH(80000000, C2:C6, 0)
Kitas mažiausias elementas
Jei naudojate -1 reikšmę match_mode , formulė grąžins 3, nes artimiausias atitikmuo, mažesnis už ieškomąją vertę, yra 70 560 000, o tai yra trečiasis ieškomojo masyvo elementas:
=XMATCH(80000000, C2:C6, -1)
Kitas didžiausias elementas
Jei naudojate 1 match_mode , formulės rezultatas bus 2, nes artimiausias atitikmuo, didesnis už paieškos vertę, yra 85 133 000, t. y. 2-asis paieškos masyvo elementas:
=XMATCH(80000000, C2:C6, -1)
Toliau pateiktame paveikslėlyje parodyti visi rezultatai:
Kaip suderinti dalinį tekstą "Excel" programoje naudojant pakaitinius simbolius
Funkcija XMATCH turi specialų atitikimo režimą, skirtą pakaitiniams simboliams. match_mode argumentas nustatytas į 2.
Atitikimo su pakaitiniais ženklais režime XMATCH formulė priima šiuos pakaitinius ženklus:
- Klausimo ženklas (?) atitinka bet kurį vieną simbolį.
- Žvaigždutė (*) atitinka bet kokią simbolių seką.
Atminkite, kad pakaitiniai simboliai veikia tik su tekstu, o ne su skaičiais.
Pavyzdžiui, norint rasti pirmojo elemento, kuris prasideda žodžiu "pietūs", poziciją, formulė yra tokia:
=XMATCH("south*", B2:B6, 2)
Arba galite įvesti savo pakaitinio simbolio išraišką į kurį nors langelį, pvz., F1, ir pateikti langelio nuorodą į lookup_value argumentas:
=XMATCH(F1, B2:B6, 2)
Naudodami daugumą "Excel" funkcijų, naudokite tilde (~), kad žvaigždutę (~*) arba klausiamąjį ženklą (~?) laikytumėte tiesioginiais simboliais, o ne pakaitiniais ženklais. Naudojant XMATCH, tilde nereikalinga. Jei nenustatysite pakaitinio ženklo atitikimo režimo, XMATCH laikys, kad ? ir * yra įprasti simboliai.
Pavyzdžiui, toliau pateiktoje formulėje A2:A7 intervale bus ieškoma būtent žvaigždutės simbolio:
=XMATCH("*", A2:A7)
XMATCH atvirkštinė paieška paskutiniam atitikmeniui rasti
Jei paieškos reikšmė paieškos masyve pasikartoja kelis kartus, kartais gali prireikti nustatyti paieškos reikšmės poziciją. paskutinis įvykis .
Paieškos kryptis kontroliuojama ketvirtuoju XMATCH argumentu, pavadintu paieškos_režimas . Ieškoti atvirkštine tvarka, t. y. iš apačios į viršų vertikaliame masyve ir iš dešinės į kairę horizontaliame masyve, paieškos_režimas turėtų būti nustatyta į -1.
Šiame pavyzdyje grąžinsime paskutinio įrašo poziciją konkrečiai paieškos vertei (žr. toliau pateiktą ekrano nuotrauką). Tam nustatykite tokius argumentus:
- Lookup_value - tikslinį pardavėją H1
- Lookup_array - pardavėjų pavadinimai C2:C10
- Match_mode yra 0 arba praleista (tiksli atitiktis)
- Paieškos_režimas yra -1 (nuo paskutinio iki pirmojo)
Sudėję šiuos keturis argumentus, gausime šią formulę:
=XMATCH(H1, C2:C10, 0, -1)
Kuris grąžina paskutinio Lauros atlikto pardavimo numerį:
Kaip palyginti du stulpelius "Excel", kad jie sutaptų
Norėdami palyginti du sąrašus, ar jie sutampa, galite naudoti funkciją XMATCH kartu su IF ir ISNA:
IF( ISNA( XMATCH( target_list , search_list , 0)), "Neatitinka", "Atitikimas")Pavyzdžiui, norint palyginti B2:B10 esantį 2 sąrašą su A2:A10 esančiu 1 sąrašu, formulė yra tokia:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Atitikimas 1 sąraše")
Šiame pavyzdyje nustatome tik atitikmenis, todėl value_if_true funkcijos IF argumentas yra tuščia eilutė ("").
Įveskite pirmiau pateiktą formulę į viršutinę ląstelę (mūsų atveju C2), paspauskite Enter , ir ji automatiškai "išsilies" į kitas ląsteles (tai vadinama išsiliejimo diapazonu):
Kaip veikia ši formulė
Formulės esmė - funkcija XMATCH ieško 2 sąrašo reikšmės 1 sąraše. Jei reikšmė randama, grąžinama jos santykinė padėtis, priešingu atveju - klaida #N/A. Mūsų atveju XMATCH rezultatas yra toks masyvas:
{#N/A;#N/A;#N/A;2;#N/A;4;#N/A;#N/A;#N/A;8;#N/A}
Šis masyvas "paduodamas" ISNA funkcijai, kad ji patikrintų, ar jame nėra #N/A klaidų. Kiekvienai #N/A klaidai ISNA grąžina TRUE, bet kuriai kitai reikšmei - FALSE. Rezultate gaunamas toks loginių reikšmių masyvas, kuriame TRUE reiškia nesutapimus, o FALSE - sutapimus:
{TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE}
Pirmiau pateiktas masyvas patenka į funkcijos IF loginį testą. Priklausomai nuo to, kaip sukonfigūravote paskutinius du argumentus, formulė išves atitinkamą tekstą. Mūsų atveju tai yra tuščia eilutė (""), jei nesutampa ( value_if_true ), o "Match in List 1" - atitikmenims ( value_if_false ).
Pastaba. Ši formulė veikia tik "Excel 365" ir "Excel 2021", kurios palaiko dinaminius masyvus. Jei naudojate "Excel 2019", "Excel 2016" ar ankstesnę versiją, peržiūrėkite kitus sprendimus: Kaip palyginti du stulpelius "Excel".
INDEKSAS XMATCH programoje "Excel
XMATCH galima naudoti kartu su INDEX funkcija, norint gauti reikšmę iš kito stulpelio, susijusio su paieškos reikšme, kaip ir INDEX MATCH formulė. Bendrasis metodas yra toks:
INDEKSAS ( grąžinti _ masyvas , XMATCH ( lookup_value , lookup_array )Logika labai paprasta ir lengvai suprantama:
Funkcija XMATCH apskaičiuoja santykinę paieškos vertės padėtį paieškos masyve ir perduoda ją funkcijai eilutės_num Pagal eilutės numerį funkcija INDEX grąžina bet kurio nurodyto stulpelio reikšmę.
Pavyzdžiui, norėdami sužinoti vandenyno plotą E1, galite naudoti šią formulę:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEKSAS XMATCH XMATCH, kad būtų galima atlikti dvimatę paiešką
Norėdami vienu metu ieškoti stulpeliuose ir eilutėse, naudokite INDEX kartu su dviem XMATCH funkcijomis. Pirmąja XMATCH funkcija gausite eilutės numerį, o antrąja - stulpelio numerį:
INDEKSAS ( duomenys , XMATCH ( lookup_value , vertikalus _ lookup_array ), XMATCH ( paieškos vertė , horizontalus _ lookup_array ))Formulė yra panaši į INDEX MATCH MATCH formulę, išskyrus tai, kad galite praleisti match_mode argumentas, nes pagal numatytuosius nustatymus jis tiksliai atitinka.
Pavyzdžiui, norint gauti tam tikros prekės (G1) pardavimų skaičių per tam tikrą mėnesį (G2), formulė yra tokia:
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Kai B2:D8 yra duomenų langeliai, išskyrus eilučių ir stulpelių antraštes, A2:A8 yra elementų sąrašas, o B1:D1 yra mėnesių pavadinimai.
Didžiosios raidės XMATCH formulė
Kaip jau minėta, "Excel" XMATCH funkcija pagal savo paskirtį neskiria didžiųjų ir mažųjų raidžių. Norėdami priversti ją atskirti teksto didžiąsias raides, naudokite XMATCH kartu su EXACT funkcija:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Paieška atvirkštine tvarka iš paskutiniųjų į pirmuosius:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)Toliau pateiktame pavyzdyje parodyta, kaip veikia ši bendroji formulė. Tarkime, kad turite produktų ID sąrašą B2:B11. Norite rasti santykinę elemento poziciją E1. E2 formulė, pagal kurią nustatomos didžiosios ir mažosios raidės, yra tokia paprasta:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Kaip veikia ši formulė:
Funkcija EXACT palygina paieškos vertę su kiekvienu paieškos masyvo elementu. Jei lyginamos vertės yra visiškai vienodos, įskaitant simbolių atvejį, funkcija grąžina TRUE, priešingu atveju - FALSE. Šis loginių verčių masyvas (kur TRUE reiškia tikslų atitikimą) patenka į lookup_array Kadangi paieškos reikšmė yra TRUE, XMATCH funkcija grąžina pirmojo rasto tikslaus atitikmens poziciją arba paskutinio tikslaus atitikmens poziciją, priklausomai nuo to, kaip sukonfigūravote XMATCH funkciją. paieškos_režimas argumentas.
XMATCH ir MATCH "Excel" programoje
XMATCH buvo sukurta kaip galingesnis ir universalesnis MATCH pakaitalas, todėl šios dvi funkcijos turi daug bendro. Tačiau yra ir esminių skirtumų.
Skirtingas numatytasis elgesys
Numatytoji MATCH funkcijos reikšmė yra tiksli atitiktis arba kitas mažiausias elementas ( match_type nustatyta į 1 arba praleista).
Numatytoji XMATCH funkcijos reikšmė yra tiksli atitiktis ( match_mode nustatyta į 0 arba praleista).
Skirtingas elgesys apytikslio atitikimo atveju
Kai match_mode / match_type argumentas yra lygus 1:
- MATCH ieškoma tikslaus atitikmens arba kito mažiausio atitikmens. Reikalaujama, kad paieškos masyvas būtų surūšiuotas didėjančia tvarka.
- XMATCH ieško tikslaus atitikmens arba kito didžiausio atitikmens. Nereikia rūšiuoti.
Kai match_mode / match_type argumentas nustatomas į -1:
- MATCH ieško tikslaus atitikmens arba kito didžiausio atitikmens. Reikia surūšiuoti paieškos masyvą mažėjančia tvarka.
- XMATCH ieško tikslaus atitikmens arba kito mažiausio atitikmens. Nereikalauja jokio rūšiavimo.
"Wildcard" paieška
Norėdami rasti dalinius atitikmenis naudodami XMATCH, turite nustatyti match_mode argumentas 2.
Funkcija MATCH neturi specialios pakaitinių simbolių atitikimo režimo parinkties. Daugeliu atvejų ją konfigūruosite kaip tikslaus atitikimo ( match_type nustatytas į 0), kuris taip pat tinka pakaitinių simbolių paieškoms.
Paieškos režimas
Kaip ir naujoji XLOOKUP funkcija, XMATCH turi specialią paieškos_režimas argumentas, leidžiantis apibrėžti paieškos kryptis :
- 1 arba praleista (numatytoji reikšmė) - paieška nuo pirmos iki paskutinės.
- -1 - atvirkštinė paieška nuo paskutinio iki pirmojo.
Ir pasirinkite dvejetainės paieškos algoritmas , kuri yra labai greita ir veiksminga. surūšiuoti duomenys .
- 2 - dvejetainė paieška pagal didėjančia tvarka surūšiuotus duomenis.
- -2 - dvejetainė paieška duomenų, surūšiuotų mažėjančia tvarka.
Dvejetainė paieška , dar vadinama pusės intervalo paieška arba logaritminė paieška , tai specialus algoritmas, kuriuo ieškomos reikšmės padėtis masyve randama lyginant ją su viduriniu masyvo elementu. Dvejetainė paieška yra daug greitesnė už įprastą paiešką, tačiau teisingai veikia tik rūšiuotuose sąrašuose. Esant nerūšiuotiems duomenims, ji gali grąžinti klaidingus rezultatus, kurie iš pirmo žvilgsnio gali atrodyti visai normalūs.
MATCH sintaksėje paieškos režimo argumentas apskritai nenumatytas.
XMATCH natūraliai tvarko masyvus
Kitaip nei jos pirmtakė, XMATCH funkcija buvo sukurta dinamiškai "Excel" ir natūraliai tvarko masyvus, todėl nereikia spausti Ctrl + Shift + Enter . Dėl to formules kurti ir redaguoti daug lengviau, ypač kai kartu naudojamos kelios skirtingos funkcijos. Tiesiog palyginkite šiuos sprendimus:
- Formulė, kurioje atsižvelgiama į didžiąsias raides: XMATCH
- Palyginkite du stulpelius arba sąrašus ieškodami atitikmenų: XMATCH
XMATCH ir MATCH prieinamumas
XMATCH yra nauja funkcija, kurią galima naudoti tik programose "Excel for Microsoft 365" ir "Excel 2021".
Funkciją MATCH galima naudoti bet kurioje "Excel 365" versijoje nuo "Excel 2007".
Štai kaip naudoti XMATCH funkciją "Excel" programoje. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!
Atsisiųsti praktikos sąsiuvinį
"Excel" XMATCH formulių pavyzdžiai (.xlsx failas)