Sisällysluettelo
Viime artikkeleissa olemme käsitelleet erilaisia Teksti-funktioita - funktioita, joita käytetään tekstijonojen käsittelyyn. Tänään keskitymme RIGHT-funktioon, joka on suunniteltu palauttamaan tietty määrä merkkejä merkkijonon oikeanpuoleisimmasta reunasta. Kuten muutkin Excelin Teksti-funktiot, RIGHT on hyvin yksinkertainen ja suoraviivainen, mutta sillä on kuitenkin muutama ilmeinen käyttötarkoitus, jotka voivat osoittautua hyödyllisiksi seuraavissa tapauksissa.työsi.
Excelin RIGHT-funktion syntaksi
Excelin RIGHT-funktio palauttaa määritetyn merkkimäärän merkkijonon lopusta.
RIGHT-funktion syntaksi on seuraava:
RIGHT(teksti, [num_chars])Missä:
- Teksti (pakollinen) - tekstijono, josta haluat poimia merkkejä.
- Num_chars (valinnainen) - poimittavien merkkien määrä alkaen oikeanpuoleisimmasta merkistä.
- Jos num_chars jätetään pois, merkkijonon 1 viimeinen merkki palautetaan (oletusarvo).
- Jos num_chars on suurempi kuin merkkijonon merkkien kokonaismäärä, kaikki merkit palautetaan.
- Jos num_chars on negatiivinen luku, Oikea kaava palauttaa #VALUE! -virheen.
Jos haluat esimerkiksi poimia 3 viimeistä merkkiä solussa A2 olevasta merkkijonosta, käytä tätä kaavaa:
=RIGHT(A2, 3)
Tulos voi näyttää jotakuinkin tältä:
Tärkeä huomautus! Excelin RIGHT-funktio palauttaa aina arvon teksti merkkijono , vaikka alkuperäinen arvo olisi numero. Jos haluat pakottaa Right-kaavan antamaan numeron, käytä sitä yhdessä VALUE-funktion kanssa, kuten tässä esimerkissä näytetään.
Kuinka käyttää RIGHT-funktiota Excelissä - kaavaesimerkkejä
Todellisissa työtaulukoissa Excelin RIGHT-funktiota käytetään harvoin yksinään, vaan useimmiten sitä käytetään yhdessä muiden Excel-funktioiden kanssa osana monimutkaisempia kaavoja.
Miten saada tietyn merkin jälkeen tuleva merkkijono?
Jos haluat poimia tiettyä merkkiä seuraavan merkkijonon, käytä joko SEARCH- tai FIND-funktiota kyseisen merkin sijainnin määrittämiseen, vähennä sijainti LEN-funktion palauttamasta merkkijonon kokonaispituudesta ja poimi näin monta merkkiä alkuperäisen merkkijonon oikeanpuoleisimmasta reunasta.
RIGHT( merkkijono , LEN( merkkijono ) - HAKU( merkki , merkkijono ))Sanotaan, että solu A2 sisältää etu- ja sukunimen välilyönnillä erotettuna ja haluat vetää sukunimen toiseen soluun. Ota yllä oleva yleinen kaava ja laita A2 tilalle string ja " " (välilyönti) tilalla luonne:
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2)))
Kaava antaa seuraavan tuloksen:
Vastaavalla tavalla voit saada minkä tahansa muun merkin, esimerkiksi pilkun, puolipisteen, väliviivan jne. jälkeen tulevan merkkijonon. Käytä esimerkiksi tätä kaavaa poimiaksesi merkkijonon, joka tulee väliviivan jälkeen:
=RIGHT(A2,LEN(A2)-SEARCH("-",A2)))
Tulos näyttää samankaltaiselta kuin tämä:
Miten poimia merkkijonon osa erotinmerkin viimeisen esiintymän jälkeen?
Kun käsittelet monimutkaisia merkkijonoja, jotka sisältävät useita saman rajaajan esiintymiä, saatat usein joutua hakemaan viimeisen rajaajan esiintymän oikealla puolella olevan tekstin. Jotta asiat olisivat helpommin ymmärrettävissä, katso seuraavia lähdetietoja ja haluttua tulosta:
Kuten yllä olevasta kuvakaappauksesta näkyy, sarake A sisältää luettelon virheistä. Tavoitteenasi on poimia kunkin merkkijonon viimeisen kaksoispisteen jälkeinen virhekuvaus. Lisäkomplikaatioita aiheuttaa se, että alkuperäiset merkkijonot voivat sisältää eri määrän erotinmerkkejä, esimerkiksi A3 sisältää kolme kaksoispistettä, kun taas A5 vain yhden.
Ratkaisun löytämisen avain on määrittää lähdejonon viimeisen erottimen sijainti (tässä esimerkissä kaksoispisteen viimeinen esiintymä). Tätä varten sinun on käytettävä kourallista eri funktioita:
- Hae alkuperäisen merkkijonon erottimien määrä. Se on helppo osa:
- Ensin lasketaan merkkijonon kokonaispituus LEN-funktiolla: LEN(A2)
- Toiseksi, lasket merkkijonon pituuden ilman erottimia käyttämällä SUBSTITUTE-funktiota, joka korvaa kaikki kaksoispisteen esiintymät tyhjällä: LEN(SUBSTITUTE(A2,":",""))
- Lopuksi vähennetään merkkijonon kokonaispituudesta alkuperäisen merkkijonon pituus ilman erottimia: LEN(A2)-LEN(SUBSTITUTE(A2,":","")).
Varmistaaksesi, että kaava toimii oikein, voit syöttää sen erilliseen soluun, jolloin tulokseksi saadaan 2, joka on solun A2 kaksoispisteiden määrä.
- Korvaa viimeinen erotinmerkki jollain ainutlaatuisella merkillä. Jotta voimme poimia merkkijonon viimeisen erotinmerkin jälkeen tulevan tekstin, meidän on "merkittävä" erotinmerkin viimeinen esiintymä jollakin tavalla. Tätä varten korvataan kaksoispisteen viimeinen esiintymä merkillä, jota ei esiinny missään alkuperäisissä merkkijonoissa, esimerkiksi punta-merkillä (#).
Jos tunnet Excelin SUBSTITUTE-funktion syntaksin, muistat ehkä, että sillä on neljäs valinnainen argumentti (instance_num), jonka avulla voidaan korvata vain tietyn merkin tietty esiintymä. Koska olemme jo laskeneet merkkijonon rajaavien merkkien määrän, annamme edellä mainitun funktion toisen SUBSTITUTE-funktion neljäntenä argumenttina:
=SUBSTITUTE(A2,":", "#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
Jos laittaisit tämän kaavan erilliseen soluun, se palauttaisi tämän merkkijonon: ERROR:432#Yhteys katkesi ajallisesti
- Viimeisen erottimen sijainnin selvittäminen merkkijonossa. Riippuen siitä, millä merkillä olet korvannut viimeisen erottimen, käytä joko case-sensitiivistä SEARCH- tai case-sensitiivistä FIND-toimintoa kyseisen merkin sijainnin selvittämiseksi merkkijonossa. Korvasimme viimeisen kaksoispisteen #-merkillä, joten käytämme seuraavaa kaavaa sen sijainnin selvittämiseen:
=SEARCH("#", SUBSTITUTE(A2,":", "#",LEN(A2)-LEN(SUBSTITUTE(A2,":","",""))))
Tässä esimerkissä kaava palauttaa arvon 10, joka on #:n sijainti korvatussa merkkijonossa.
- Palauta osajono viimeisen rajaajan oikealle puolelle. Nyt kun tiedät viimeisen rajaajan sijainnin merkkijonossa, sinun tarvitsee vain vähentää tämä luku merkkijonon kokonaispituudesta ja saada RIGHT-funktio palauttamaan tämän merkkimäärän alkuperäisen merkkijonon lopusta:
=RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""")))))
Kuten alla olevassa kuvakaappauksessa näkyy, kaava toimii täydellisesti:
Jos työskentelet suuren tietokokonaisuuden kanssa, jossa eri soluissa voi olla eri rajausmerkkejä, saatat haluta sisällyttää yllä olevan kaavan IFERROR-funktioon mahdollisten virheiden välttämiseksi:
=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","""))))), A2))
Jos tietyssä merkkijonossa ei ole yhtään määritetyn erottimen esiintymää, alkuperäinen merkkijono palautetaan, kuten alla olevan kuvakaappauksen rivillä 6:
Kuinka poistaa merkkijonon ensimmäiset N merkkiä?
Sen lisäksi, että Excelin RIGHT-toiminto poimii merkkijonon lopusta osajonon, se on kätevä myös tilanteissa, joissa merkkijonon alusta halutaan poistaa tietty määrä merkkejä.
Edellisessä esimerkissä käytetystä tietokokonaisuudesta haluat ehkä poistaa jokaisen merkkijonon alussa olevan sanan "ERROR" ja jättää vain virheen numeron ja kuvauksen. Voit tehdä sen vähentämällä poistettavien merkkien määrän merkkijonon kokonaispituudesta ja antamalla tämän luvun komentoon num_chars Excelin RIGHT-funktion argumentti:
RIGHT( string , LEN( merkkijono )- number_of_chars_to_remove )Tässä esimerkissä poistamme 6 ensimmäistä merkkiä (5 kirjainta ja kaksoispiste) A2:n tekstijonosta, joten kaavamme on seuraava:
=RIGHT(A2, LEN(A2)-6)
Voiko Excelin RIGHT-funktio palauttaa numeron?
Kuten tämän ohjeen alussa mainittiin, Excelin RIGHT-funktio palauttaa aina merkkijonon, vaikka alkuperäinen arvo olisi numero. Mutta entä jos työskentelet numeerisen tietokokonaisuuden kanssa ja haluat, että tuloste on myös numeerinen? Helppo kiertotapa on sisällyttää Right-kaava VALUE-funktioon, joka on erityisesti suunniteltu muuntamaan numeroa esittävä merkkijono numeroksi.
Jos haluat esimerkiksi poimia viisi viimeistä merkkiä (postinumero) merkkijonosta A2 ja muuntaa poimitut merkit numeroksi, käytä tätä kaavaa:
=VALUE(RIGHT(A2, 5))
Tulos näkyy alla olevassa kuvakaappauksessa - huomaa, että sarakkeessa B numerot on kohdistettu oikealle, kun taas sarakkeessa A on vasemmalle kohdistettuja tekstijonoja:
Miksi RIGHT-funktio ei toimi päivämäärien kanssa?
Koska Excelin RIGHT-toiminto on suunniteltu toimimaan tekstijonojen kanssa, kun taas päivämäärät esitetään Excelin sisäisessä järjestelmässä numeroina, Right-kaavalla ei voi hakea päivämäärän yksittäisiä osia, kuten päivää, kuukautta tai vuotta. Jos yrität tehdä näin, saat vain päivämäärää edustavan numeron muutamat viimeiset numerot.
Oletetaan, että sinulla on päivämäärä 18-Jan-2017 solussa A1. Jos yrität poimia vuosiluvun kaavalla RIGHT(A1,4), tulokseksi saadaan 2753, joka on numeron 42753 neljä viimeistä numeroa, joka edustaa 18. tammikuuta 2017 Excel-järjestelmässä.
"Miten haen tietyn osan päivämäärää?", saatat kysyä minulta. Käyttämällä jotakin seuraavista toiminnoista:
- DAY-funktio päivän poimimiseksi: =DAY(A1)
- MONTH-funktio kuukauden saamiseksi: =MONTH(A1)
- YEAR-funktio vuoden vetämiseksi: =YEAR(A1)
Seuraavassa kuvakaappauksessa näkyvät tulokset:
Jos päivämäärät esitetään tekstijonoina , mikä on usein tilanne, kun viet tietoja ulkoisesta lähteestä, mikään ei estä sinua käyttämästä RIGHT-funktiota poimimaan merkkijonon viimeiset merkit, jotka edustavat tiettyä päivämäärän osaa:
Excel RIGHT -toiminto ei toimi - syyt ja ratkaisut
Jos Oikea kaava ei toimi oikein työarkissasi, se johtuu todennäköisesti jostain seuraavista syistä:
- On yksi tai useampi perään tulevat välilyönnit Jos haluat nopeasti poistaa ylimääräiset välilyönnit soluista, käytä joko Excelin TRIM-toimintoa tai Cell Cleaner -lisäohjelmaa.
- The num_chars argumentti on pienempi kuin nolla Tuskin haluat tietenkään tarkoituksella laittaa negatiivista lukua kaavaasi, mutta mikäli num_chars argumentti lasketaan toisella Excel-funktiolla tai eri funktioiden yhdistelmällä ja Oikea-kaavasi palauttaa #VALUE! -virheen, tarkista, että sisäkkäiset funktiot eivät ole virheellisiä.
- Alkuperäinen arvo on päivämäärä Jos olet seurannut tätä opetusohjelmaa tiiviisti, tiedät jo, miksi RIGHT-funktio ei toimi päivämäärien kanssa. Jos joku on ohittanut edellisen osan, löydät kaikki yksityiskohdat kohdasta Miksi Excelin RIGHT-funktio ei toimi päivämäärien kanssa.
Näin käytät RIGHT-toimintoa Excelissä. Jos haluat tutustua tarkemmin tässä opetusohjelmassa käsiteltyihin kaavoihin, voit ladata alla olevan esimerkkityökirjan. Kiitän sinua lukemisesta ja toivon, että tapaamme blogissamme ensi viikolla.
Saatavilla olevat lataukset
Excelin RIGHT-toiminto - esimerkkejä (.xlsx-tiedosto)