Excel MATCH-toiminto ja kaavaesimerkkejä

  • Jaa Tämä
Michael Brown

Tässä opetusohjelmassa selitetään, miten MATCH-toimintoa käytetään Excelissä kaavaesimerkkien avulla. Se osoittaa myös, miten voit parantaa hakukaavoja tekemällä dynaamisen kaavan VLOOKUPin ja MATCHin avulla.

Microsoft Excelissä on monia erilaisia haku-/viittausfunktioita, joiden avulla voit etsiä tietyn arvon solualueelta, ja MATCH on yksi niistä. Periaatteessa se määrittää kohteen suhteellisen sijainnin solualueella. MATCH-funktio voi kuitenkin tehdä paljon muutakin kuin pelkän olemuksensa.

    Excelin MATCH-funktio - syntaksi ja käyttötavat

    Excelin MATCH-funktio etsii määritettyä arvoa solualueelta ja palauttaa kyseisen arvon suhteellisen sijainnin.

    MATCH-funktion syntaksi on seuraava:

    MATCH(lookup_value, lookup_array, [match_type])

    Lookup_value (pakollinen) - arvo, jonka haluat löytää. Se voi olla numeerinen, teksti- tai looginen arvo sekä soluviite.

    Lookup_array (pakollinen) - solujen alue, josta haetaan.

    Match_type (valinnainen) - määrittelee vastaavuustyypin. Se voi olla jokin seuraavista arvoista: 1, 0, -1. Jos match_type-argumentin arvoksi on asetettu 0, se palauttaa vain tarkan vastaavuuden, kun taas kaksi muuta tyyppiä mahdollistavat likimääräisen vastaavuuden.

    • 1 tai jätetään pois (oletusarvo) - löytää tiedoston suurin arvo joka on pienempi tai yhtä suuri kuin hakuarvo. Edellyttää hakumassan lajittelua nousevassa järjestyksessä pienimmästä suurimpaan tai A:sta Z:hen.
    • 0 - etsi ensimmäinen arvo, joka on matriisin ensimmäinen arvo täsmälleen yhtä suuri hakuarvoon. Lajittelua ei tarvita.
    • -1 - löydä pienin arvo joka on suurempi tai yhtä suuri kuin hakuarvo. Hakumuistio on lajiteltava laskevaan järjestykseen suurimmasta pienimpään tai Z:stä A:han.

    Jotta ymmärtäisimme paremmin MATCH-funktiota, tehdään yksinkertainen kaava, joka perustuu näihin tietoihin: opiskelijoiden nimet sarakkeessa A ja heidän tenttipisteensä sarakkeessa B, lajiteltu suurimmasta pienimpään. Jos haluat selvittää, missä tietty opiskelija (esim, Laura ) muun muassa käyttää tätä yksinkertaista kaavaa:

    =MATCH("Laura", A2:A8, 0)

    Voit vaihtoehtoisesti sijoittaa hakuarvon johonkin soluun (tässä esimerkissä E1) ja viitata tähän soluun Excel Match -kaavassa:

    =MATCH(E1, A2:A8, 0)

    Kuten yllä olevasta kuvakaappauksesta näkyy, oppilaiden nimet on syötetty mielivaltaisessa järjestyksessä, ja siksi asetamme parametriksi match_type argumentin arvoksi 0 (tarkka vastaavuus), koska vain tämä vastaavuustyyppi ei vaadi arvojen lajittelua hakumassassa. Teknisesti ottaen Match-kaava palauttaa Lauran suhteellisen sijainnin alueella. Mutta koska pisteet on lajiteltu suurimmasta pienimpään, se kertoo myös, että Lauralla on kaikista opiskelijoista viidenneksi paras pistemäärä.

    Vihje. Excel 365:ssä ja Excel 2021:ssä voit käyttää XMATCH-funktiota, joka on MATCHin moderni ja tehokkaampi seuraaja.

    4 asiaa, jotka sinun tulisi tietää MATCH-funktiosta

    Kuten olet juuri nähnyt, MATCHin käyttäminen Excelissä on helppoa. Kuten lähes kaikkien muidenkin funktioiden kohdalla, on kuitenkin olemassa muutamia erityispiirteitä, jotka sinun on syytä huomioida:

    1. MATCH-funktio palauttaa suhteellinen asema hakuarvosta, ei itse arvosta.
    2. MATCH on case-insensitive , eli se ei tee eroa isojen ja pienten kirjainten välillä tekstiarvoja käsitellessään.
    3. Jos etsintämatriisi sisältää useita etsintäarvon esiintymiä, palautetaan ensimmäisen arvon sijainti.
    4. Jos hakuarvoa ei löydy hakumassasta, palautetaan virhe #N/A.

    Miten MATCHia käytetään Excelissä - kaavaesimerkkejä

    Nyt kun tunnet Excelin MATCH-funktion peruskäytöt, käsitellään vielä muutama kaavaesimerkki, jotka menevät perusasioita pidemmälle.

    Osittainen vastaavuus jokerimerkkien kanssa

    Kuten monet muutkin funktiot, MATCH ymmärtää seuraavat jokerimerkit:

    • Kysymysmerkki (?) - korvaa minkä tahansa yksittäisen merkin.
    • Tähti (*) - korvaa minkä tahansa merkkijonon.

    Huomaa. Jokerimerkkejä voidaan käyttää vain Match-kaavoissa, joissa on seuraavat ominaisuudet match_type asetettu 0:ksi.

    Jokerimerkkejä sisältävä ottelukaava on hyödyllinen tilanteissa, joissa et halua etsiä koko merkkijonoa vaan vain joitakin merkkejä tai joitakin osia merkkijonosta. Havainnollistetaan asiaa seuraavalla esimerkillä.

    Oletetaan, että sinulla on luettelo alueellisista jälleenmyyjistä ja heidän myyntiluvuistaan viimeisen kuukauden ajalta. Haluat löytää tietyn jälleenmyyjän suhteellisen aseman luettelossa (lajiteltuna myyntimäärien mukaan laskevaan järjestykseen), mutta et muista hänen nimeään tarkalleen, vaikka muistatkin muutaman alkumerkin.

    Jos oletetaan, että jälleenmyyjien nimet ovat alueella A2:A11 ja etsit nimeä, joka alkaa sanalla "car", kaava on seuraava:

    =MATCH("auto*", A2:A11,0)

    Jotta Match-kaavasta tulisi monipuolisempi, voit kirjoittaa hakuarvon johonkin soluun (tässä esimerkissä E1) ja yhdistää solun jokerimerkin kanssa seuraavasti:

    =MATCH(E1& "*", A2:A11,0)

    Kuten alla olevassa kuvakaappauksessa näkyy, kaava palauttaa arvon 2, joka on "Carterin" sijainti:

    Jos haluat korvata vain yhden merkin hakuarvossa, käytä "?"-kenttäoperaattoria seuraavasti:

    =MATCH("ba?er", A2:A11,0)

    Yllä oleva kaava vastaa nimeä " Baker " ja suorittaa uudelleen sen suhteellisen sijainnin, joka on 5.

    Case-sensitive MATCH-kaava

    Kuten tämän ohjeen alussa mainittiin, MATCH-toiminto ei erota isoja ja pieniä kirjaimia. Jos haluat tehdä isojen ja pienten kirjainten suhteen riippumattoman Match-kaavan, käytä MATCH-toimintoa yhdessä EXACT-toiminnon kanssa, joka vertaa soluja täsmälleen, mukaan lukien kirjainten isot ja pienet kirjaimet.

    Tässä on yleinen isojen ja pienten kirjainten välinen kaava, joka vastaa tietoja:

    MATCH(TRUE, EXACT( hakumuotoilu , hakuarvo ), 0)

    Kaava toimii seuraavalla logiikalla:

    • EXACT-funktio vertaa hakuarvoa hakumassan jokaiseen elementtiin. Jos vertailtavat solut ovat täsmälleen samat, funktio palauttaa arvon TRUE, muuten FALSE.
    • Ja sitten MATCH-funktio vertaa TRUE (joka on sen oma lookup_value ) jokaisen EXACTin palauttaman matriisin arvon kanssa ja palauttaa ensimmäisen osuman sijainnin.

    Muista, että kyseessä on matriisikaava, joka vaatii Ctrl + Shift + Enter -näppäinten painamisen, jotta se saadaan suoritettua oikein.

    Jos oletetaan, että hakuarvo on solussa E1 ja hakurivistö on A2:A9, kaava on seuraava:

    =MATCH(TRUE, EXACT(A2:A9,E1),0)

    Seuraavassa kuvakaappauksessa näkyy Excelin Match-kaava, jossa on tapauskohtainen erittely:

    Vertaa 2 saraketta vastaavuuksien ja erojen löytämiseksi (ISNA MATCH).

    Kahden luettelon tarkistaminen vastaavuuksien ja erojen varalta on yksi Excelin yleisimmistä tehtävistä, ja se voidaan tehdä monin eri tavoin. ISNA/MATCH-kaava on yksi niistä:

    IF(ISNA(MATCH( List1:n 1. arvo , Luettelo2 , 0))), "Ei luettelossa 1", "")

    Jos luettelossa 2 on jokin arvo, jota ei ole luettelossa 1, kaava antaa tulokseksi "". Ei luettelossa 1 ". Ja näin se tapahtuu:

    • MATCH-funktio etsii listan 1 arvoa listasta 2. Jos arvo löytyy, se palauttaa sen suhteellisen sijainnin, muutoin #N/A virhe.
    • Excelin ISNA-funktio tekee vain yhden asian - se tarkistaa #N/A-virheet (eli "ei saatavilla"). Jos annettu arvo on #N/A-virhe, funktio palauttaa arvon TRUE, muutoin FALSE. Tapauksessamme TRUE tarkoittaa, että luettelon 1 arvoa ei löydy luettelosta 2 (eli MATCH palauttaa #N/A-virheen).
    • Koska käyttäjille voi olla hyvin hämmentävää nähdä TRUE sellaisten arvojen kohdalla, jotka eivät näy luettelossa 1, kietaise IF-funktio ISNA:n ympärille ja näytä " Ei luettelossa 1 ", tai mitä tahansa tekstiä haluat.

    Jos esimerkiksi haluat verrata sarakkeen B arvoja sarakkeen A arvoihin, kaava on seuraavanlainen (jossa B2 on ylimpänä oleva solu):

    =IF(ISNA(MATCH(B2,A:A,0)), "Ei luettelossa 1", "")

    Kuten muistat, Excelin MATCH-funktio ei itsessään huomioi kirjainmerkkejä. Jotta se erottaisi merkkien kirjainmerkit toisistaan, upota EXACT-funktio Excelin lookup_array argumentti, ja muista painaa Ctrl + Shift + Enter, jotta saat tämän loppuun. sarjakaava :

    =IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Ei luettelossa 1", "")

    Seuraava kuvakaappaus näyttää molemmat kaavat toiminnassa:

    Jos haluat oppia muita tapoja vertailla kahta luetteloa Excelissä, katso seuraava opetusohjelma: Miten vertailla 2 saraketta Excelissä.

    Excel VLOOKUP ja MATCH

    Tässä esimerkissä oletetaan, että sinulla on jo perustiedot Excelin VLOOKUP-toiminnosta. Ja jos sinulla on, on todennäköistä, että olet törmännyt sen lukuisiin rajoituksiin (yksityiskohtainen yleiskatsaus niistä löytyy kohdasta Miksi Excelin VLOOKUP ei toimi) ja etsit vankempaa vaihtoehtoa.

    Yksi VLOOKUPin ärsyttävimmistä haittapuolista on se, että se lakkaa toimimasta, kun hakutaulukon saraketta on lisätty tai poistettu. Tämä tapahtuu, koska VLOOKUP vetää vastaavan arvon määrittelemäsi paluusarakkeen numeron (indeksinumeron) perusteella. Koska indeksinumero on "kovakoodattu" kaavaan, Excel ei pysty mukauttamaan sitä, kun taulukkoon lisätään tai siitä poistetaan uusi sarake tai sarakkeita.

    Excelin MATCH-funktio käsittelee suhteellinen asema hakuarvosta, mikä tekee siitä täydellisesti sopivan sovelluksen col_index_num Toisin sanoen sen sijaan, että määrittäisit paluusarakkeen staattisena numerona, käytät MATCHia saadaksesi kyseisen sarakkeen nykyisen sijainnin.

    Jotta asiat olisivat helpommin ymmärrettävissä, käytetään jälleen taulukkoa, jossa on opiskelijoiden tenttipisteet (samanlainen kuin tämän ohjeen alussa käytetty taulukko), mutta tällä kertaa haemme todellisen pistemäärän emmekä sen suhteellista sijaintia.

    Oletetaan, että hakuarvo on solussa F1, taulukkomääritys on $A$1:$C$2 (on hyvä käytäntö lukita se absoluuttisilla soluviittauksilla, jos aiot kopioida kaavan muihin soluihin), ja kaava menee seuraavasti:

    =VLOOKUP(F1, $A$1:$C$8, 3, FALSE)

    Kolmas argumentti ( col_index_num ) asetetaan arvoon 3, koska Matematiikan pisteet jonka haluamme vetää, on taulukon 3. sarake. Kuten alla olevasta kuvakaappauksesta näet, tämä tavallinen Vlookup-kaava toimii hyvin:

    Mutta vain siihen asti, kunnes lisäät tai poistat sarakkeen (sarakkeet):

    Miksi siis #REF! -virhe? Koska col_index_num arvoksi 3 käskee Exceliä hakemaan arvon kolmannesta sarakkeesta, vaikka taulukkomassassa on nyt vain kaksi saraketta.

    Voit estää tällaiset tapahtumat tekemällä Vlookup-kaavasta dynaamisemman sisällyttämällä siihen seuraavan Match-toiminnon:

    MATCH(E2,A1:C1,0)

    Missä:

    • E2 on hakuarvo, joka on seuraavanlainen täsmälleen yhtä suuri paluusarakkeen nimeen, eli siihen sarakkeeseen, josta haluat ottaa arvon ( Matematiikan pisteet tässä esimerkissä).
    • A1:C1 on taulukkootsikot sisältävä hakumuotoinen joukko.

    Sisällytä nyt tämä Match-funktio col_index_num argumentti Vlookup-kaavassasi, esimerkiksi näin:

    =VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)

    Ja varmista, että se toimii moitteettomasti riippumatta siitä, kuinka monta saraketta lisäät tai poistat:

    Yllä olevassa kuvakaappauksessa lukitsin kaikki soluviittaukset, jotta kaava toimisi oikein, vaikka käyttäjät siirtäisivät sen toiseen paikkaan laskentataulukossa. Kuten alla olevasta kuvakaappauksesta näet, kaava toimii hienosti sarakkeen poistamisen jälkeen; lisäksi Excel on tarpeeksi fiksu säätämään absoluuttiset viittaukset oikein tässä tapauksessa:

    Excel HLOOKUP ja MATCH

    Vastaavalla tavalla voit käyttää Excelin MATCH-funktiota HLOOKUP-kaavojen parantamiseen. Yleinen periaate on periaatteessa sama kuin Vlookupin tapauksessa: käytät Match-funktiota saadaksesi palautussarakkeen suhteellisen sijainnin ja annat tämän luvun Vlookupin funktiolle. row_index_num argumentti Hlookup-kaavassasi.

    Jos oletetaan, että hakuarvo on solussa B5, taulukkomalli on B1:H3, paluurivin nimi (hakuarvo MATCH:lle) on solussa A6 ja rivien otsikot ovat A1:A3, täydellinen kaava on seuraava:

    =HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)

    Kuten olet juuri nähnyt, Hlookup/Vlookup & Match -yhdistelmä on varmasti parannus tavallisiin Hlookup- ja Vlookup-kaavoihin verrattuna. MATCH-toiminto ei kuitenkaan poista kaikkia niiden rajoituksia. Erityisesti Vlookup Match -kaava ei voi edelleenkään katsoa vasemmalle puolelleen, eikä Hlookup Match -kaava pysty etsimään muulta kuin ylimmältä riviltä.

    Voit voittaa edellä mainitut (ja muutamat muut) rajoitukset harkitsemalla INDEX MATCH -yhdistelmän käyttöä, joka tarjoaa todella tehokkaan ja monipuolisen tavan tehdä hakuja Excelissä, joka on monessa suhteessa parempi kuin Vlookup ja Hlookup. Yksityiskohtaiset ohjeet ja kaavaesimerkit löytyvät osoitteesta INDEX & MATCH in Excel - parempi vaihtoehto VLOOKUPille.

    Näin käytät MATCH-kaavoja Excelissä. Toivottavasti tässä oppaassa käsitellyistä esimerkeistä on apua työssäsi. Kiitän sinua lukemisesta ja toivon, että tapaamme blogissamme ensi viikolla!

    Käytännön työkirja ladattavissa

    Esimerkkejä Excel MATCH-kaavoista (.xlsx-tiedosto)

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.