Sisällysluettelo
Ohjeessa esitellään Excelin uusi XMATCH-funktio ja osoitetaan, miten se on parempi kuin MATCH muutaman yleisen tehtävän ratkaisemisessa.
Excel 365:een lisättiin XMATCH-toiminto, joka korvaa MATCH-toiminnon. Ennen kuin alat päivittää nykyisiä kaavoja, olisi kuitenkin viisasta ymmärtää kaikki uuden toiminnon edut ja sen erot vanhaan verrattuna.
Yhteenvetona voidaan todeta, että XMATCH-funktio on sama kuin MATCH, mutta se on joustavampi ja vankempi. Se voi etsiä sekä pysty- että vaakasuuntaisista matriiseista, etsiä ensimmäisestä viimeiseen tai viimeisestä ensimmäiseen, löytää tarkkoja, likimääräisiä ja osittaisia vastaavuuksia ja käyttää nopeampaa binäärihakualgoritmia.
Excel XMATCH-toiminto
Excelin XMATCH-funktio palauttaa arvon suhteellisen sijainnin matriisissa tai solualueella.
Sen syntaksi on seuraava:
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])Missä:
Lookup_value (pakollinen) - arvo, jota etsitään.
Lookup_array (pakollinen) - joukko tai solualue, josta haetaan.
Match_mode (valinnainen) - määrittää käytettävän ottelutyypin:
- 0 tai jätetään pois (oletusarvo) - täsmällinen vastaavuus.
- -1 - täsmällinen vastaavuus tai seuraavaksi pienin arvo.
- 1 - täsmällinen vastaavuus tai seuraavaksi suurin arvo
- 2 - jokerimerkkikohtaus (*, ?)
Haku_tila (valinnainen) - määrittää hakusuunnan ja algoritmin:
- 1 tai jätetään pois (oletus) - haku ensimmäisestä viimeiseen.
- -1 - haku käänteisessä järjestyksessä viimeisestä ensimmäiseen.
- 2 - binäärihaku nouseva. Vaatii lookup_array lajitellaan nousevaan järjestykseen.
- -2 - binäärihaku laskeva. Vaatii lookup_array lajitellaan alenevaan järjestykseen.
Binäärihaku on nopeampi algoritmi, joka toimii tehokkaasti lajitelluilla matriiseilla. Lisätietoja on kohdassa Hakutila.
Missä Excel-versiossa on XMATCH?
XMATCH-toiminto on käytettävissä vain Excel for Microsoft 365:ssä ja Excel 2021:ssä. Excel 2019:ssä, Excel 2016:ssa ja aiemmissa versioissa tätä toimintoa ei tueta.
XMATCH-peruskaava Excelissä
Jotta saamme yleiskuvan siitä, mihin funktio pystyy, rakennetaan XMATCH-kaava sen yksinkertaisimmassa muodossa, määrittelemällä vain kaksi ensimmäistä vaadittua argumenttia ja jättämällä valinnaiset argumentit oletusarvoihinsa.
Oletetaan, että sinulla on luettelo valtameristä, jotka on järjestetty niiden koon mukaan (C2:C6), ja haluat löytää tietyn valtameren sijan. Voit tehdä sen yksinkertaisesti käyttämällä valtameren nimeä, vaikkapa seuraavasti Intialainen , hakuarvona ja koko nimiluettelo hakumassana:
=XMATCH("Intialainen", C2:C6)
Voit tehdä kaavasta joustavamman syöttämällä kiinnostavan valtameren johonkin soluun, esimerkiksi F1:
=XMATCH(F1, C2:C6)
Tuloksena saat XMATCH-kaavan, jota voit etsiä XMATCH-kaavasta. pystysuora sarja Tuloksena on hakuarvon suhteellinen sijainti matriisissa, joka tässä tapauksessa vastaa valtameren arvoa:
Samanlainen kaava toimii täydellisesti horisontaalinen sarja Myös. Sinun tarvitsee vain säätää lookup_array viite:
=XMATCH(B5, B1:F1)
Excel XMATCH-toiminto - muistettavat asiat
Jotta voit käyttää XMATCH:ia tehokkaasti laskentataulukoissasi ja välttää odottamattomia tuloksia, muista nämä kolme yksinkertaista asiaa:
- Jos hakuarvon esiintymiä on kaksi tai useampia hakumassassa, hakumassan sijainti ensimmäinen ottelu palautetaan, jos search_mode argumentin arvoksi on asetettu 1 tai se on jätetty pois. Kun argumentti search_mode arvoksi -1, funktio tekee haun käänteisessä järjestyksessä ja palauttaa sijainnin, jossa viimeinen ottelu kuten tässä esimerkissä osoitetaan.
- Jos hakuarvo ei löydy , tapahtuu #N/A-virhe.
- XMATCH-toiminto on case-insensitive Jos haluat erottaa pienet ja isot kirjaimet toisistaan, käytä tätä isojen ja pienten kirjainten suhteen erillistä XMATCH-kaavaa.
XMATCHin käyttö Excelissä - kaavaesimerkkejä
Seuraavat esimerkit auttavat sinua ymmärtämään paremmin XMATCH-funktiota ja sen käytännön käyttöä.
Tarkka vastaavuus vs. likimääräinen vastaavuus
XMATCH:n vastaavuuskäyttäytymistä ohjataan valinnaisella parametrilla match_mode argumentti:
- 0 tai jätetään pois (oletusarvo) - kaava etsii vain täsmällistä vastaavuutta. Jos täsmällistä vastaavuutta ei löydy, palautetaan virhe #N/A.
- -1 - kaava etsii ensin tarkan vastaavuuden ja sitten seuraavaksi pienemmän kohteen.
- 1 - kaava etsii ensin tarkan vastaavuuden ja sitten seuraavaksi suuremman kohteen.
Katsotaanpa nyt, miten eri ottelutavat vaikuttavat kaavan tulokseen. Oletetaan, että haluat selvittää, missä tietty alue, vaikkapa 80 000 000 km2, sijaitsee kaikkien valtamerten joukossa.
Tarkka vastaavuus
Jos käytät 0:aa match_mode , saat #N/A-virheen, koska kaava ei löydä arvoa, joka on täsmälleen sama kuin hakuarvo:
=XMATCH(80000000, C2:C6, 0)
Seuraava pienin erä
Jos käytät -1:tä match_mode , kaava palauttaa arvon 3, koska lähin vastaavuus, joka on pienempi kuin hakuarvo, on 70 560 000, ja se on hakumassan kolmas kohde:
=XMATCH(80000000, C2:C6, -1)
Seuraava suurin erä
Jos käytät 1:tä match_mode , kaava antaa tulokseksi 2, koska lähin vastaavuus, joka on suurempi kuin hakuarvo, on 85 133 000, joka on hakumassan toinen kohde:
=XMATCH(80000000, C2:C6, -1)
Alla olevassa kuvassa näkyvät kaikki tulokset:
Miten osittainen teksti sovitetaan Excelissä jokerimerkkien avulla?
XMATCH-funktiossa on erityinen täsmäämistila jokerimerkkejä varten: XMATCH-funktio match_mode argumentin arvoksi on asetettu 2.
Jokerimerkkitapauksessa XMATCH-kaava hyväksyy seuraavat jokerimerkit:
- Kysymysmerkki (?) vastaa mitä tahansa yksittäistä merkkiä.
- Tähti (*), joka vastaa mitä tahansa merkkijonoa.
Muista, että jokerimerkit toimivat vain tekstin, eivät numeroiden kanssa.
Esimerkiksi ensimmäisen "etelään" alkavan kohteen sijainnin löytämiseksi kaava on seuraava:
=XMATCH("south*", B2:B6, 2)
Tai voit kirjoittaa jokerimerkkilausekkeen johonkin soluun, vaikkapa F1, ja antaa soluviitteen soluviitteelle lookup_value argumentti:
=XMATCH(F1, B2:B6, 2)
Useimmissa Excelin funktioissa käytät tildeä (~) kohdellaksesi tähteä (~*) tai kysymysmerkkiä (~?) kirjaimellisina merkkeinä, ei jokerimerkkeinä. XMATCHissa tildeä ei tarvita. Jos et määritä jokerimerkkien vastaavuustilaa, XMATCH olettaa, että ? ja * ovat tavallisia merkkejä.
Esimerkiksi alla oleva kaava etsii alueelta A2:A7 täsmälleen tähti-merkin:
=XMATCH("*", A2:A7)
XMATCH käänteinen haku viimeisen vastaavuuden löytämiseksi
Jos hakuarvoa esiintyy hakumassassa useita kertoja, saatat joskus joutua hakemaan hakuarvon sijainnin. viimeinen esiintyminen .
Hakusuuntaa ohjataan XMATCH:n 4. argumentilla nimeltä search_mode Haku käänteisessä järjestyksessä, eli alhaalta ylöspäin pystysuorassa joukossa ja oikealta vasemmalle vaakasuorassa joukossa, search_mode tulisi asettaa arvoksi -1.
Tässä esimerkissä palautamme tietyn hakuarvon viimeisen tietueen sijainnin (katso alla oleva kuvakaappaus). Määritä argumentit seuraavasti:
- Lookup_value - kohdemyyjä H1:ssä
- Lookup_array - myyjien nimet kohdissa C2:C10
- Match_mode on 0 tai jätetty pois (tarkka vastaavuus)
- Haku_tila on -1 (viimeisestä ensimmäiseen)
Kun nämä neljä argumenttia yhdistetään, saadaan tämä kaava:
=XMATCH(H1, C2:C10, 0, -1)
Joka palauttaa Lauran viimeksi tekemän myynnin numeron:
Kuinka verrata kahta saraketta Excelissä ottelua varten
Voit vertailla kahta luetteloa vastaavuuksien löytämiseksi käyttämällä XMATCH-toimintoa yhdessä IF- ja ISNA-toimintojen kanssa:
IF( ISNA( XMATCH( target_list , search_list , 0))), "No match", "Match")Jos esimerkiksi haluat verrata luetteloa 2 kohdassa B2:B10 luetteloon 1 kohdassa A2:A10, kaava on seuraavanlainen:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")
Tässä esimerkissä tunnistamme vain osumia, joten tulostin value_if_true IF-funktion argumentti on tyhjä merkkijono ("").
Kirjoita yllä oleva kaava ylimpään soluun (tässä tapauksessa C2), paina Enter-näppäintä ja se "valuu" automaattisesti muihin soluihin (sitä kutsutaan valuma-alueeksi):
Miten tämä kaava toimii
Kaavan ytimessä XMATCH-funktio etsii listan 2 arvoa listasta 1. Jos arvo löytyy, sen suhteellinen sijainti palautetaan, muutoin annetaan virhe #N/A. Tapauksessamme XMATCH-funktion tulos on seuraava joukko:
{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}
Tämä joukko "syötetään" ISNA-funktiolle, joka tarkastaa, onko siinä #N/A-virheitä. Jokaisesta #N/A-virheestä ISNA palauttaa arvon TRUE ja kaikista muista arvoista arvon FALSE. Tuloksena se tuottaa seuraavan loogisten arvojen joukon, jossa TRUE-arvot edustavat ei-täsmäyksiä ja FALSE-arvot täsmääviä arvoja:
{TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE}
Yllä oleva joukko menee IF-funktion loogiseen testiin. Riippuen siitä, miten olet määrittänyt kaksi viimeistä argumenttia, kaava tulostaa vastaavan tekstin. Meidän tapauksessamme se on tyhjä merkkijono (""), kun kyseessä on ei-täsmäys ( value_if_true ) ja "Match in List 1" otteluille ( value_if_false ).
Huomautus: Tämä kaava toimii vain Excel 365:ssä ja Excel 2021:ssä, jotka tukevat dynaamisia matriiseja. Jos käytät Excel 2019:ää, Excel 2016:ta tai aiempaa versiota, tutustu muihin ratkaisuihin: Kahden sarakkeen vertailu Excelissä.
INDEX XMATCH Excelissä
XMATCHia voidaan käyttää yhdessä INDEX-funktion kanssa hakemaan arvoa toisesta sarakkeesta, joka liittyy hakuarvoon, aivan kuten INDEX MATCH-kaavalla. Yleinen lähestymistapa on seuraava:
INDEX ( return _ array , XMATCH ( lookup_value , lookup_array )Logiikka on hyvin suoraviivainen ja helppo seurata:
XMATCH-funktio laskee hakuarvon suhteellisen sijainnin hakumassassa ja välittää sen funktiolle XMATCH. row_num INDEX-funktio palauttaa rivinumeron perusteella arvon mistä tahansa määrittämästäsi sarakkeesta.
Voit esimerkiksi etsiä meren pinta-alan E1:ssä käyttämällä tätä kaavaa:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH 2-dimentaalisen haun suorittamiseksi.
Jos haluat etsiä sarakkeista ja riveistä samanaikaisesti, käytä INDEXiä yhdessä kahden XMATCH-funktion kanssa. Ensimmäinen XMATCH saa rivin numeron ja toinen sarakkeen numeron:
INDEX ( tiedot , XMATCH ( lookup_value , pystysuora _ lookup_array ), XMATCH ( hakuarvo , vaakasuora _ lookup_array ))Kaava on samanlainen kuin INDEX MATCH MATCH, paitsi että voit jättää välimerkin match_mode argumentti, koska sen oletusarvo on tarkka vastaavuus.
Jos esimerkiksi haluat hakea tietyn tuotteen (G1) myyntiluvun tiettynä kuukautena (G2), kaava on seuraava:
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Jossa B2:D8 ovat tietosoluja lukuun ottamatta rivien ja sarakkeiden otsikoita, A2:A8 on luettelo nimikkeistä ja B1:D1 ovat kuukausien nimiä.
Case-sensitive XMATCH-kaava
Kuten jo mainittiin, Excelin XMATCH-toiminto on lähtökohtaisesti isojen ja pienten kirjainten välinen ero ei ole käytössä. Jos haluat pakottaa sen erottamaan tekstin isot ja pienet kirjaimet, käytä XMATCH-toimintoa yhdessä EXACT-toiminnon kanssa:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Hae osoitteessa käänteinen järjestys viimeisestä ensimmäiseen:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)Seuraava esimerkki näyttää tämän yleisen kaavan toiminnassa. Oletetaan, että sinulla on luettelo suur- ja pienaakkoset huomioivista tuotetunnuksista B2:B11. Haluat löytää kohteen suhteellisen sijainnin E1:ssä. Suur- ja pienaakkoset huomioiva kaava E2:ssa on yhtä yksinkertainen kuin tämä:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Miten tämä kaava toimii:
EXACT-funktio vertaa hakuarvoa hakumassan jokaiseen kohteeseen. Jos vertaillut arvot ovat täsmälleen samat, mukaan lukien merkkien tapaus, funktio palauttaa arvon TRUE, muutoin FALSE. Tämä loogisten arvojen joukko (jossa TRUE:t edustavat täsmällisiä vastaavuuksia) menee tiedostoon lookup_array Ja koska hakuarvo on TRUE, XMATCH-funktio palauttaa ensimmäisen löydetyn täsmällisen vastaavuuden tai viimeisen täsmällisen vastaavuuden sijainnin riippuen siitä, miten olet määrittänyt XMATCH-funktio search_mode argumentti.
XMATCH vs. MATCH Excelissä
XMATCH on suunniteltu tehokkaammaksi ja monipuolisemmaksi MATCHin korvaajaksi, joten näillä kahdella toiminnolla on paljon yhteistä. Niissä on kuitenkin olennaisia eroja.
Erilainen oletuskäyttäytyminen
MATCH-toiminnon oletusarvo on tarkka vastaavuus tai seuraavaksi pienin kohde ( match_type asetettu arvoon 1 tai jätetty pois).
XMATCH-funktion oletusarvo on tarkka vastaavuus ( match_mode asetettu 0:ksi tai jätetty pois).
Erilainen käyttäytyminen likimääräisen ottelun yhteydessä
Kun match_mode / match_type argumentin arvoksi asetetaan 1:
- MATCH etsii täsmällistä vastaavuutta tai seuraavaksi pienintä. Vaatii, että hakumuoto on lajiteltu nousevaan järjestykseen.
- XMATCH etsii täsmälleen vastaavaa tai seuraavaksi suurinta hakua. Ei vaadi lajittelua.
Kun match_mode / match_type argumentin arvoksi asetetaan -1:
- MATCH etsii tarkkaa vastaavuutta tai seuraavaksi suurinta vastaavuutta. Vaatii hakumassan lajittelun alenevaan järjestykseen.
- XMATCH etsii täsmälleen vastaavaa tai seuraavaksi pienintä. Ei vaadi lajittelua.
Jokerimerkkihaku
Jos haluat löytää osittaisia osumia XMATCH:lla, sinun on asetettava asetukset match_mode argumentti 2:een.
MATCH-toiminnolla ei ole erityistä jokerimerkkitoimintoa. Useimmissa tapauksissa määrität sen täsmälliseen vastaavuuteen ( match_type arvoksi 0), mikä toimii myös jokerimerkkihauissa.
Hakutila
Kuten uudella XLOOKUP-funktiolla, myös XMATCH-funktiolla on erityinen XLOOKUP-funktio. search_mode argumentti, jonka avulla voit määritellä hakusuunta :
- 1 tai jätetään pois (oletus) - haku ensimmäisestä viimeiseen.
- -1 - käänteinen haku viimeisestä ensimmäiseen.
Ja valitse binäärihakualgoritmi , joka on erittäin nopea ja tehokas lajitellut tiedot .
- 2 - binäärihaku aineistosta, joka on lajiteltu nousevaan järjestykseen.
- -2 - binäärihaku alenevasti lajitelluista tiedoista.
Binäärihaku , jota kutsutaan myös nimellä puolivälihaku tai logaritminen haku , on erityinen algoritmi, joka löytää hakuarvon sijainnin joukossa vertaamalla sitä joukon keskimmäiseen elementtiin. Binäärihaku on paljon nopeampi kuin tavallinen haku, mutta se toimii oikein vain lajitelluilla listoilla. Lajittelemattomilla tiedoilla se voi palauttaa vääriä tuloksia, jotka saattavat ensi näkemältä näyttää melko normaaleilta.
MATCHin syntaksi ei sisällä lainkaan hakutila-argumenttia.
XMATCH käsittelee matriiseja natiivisti
Toisin kuin edeltäjänsä, XMATCH-funktio on suunniteltu dynaamista Exceliä varten, ja se käsittelee matriiseja natiivisti ilman, että sinun tarvitsee painaa Ctrl + Shift + Enter . Tämä helpottaa kaavojen rakentamista ja muokkaamista huomattavasti, erityisesti silloin, kun käytät useita eri funktioita yhdessä. Vertaa vain seuraavia ratkaisuja:
- Isojen ja pienten kirjainten kaava: XMATCH
- Vertaa kahta saraketta tai luetteloa vastaavuuksien löytämiseksi: XMATCH
XMATCH ja MATCH saatavuus
XMATCH on uusi toiminto, ja se on käytettävissä vain Excel for Microsoft 365:ssä ja Excel 2021:ssä.
MATCH-toiminto on käytettävissä missä tahansa Excel 365 -versiossa Excel 2007 -versiosta alkaen.
Näin käytät XMATCH-funktiota Excelissä. Kiitän sinua lukemisesta ja toivon, että tapaamme blogissamme ensi viikolla!
Käytännön työkirja ladattavissa
Excel XMATCH -kaavojen esimerkit (.xlsx-tiedosto)