Tietojen poimiminen Google Sheetsistä: tietty teksti merkkijonoista, URL-osoitteet linkeistä ja paljon muuta.

  • Jaa Tämä
Michael Brown

Tämä seuraava osa tekstin käsittelystä taulukkolaskentaohjelmissa on omistettu uuttamiselle. Selvitä, miten voit poimia erilaisia tietoja - tekstiä, merkkejä, numeroita, URL-osoitteita, sähköpostiosoitteita, päivämäärää & kellonaikaa jne. - useiden Google Sheets -solujen eri kohdista kerralla.

    Google Sheets -kaavat tekstin ja numeroiden poimimiseksi merkkijonoista

    Kaavat Google Sheetsissä ovat kaikkea. Vaikka jotkut yhdistelmät lisäävät tekstiä & numeroita ja poistavat erilaisia merkkejä, jotkut niistä myös poistavat tekstiä, numeroita, erillisiä merkkejä jne.

    Poimi tiedot sijainnin mukaan: ensimmäinen/viimeinen/keskimmäinen N merkkiä

    Helpoimpia funktioita, kun aiot ottaa tietoja Google Sheetsin soluista, ovat LEFT, RIGHT ja MID. Ne hakevat tiedot sijainnin mukaan.

    Tietojen poimiminen Google Sheetsin solujen alusta

    Voit helposti vetää ensimmäiset N merkkiä pois käyttämällä LEFT-toimintoa:

    LEFT(merkkijono,[merkkien lukumäärä])
    • merkkijono on teksti, josta haluat poimia tietoja.
    • number_of_characters on vasemmalta alkaen poistettavien merkkien määrä.

    Yksinkertaisin esimerkki: poistetaan puhelinnumeroista maakoodit:

    Kuten näet, maakoodit vievät 6 symbolia solujen alkuun, joten tarvitsemasi kaava on:

    =LEFT(A2,6)

    Vihje. ArrayFormula mahdollistaa 6 merkin saamisen koko alueelta kerralla:

    =ArrayFormula(LEFT(A2:A7,6))

    Tietojen poimiminen Google Sheetsin solujen lopusta

    Jos haluat poistaa soluista viimeiset N merkkiä, käytä sen sijaan RIGHT-toimintoa:

    RIGHT(merkkijono,[merkkien lukumäärä])
    • merkkijono on edelleen teksti (tai soluviite), josta tiedot poimitaan.
    • number_of_characters on myös oikealta otettavien merkkien määrä.

    Saadaanpa ne maan nimet samoista puhelinnumeroista:

    Niihin tarvitaan vain 2 merkkiä, ja juuri sen mainitsen kaavassa:

    =RIGHT(A2,2)

    Vihje. ArrayFormula auttaa sinua myös poimimaan tietoja kaikkien Google Sheetsin solujen lopusta kerralla:

    =ArrayFormula(RIGHT(A2:A7,2))

    Tietojen poimiminen Google Sheetsin solujen keskeltä

    Jos on olemassa funktioita tietojen poimimiseen solujen alusta ja lopusta, on oltava myös funktio tietojen poimimiseen solujen keskeltä. Ja kyllä - sellainen on olemassa.

    Sen nimi on MID:

    MID(string, starting_at, extract_length)
    • merkkijono - teksti, josta haluat poistaa keskimmäisen osan.
    • starting_at - sen merkin sijainti, josta haluat aloittaa tietojen saamisen.
    • extract_length - ulos vedettävien merkkien määrä.

    Esimerkkinä samat puhelinnumerot, etsitään itse puhelinnumerot ilman niiden maakoodeja ja maakohtaisia lyhenteitä:

    Koska maakoodit päättyvät kuudenteen merkkiin ja seitsemäs merkki on viiva, vedän numerot kahdeksannesta numerosta alkaen. Yhteensä saan 8 numeroa:

    =MID(A2,8,8,8)

    Vinkki: Jos muutat yhden solun koko alueeksi ja käärit sen ArrayFormulaan, saat tuloksen jokaisesta solusta kerralla:

    =ArrayFormula(MID(A2:A7,8,8))

    Tekstin/numeroiden poimiminen merkkijonoista

    Joskus tekstin poimiminen sijainnin mukaan (kuten edellä on esitetty) ei ole vaihtoehto. Tarvittavat merkkijonot voivat sijaita missä tahansa solun osassa ja koostua eri määrästä merkkejä, jolloin sinun on luotava erilaisia kaavoja jokaista solua varten.

    Google Sheets ei kuitenkaan olisi Google Sheets, jos siinä ei olisi muita toimintoja, joiden avulla tekstiä voidaan poimia merkkijonoista.

    Käydään läpi muutamia mahdollisia tapoja, joita taulukkolaskentaohjelmat tarjoavat.

    Tietojen poimiminen ennen tiettyä tekstiä - LEFT+SEARCH (vasemmalla+haku)

    Kun haluat poimia tiettyä tekstiä edeltäviä tietoja, käytä VASEN + HAKU -näppäimiä:

    • VASEMPI käytetään palauttamaan tietty määrä merkkejä solujen alusta (niiden vasemmalta puolelta).
    • HAKU etsii tiettyjä merkkejä/merkkijonoja ja saa niiden sijainnin.

    Yhdistä nämä - ja LEFT palauttaa SEARCHin ehdottaman merkkimäärän.

    Tässä on esimerkki: miten poimit tekstikoodit ennen jokaista 'ea'-koodia?

    Tämä on kaava, joka auttaa sinua vastaavissa tapauksissa:

    =LEFT(A2,SEARCH("ea",A2)-1)

    Kaavassa tapahtuu seuraavaa:

    1. SEARCH("ea",A2) etsii 'ea'-merkkiä A2:sta ja palauttaa kunkin solun kohdalla 10 sijaintia, josta 'ea' alkaa.
    2. Joten 10. paikka on paikka, jossa 'e' sijaitsee. Mutta koska haluan kaiken juuri ennen 'ea'-kohtaa, minun on vähennettävä 1 tuosta kohdasta. Muuten 'e' palautetaan myös. Joten saan lopulta 9.
    3. VASEMPI katsoo A2:ta ja saa 9 ensimmäistä merkkiä.

    Pura tiedot tekstin jälkeen

    On myös keinoja saada kaikki tietyn merkkijonon jälkeinen teksti. Mutta tällä kertaa RIGHT ei auta. Sen sijaan REGEXREPLACE on vuorossa.

    Vihje. REGEXREPLACE käyttää säännöllisiä lausekkeita. Jos et ole valmis käsittelemään niitä, on olemassa paljon helpompi ratkaisu, joka kuvataan alla. REGEXREPLACE(text, regular_expression, replacement)

    • teksti on merkkijono tai solu, johon haluat tehdä muutoksia.
    • regular_expression on merkkiyhdistelmä, joka edustaa etsimääsi tekstin osaa.
    • korvaava on se, mitä haluat saada sen sijaan, että teksti

    Miten käytät sitä poimimaan tietoja tietyn tekstin - esimerkissäni 'ea' - jälkeen?

    Helppo - tämän kaavan avulla:

    =REGEXREPLACE(A2,"(.*)ea(.*)","$2")

    Selitän, miten tämä kaava tarkalleen ottaen toimii:

    1. A2 on solu, josta poimin tiedot.
    2. "(.*)ea(.*)" on säännöllinen lausekkeeni (tai voit kutsua sitä maskiksi). Etsin 'ea'-merkkiä ja laitan kaikki muut merkit sulkuihin. Merkkiryhmiä on kaksi - kaikki ennen 'ea'-merkkiä on ensimmäinen ryhmä (.*) ja kaikki 'ea'-merkin jälkeen on toinen ryhmä (.*). Koko maski itsessään laitetaan kaksoissuluihin.
    3. "$2" on se, mitä haluan saada - toinen ryhmä (siksi sen numero 2) edellisestä argumentista.

    Vihje. Kaikki säännöllisissä lausekkeissa käytetyt merkit on kerätty tälle erikoissivulle.

    Numeroiden poimiminen Google Sheetsin soluista

    Entä jos haluat poimia vain numerot, kun niiden sijainnilla ja kaikella ennen & jälkeen ei ole väliä?

    Myös maskit (eli säännölliset lausekkeet) auttavat. Itse asiassa käytän samaa REGEXREPLACE-funktiota ja muutan säännöllistä lauseketta:

    =REGEXREPLACE(A2,"[^[:digit:]]", "")

    1. A2 on solu, josta haluan saada nämä numerot.
    2. "[^[[:digit:]]" on säännöllinen lauseke, joka hyväksyy kaiken muun paitsi numerot. Tuo ^caret-symboli tekee poikkeuksen numeroiden osalta.
    3. "" korvaa kaiken muun paitsi numeromerkit "ei mitään". Tai toisin sanoen poistaa ne kokonaan, jolloin soluihin jäävät vain numerot. Tai poistaa numerot :)

    Tekstin poimiminen ilman numeroita ja muita merkkejä

    Vastaavalla tavalla voit poistaa Google Sheetsin soluista vain aakkoselliset tiedot. Tekstiä tarkoittavan säännöllisen lausekkeen lyhennettä kutsutaan vastaavasti - alpha:

    =REGEXREPLACE(A2,"[^[:alpha:]]", "")

    Tämä kaava ottaa kaiken muun paitsi kirjaimet (A-Z, a-z) ja kirjaimellisesti korvaa sen "ei mitään" - tai toisin sanoen poistaa vain kirjaimet.

    Kaavaton tapa poimia tietoja Google Sheetsin soluista

    Jos etsit helppoa ja kaavatonta tapaa poimia erityyppisiä tietoja, olet tullut oikeaan paikkaan. Power Tools -lisäosassamme on juuri sopivat työkalut tähän työhön.

    Erilaisten tietojen poiminta Power Tools -lisäosien avulla

    Ensimmäinen työkalu, jonka haluan sinun tuntevan, on nimeltään Extract. Se tekee juuri sitä, mitä olet etsinyt tässä artikkelissa - se poimii erityyppisiä tietoja Google Sheetsin soluista.

    Käyttäjäystävälliset asetukset

    Kaikki edellä käsittelemäni tapaukset eivät ole ratkaistavissa vain lisäosan avulla. Työkalu on käyttäjäystävällinen joten sinun tarvitsee vain valita alue, jonka haluat käsitellä, ja rastittaa tarvittavat valintaruudut. Ei kaavoja, ei säännöllisiä lausekkeita.

    Muistatko tämän artikkelin toisen kohdan, jossa käsiteltiin REGEXREPLACEa ja säännöllisiä lausekkeita? Näin yksinkertaista se on lisäosan osalta:

    Lisävaihtoehdot

    Kuten näet, on joitakin lisävaihtoehdot (vain valintaruutuja), joita voit nopeasti päälle/pois päältä saadaksesi tarkimman tuloksen:

    1. Hae vain vaaditun tekstin merkkijonot.
    2. Vedä kaikki esiintymät kustakin solusta ja sijoita ne yhteen soluun tai erillisiin sarakkeisiin.
    3. Lisää uusi sarake, jossa tulos on lähdetietojen oikealla puolella.
    4. Tyhjentää poimitun tekstin lähdetiedoista.

    Erilaisten tietotyyppien poimiminen

    Power Tools poimii tiedot ennen/jälkeen/välissä tiettyjä merkkijonoja ja ensimmäistä/viimeistä N merkkiä, mutta se poistaa myös seuraavat tiedot:

    1. Luvut ja niiden desimaaliluvut siten, että desimaalien ja tuhannesten erottimet säilyvät ehjinä:

  • N merkkiä alkaen tietystä solun kohdasta.
  • Hyperlinkit (teksti + linkki), URL-osoitteet (linkki), sähköpostiosoitteet.
  • Pura mikä tahansa merkkijono tietoja kaikkialta

    Voit myös määrittää oman tarkan kuvion ja käyttää sitä uuttamiseen. Ote maskin avulla ja sen jokerimerkit - * ja ? - tehdä temppu:

    • Voit esimerkiksi tuoda kaiken sulkujen välissä olevan esiin käyttämällä seuraavaa maskia: (*)
    • Tai hanki ne SKU:t, joiden tunnuksissa on vain 5 numeroa: SKU?????
    • Tai, kuten alla olevassa kuvakaappauksessa näkyy, vedä kaikki kunkin solun jokaisen "ea"-kohdan jälkeen: ea*

    Päivämäärän ja kellonajan poimiminen aikaleimoista

    Bonuksena on pienempi työkalu, joka poimii päivämäärän ja ajan aikaleimoista - sen nimi on Split Date & Time.

    Vaikka se luotiin alun perin aikaleimojen jakamista varten, se pystyy täydellisesti saamaan yhden halutuista yksiköistä erikseen:

    Valitse vain yksi valintaruuduista sen mukaan, mitä haluat poimia - päivämäärän tai kellonajan - Google Sheetsin aikaleimoista ja paina sitten Split Tarvittava yksikkö kopioidaan uuteen sarakkeeseen (tai se korvaa alkuperäiset tiedot, jos valitset myös viimeisen valintaruudun):

    Tämä työkalu on myös osa Power Tools -lisäosaa, joten kun olet asentanut sen saadaksesi tietoja Google Sheetsin soluista, se kattaa sinut täysin. Jos näin ei ole, jätä kommentti, niin autamme sinua :)

    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.