Sisukord
Õpetuses tutvustatakse uut Exceli XMATCH-funktsiooni ja näidatakse, kuidas see on parem kui MATCH mõne tavalise ülesande lahendamiseks.
Excel 365-s lisati funktsioon XMATCH, mis asendas funktsiooni MATCH. Kuid enne kui hakkate oma olemasolevaid valemeid uuendama, oleks mõistlik mõista uue funktsiooni kõiki eeliseid ja seda, kuidas see erineb vanast funktsioonist.
Kokkuvõttes on XMATCH funktsioon sama, mis MATCH, kuid paindlikum ja töökindlam. See võib otsida nii vertikaalsetest kui ka horisontaalsetest massiividest, otsida esimesest viimaseni või viimasest esimeseni, leida täpseid, ligikaudseid ja osalisi vasteid ning kasutada kiiremat binaarset otsingualgoritmi.
Exceli XMATCH funktsioon
Exceli funktsioon XMATCH tagastab väärtuse suhtelise asukoha massiivi või lahtrite vahemiku sees.
Selle süntaks on järgmine:
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])Kus:
Lookup_value (nõutav) - väärtus, mida otsida.
Lookup_array (nõutav) - lahtrite massiivi või vahemikku, kust otsida.
Match_mode (valikuline) - määrab kindlaks, millist vastetüüpi kasutada:
- 0 või välja jäetud (vaikimisi) - täpne vaste
- -1 - täpne vaste või järgmine väikseim väärtus
- 1 - täpne vaste või järgmine suurim väärtus
- 2 - vabakaartide vaste (*, ?)
Search_mode (valikuline) - määrab otsingu suuna ja algoritmi:
- 1 või välja jäetud (vaikimisi) - otsing esimesest viimaseni.
- -1 - otsing vastupidises järjekorras viimasest esimesele.
- 2 - binaarne otsing tõusvas järjekorras. Nõuab lookup_array sorteerida kasvavas järjekorras.
- -2 - binaarne otsing kahanevas suunas. Nõuab lookup_array sorteerida kahanevas järjekorras.
Binaarne otsing on kiirem algoritm, mis töötab tõhusalt sorteeritud massiividel. Lisateavet leiate jaotisest Otsingurežiim.
Millises Exceli versioonis on XMATCH?
Funktsioon XMATCH on saadaval ainult Excel for Microsoft 365 ja Excel 2021. Excel 2019, Excel 2016 ja varasemad versioonid seda funktsiooni ei toeta.
XMATCHi põhivalem Excelis
Et saada üldine ettekujutus sellest, milleks funktsioon on võimeline, koostame XMATCH-vormeli selle lihtsaimal kujul, määratledes ainult kaks esimest nõutavat argumenti ja jättes valikulised argumendid vaikimisi.
Oletame, et teil on olemas ookeanide nimekiri, mis on järjestatud nende suuruse järgi (C2:C6) ja te soovite leida konkreetse ookeani koha. Selleks kasutage lihtsalt ookeani nime, näiteks India , kui otsinguväärtus ja kogu nimede nimekiri kui otsingumassiiv:
=XMATCH("India", C2:C6)
Valemi paindlikumaks muutmiseks sisestage huvipakkuv ookean mõnda lahtrisse, näiteks F1:
=XMATCH(F1, C2:C6)
Tulemusena saad XMATCH valemit otsida üles ühes vertikaalne massiivi Väljundiks on otsinguväärtuse suhteline positsioon massiivi sees, mis meie puhul vastab ookeani auastmele:
Sarnane valem töötab suurepäraselt horisontaalne massiivi ka. Kõik, mida on vaja teha, on reguleerida lookup_array viide:
=XMATCH(B5, B1:F1)
Exceli XMATCH funktsioon - asju, mida meeles pidada
XMATCHi tõhusaks kasutamiseks oma töölehtedel ja ootamatute tulemuste vältimiseks pidage meeles neid 3 lihtsat fakti:
- Kui otsinguväärtuse kaks või enam esinemist on otsingumassiivis, siis on positsiooni esimene mäng tagastatakse, kui search_mode argumendi väärtuseks on 1 või jäetakse välja. search_mode määratud -1, otsib funktsioon vastupidises järjekorras ja tagastab positsiooni viimane mäng nagu on näidatud selles näites.
- Kui otsinguväärtus ei ole leitud tekib #N/A viga.
- Funktsioon XMATCH on suur- ja väiketähelepanuta olemuselt ja ei suuda eristada tähtede suurust. Väikeste ja suurte tähtede eristamiseks kasutage seda suurustundlikku XMATCH-valemit.
Kuidas kasutada XMATCHi Excelis - valemite näited
Järgnevad näited aitavad teil paremini mõista XMATCH-funktsiooni ja selle praktilist kasutamist.
Täpne vaste vs. ligikaudne vaste
XMATCHi sobitamiskäitumist kontrollib valikuline parameeter match_mode argument:
- 0 või jäetakse välja (vaikimisi) - valem otsib ainult täpset vastet. Kui täpset vastet ei leita, tagastatakse #N/A viga.
- -1 - valemiga otsitakse kõigepealt täpset vastet ja seejärel järgmist väiksemat elementi.
- 1 - valemiga otsitakse kõigepealt täpne vaste ja seejärel järgmine suurem kirje.
Ja nüüd vaatame, kuidas erinevad sobitusviisid mõjutavad valemi tulemust. Oletame, et soovite teada saada, kus asub teatud ala, ütleme 80 000 000 km2 , kõigi ookeanide seas.
Täpne vaste
Kui te kasutate 0 jaoks match_mode , saate #N/A vea, sest valem ei leia täpselt otsinguväärtusega võrdset väärtust:
=XMATCH(80000000, C2:C6, 0)
Järgmine väikseim kirje
Kui kasutate -1 jaoks match_mode , annab valem tagasi 3, sest lähim kokkulangevus, mis on väiksem kui otsinguväärtus, on 70 560 000 ja see on otsingumassiivi kolmas element:
=XMATCH(80000000, C2:C6, -1)
Järgmine suurim kirje
Kui kasutate 1 jaoks match_mode , siis valem annab tulemuseks 2, sest lähim vastavus, mis on suurem kui otsinguväärtus, on 85 133 000, mis on otsingumassiivi 2. kirje:
=XMATCH(80000000, C2:C6, -1)
Allpool olev pilt näitab kõiki tulemusi:
Kuidas sobitada Excelis osalist teksti metsikutega
XMATCH-funktsioonil on eriline sobitusrežiim metsikutele: funktsioonil match_mode argumendi väärtuseks on 2.
XMATCH-vormel aktsepteerib vabakaardiga sobitamise režiimis järgmisi vabakaardimärke:
- Küsimärk (?), mis vastab mis tahes üksikule tähemärgile.
- tärn (*), et sobitada mis tahes tähemärkide jada.
Pidage meeles, et metsikud kaardid toimivad ainult teksti, mitte numbrite puhul.
Näiteks, et leida esimese elemendi asukoht, mis algab sõnaga "lõuna", on valem järgmine:
=XMATCH("south*", B2:B6, 2)
Või võite sisestada oma metsiku väljendi mõnda lahtrisse, näiteks F1, ja anda lahtriviide lahtrile lookup_value argument:
=XMATCH(F1, B2:B6, 2)
Enamiku Exceli funktsioonide puhul kasutate tiilti (~), et käsitleda tärni (~*) või küsimärki (~?) sõna-sõnaliste märkidena, mitte sümbolitena. XMATCHi puhul ei ole tiilti vaja. Kui te ei määratle sümbolitele vastamise režiimi, eeldab XMATCH, et ? ja * on tavalised märgid.
Näiteks alljärgnev valem otsib vahemikus A2:A7 täpselt tärnimärki:
=XMATCH("*", A2:A7)
XMATCH pöördotsing viimase vaste leidmiseks
Juhul kui otsinguväärtust esineb otsingumassiivis mitu korda, võib mõnikord olla vaja saada positsioonile viimane esinemine .
Otsingu suunda kontrollitakse XMATCHi 4. argumendiga nimega search_mode . otsimine vastupidises järjekorras, st vertikaalses massiivi puhul alt ülespoole ja horisontaalses massiivi puhul paremalt vasakule, search_mode peaks olema -1.
Selles näites tagastame konkreetse otsinguväärtuse viimase kirje positsiooni (vt allpool olevat ekraanipilti). Selleks seadistage argumendid järgmiselt:
- Lookup_value - sihtmüüja H1
- Lookup_array - müüjate nimed C2:C10
- Match_mode on 0 või puudub (täpne vaste)
- Search_mode on -1 (viimasest esimesena)
Kui need neli argumenti kokku panna, saame järgmise valemi:
=XMATCH(H1, C2:C10, 0, -1)
mis annab tagasi Laura viimase müügi numbri:
Kuidas võrrelda kahte veergu Excelis vaste jaoks
Kahe loendi võrdlemiseks kokkulangevuse leidmiseks saate kasutada funktsiooni XMATCH koos IF ja ISNA funktsiooniga:
IF( ISNA( XMATCH( target_list , search_list , 0))), "No match", "Match")Näiteks, et võrrelda B2:B10 loendi 2 ja A2:A10 loendi 1 vahel, on valem järgmine:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")
Selles näites tuvastame ainult vasteid, seega on value_if_true IF-funktsiooni argument on tühi string ("").
Sisestage ülaltoodud valem kõige ülemisse lahtrisse (meie puhul C2), vajutage Enter ja see "valgub" automaatselt teistesse lahtritesse (seda nimetatakse valemisvahemikuks):
Kuidas see valem töötab
Valemi keskmes otsib funktsioon XMATCH loendi 2 väärtust loendi 1 sees. Kui väärtus leitakse, tagastatakse selle suhteline asukoht, vastasel juhul antakse #N/A viga. Meie puhul on XMATCHi tulemus järgmine massiivi:
{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;#N/A;8;#N/A}
See massiivi "söödetakse" funktsioonile ISNA, et kontrollida #N/A vigu. Iga #N/A vea puhul tagastab ISNA TRUE; iga muu väärtuse puhul - FALSE. Tulemuseks on järgmine loogiliste väärtuste massiivi, kus TRUE tähistab mittevastavusi ja FALSE tähistab vasteid:
{TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE}
Ülaltoodud massiiv läheb IF-funktsiooni loogiliseks testiks. Sõltuvalt sellest, kuidas te konfigureerisite kaks viimast argumenti, väljastab valem vastava teksti. Meie puhul on see tühi string ("") mittevastavuste puhul ( value_if_true ) ja "Match in List 1" vastete puhul ( value_if_false ).
Märkus. See valem töötab ainult Excel 365 ja Excel 2021, mis toetavad dünaamilisi massiive. Kui kasutate Excel 2019, Excel 2016 või varasemat versiooni, vaadake teisi lahendusi: Kuidas võrrelda kahte veergu Excelis.
INDEX XMATCH Excelis
XMATCHi saab kasutada koos funktsiooniga INDEX, et saada väärtus teisest veerust, mis on seotud otsinguväärtusega, nagu ka valemiga INDEX MATCH. Üldine lähenemine on järgmine:
INDEX ( return _ massiivi , XMATCH ( lookup_value , lookup_array )Loogika on väga lihtne ja järgitav:
Funktsioon XMATCH arvutab otsinguväärtuse suhtelise positsiooni otsingumassiivis ja edastab selle funktsioonile row_num argument INDEX. Rea numbri põhjal tagastab funktsioon INDEX väärtuse mis tahes määratud veerust.
Näiteks, et otsida ookeani pindala E1, saate kasutada järgmist valemit:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH 2-dimensioonilise otsingu tegemiseks
Veergude ja ridade samaaegseks otsimiseks kasutage INDEX koos kahe XMATCH-funktsiooniga. Esimene XMATCH saab rea numbri ja teine veergude numbri:
INDEX ( andmed , XMATCH ( lookup_value , vertikaalne _ lookup_array ), XMATCH ( otsinguväärtus , horisontaalne _ lookup_array ))Valem on sarnane INDEX MATCH MATCH-ile, välja arvatud see, et te võite jätta ära sõna match_mode argumenti, kuna see on vaikimisi täpne kokkulangevus.
Näiteks, et saada antud artikli (G1) müüginumber konkreetsel kuul (G2), on valem järgmine:
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Kus B2:D8 on andmerakud, välja arvatud rea ja veeru päised, A2:A8 on elementide nimekiri ja B1:D1 on kuude nimed.
Suur- ja väiketähendusega XMATCH-valem
Nagu juba mainitud, on Exceli XMATCH funktsioon algselt suur- ja väiketähelepanuta. Et sundida seda eristama teksti suur- ja väiketähti, kasutage XMATCHi koos EXACT-funktsiooniga:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Et otsida vastupidine järjekord viimasest esimeseks:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)Järgnev näide näitab seda üldist valemit töös. Oletame, et teil on nimekiri suur- ja väiketunnustega toote id-dest B2:B11. Te otsite elemendi suhtelist asukohta E1. Suur- ja väiketunnustega valem E2 on nii lihtne:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Kuidas see valem töötab:
Funktsioon EXACT võrdleb otsinguväärtust iga elemendiga otsingumassiivis. Kui võrreldud väärtused on täpselt võrdsed, kaasa arvatud tähemärkide puhul, siis funktsioon tagastab TRUE, vastasel juhul FALSE. See loogiliste väärtuste massiivi (kus TRUE tähistab täpset kokkulangevust) läheb aadressile lookup_array argument XMATCH. Ja kuna otsinguväärtus on TRUE, siis XMATCH funktsioon tagastab esimese leitud täpse vaste või viimase täpse vaste positsiooni, sõltuvalt sellest, kuidas te konfigureerisite funktsiooni search_mode argument.
XMATCH vs. MATCH Excelis
XMATCH on loodud MATCHi võimsamaks ja mitmekülgsemaks asendajaks, mistõttu on neil kahel funktsioonil palju ühist. Siiski on ka olulisi erinevusi.
Erinevad vaikimisi käitumisviisid
Funktsioon MATCH valib vaikimisi täpse vaste või järgmise väikseima elemendi ( match_type seatud 1 või jäetud).
XMATCH-funktsioon on vaikimisi täpne vaste ( match_mode 0 või jäetakse välja).
Erinev käitumine ligikaudse vaste korral
Kui match_mode / match_type argumendi väärtuseks on 1:
- MATCH otsib täpset kokkulangevust või järgmist väikseimat. Nõuab, et otsingumassiivi sorteeritakse kasvavas järjekorras.
- XMATCH otsib täpset kokkulangevust või järgmist suurimat. Ei nõua sorteerimist.
Kui match_mode / match_type argumendi väärtuseks on -1:
- MATCH otsib täpset kokkulangevust või järgmist suurimat. Nõuab otsingumassiivi sorteerimist kahanevas järjekorras.
- XMATCH otsib täpset kokkulangevust või järgmist väikseimat. Ei nõua sorteerimist.
Wildcard otsing
XMATCHiga osaliste kokkulangevuste leidmiseks peate seadma parameetri match_mode argument 2.
Funktsioonil MATCH ei ole spetsiaalset valikuvõimalust metsiku vaste jaoks. Enamasti seadistate selle täpse vaste jaoks ( match_type seatud 0), mis töötab ka otsingute puhul.
Otsingurežiim
Sarnaselt uue XLOOKUP funktsiooniga on ka XMATCHil eriline search_mode argument, mis võimaldab teil määratleda otsingu suund :
- 1 või välja jäetud (vaikimisi) - otsing esimesest viimaseni.
- -1 - tagasipööratud otsing viimasest esimesena.
Ja valige binaarne otsingu algoritm , mis on väga kiire ja tõhus sorteeritud andmed .
- 2 - binaarne otsing järjestatud andmetel, mis on sorteeritud kasvavalt.
- -2 - binaarne otsing andmetel, mis on sorteeritud kahanevalt.
Binaarne otsing , mida nimetatakse ka poolintervalli otsing või logaritmiline otsing , on spetsiaalne algoritm, mis leiab otsinguväärtuse asukoha massiivi sees, võrreldes seda massiivi keskmise elemendiga. Binaarne otsing on palju kiirem kui tavaline otsing, kuid töötab korrektselt ainult sorteeritud loenditel. Sorteerimata andmete puhul võib see anda valesid tulemusi, mis võivad esmapilgul üsna normaalsed tunduda.
MATCHi süntaks ei näe üldse ette otsingurežiimi argumenti.
XMATCH käsitseb massiive algupäraselt
Erinevalt oma eelkäijast on XMATCH funktsioon loodud dünaamilise Exceli jaoks ja käsitleb algupäraselt massiive, ilma et peaksite vajutama Ctrl + Shift + Enter . See muudab valemite koostamise ja redigeerimise palju lihtsamaks, eriti kui kasutate mitut erinevat funktsiooni koos. Lihtsalt võrrelge järgmisi lahendusi:
- Suur- ja väiketähendusega valem: XMATCH
- Võrrelda kahte veergu või nimekirja kokkulangevuste leidmiseks: XMATCH
XMATCH ja MATCH kättesaadavus
XMATCH on uus funktsioon ja see on saadaval ainult Excel for Microsoft 365 ja Excel 2021.
Funktsioon MATCH on saadaval kõigis Excel 365 kuni Excel 2007 versioonides.
See on, kuidas kasutada XMATCH funktsiooni Excelis. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!
Praktiline töövihik allalaadimiseks
Exceli XMATCH valemite näited (.xlsx fail)