Trekk ut data fra Google Sheets: bestemt tekst fra strenger, nettadresser fra linker og mer

  • Dele Denne
Michael Brown

Denne neste delen av operasjonene våre med tekst i regneark er viet utvinning. Finn ut måter å trekke ut ulike data – tekst, tegn, tall, URL-er, e-postadresser, dato og amp; tid osv. — fra ulike posisjoner i flere Google Sheets-celler samtidig.

    Google Sheets-formler for å trekke ut tekst og tall fra strenger

    Formler i Google Ark er alt. Mens noen kombinasjoner legger til tekst & tall og fjern ulike tegn, noen av dem trekker også ut tekst, tall, separate tegn osv.

    Trekker ut data etter posisjon: første/siste/midtste N tegn

    De enkleste funksjonene å håndtere når du er i ferd med å ta ut data fra Google Regneark, er cellene VENSTRE, HØYRE og MIDTE. De får alle data etter posisjon.

    Trekk ut data fra begynnelsen av cellene i Google Sheets

    Du kan enkelt trekke ut de første N tegnene ved å bruke VENSTRE-funksjonen:

    VENSTRE(streng, [antall_tegn])
    • streng er teksten du vil trekke ut data fra.
    • antall_tegn er antall tegn som skal tas ut fra og med fra venstre.

    Her er det enkleste eksempelet: la oss ta ut landskodene fra telefonnumrene:

    Som du kan se, land koder tar 6 symboler i begynnelsen av cellene, så formelen du trenger er:

    =LEFT(A2,6)

    Tips. ArrayFormula vil gjøre det mulig å få 6 tegn frahele området på en gang:

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

    Trekk ut data fra slutten av cellene i Google Sheets

    For å trekke ut de siste N tegnene fra cellene, bruk HØYRE-funksjonen i stedet:

    HØYRE(streng,[antall_tegn])
    • streng er fortsatt teksten (eller en cellereferanse) å trekke ut data fra.
    • antall_tegn er også antallet tegn som skal tas fra høyre.

    La oss få landsnavnene fra de samme telefonnumrene:

    De tar bare 2 tegn og det er akkurat det jeg nevner i formelen:

    =RIGHT(A2,2)

    Tips. ArrayFormula vil også hjelpe deg å trekke ut data fra slutten av alle Google Sheets-celler samtidig:

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

    Trekke ut data fra midten av cellene i Google Sheets

    Hvis det er funksjoner for å trekke ut data fra begynnelsen og slutten av celler, må det være en funksjon for å trekke ut data fra midten også. Og ja — det er en.

    Det heter MID:

    MID(streng, start_ved, ekstrakt_lengde)
    • streng — teksten du vil ta ut den midterste delen fra.
    • start_ved — posisjonen til tegnet du vil begynne å hente data fra.
    • utdrag_lengde — tallet med tegn du må trekke ut.

    Ved eksempelet med de samme telefonnumrene, la oss finne telefonnumrene selv uten deres landskoder og landforkortelse:

    Ettersom landskodene slutter med det 6. tegnet og det 7. er bindestreken, vil jeg trekke tall fra det åttende sifferet. Og jeg får 8 siffer totalt:

    =MID(A2,8,8)

    Tips. Hvis du endrer én celle til hele området og pakker den inn i ArrayFormula, får du resultatet for hver celle samtidig:

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

    Trekk ut tekst/tall fra strenger

    Noen ganger er det ikke et alternativ å trekke ut tekst etter posisjon (som vist ovenfor). De nødvendige strengene kan ligge i hvilken som helst del av cellene dine og bestå av et annet antall tegn som tvinger deg til å lage forskjellige formler for hver celle.

    Men Google Sheets ville ikke vært Google Sheets hvis det ikke hadde andre funksjoner som kan hjelpe til med å trekke ut tekst fra strenger.

    La oss se på noen mulige måter regneark tilbyr.

    Pakk ut data før en bestemt tekst — VENSTRE+SØK

    Når du ønsker å trekke ut data som kommer foran en bestemt tekst, bruk VENSTRE + SØK:

    • VENSTRE brukes til å returnere et visst antall tegn fra begynnelsen av cellene (fra venstre)
    • SØK ser etter bestemte tegn/strenger og får posisjonen deres.

    Kombiner disse — og VENSTRE vil returnere antall tegn foreslått av SØK.

    Her er et eksempel: hvordan trekker du ut tekstkoder før hver "ea"?

    Dette er formelen som vil hjelpe deg med lignendetilfeller:

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

    Her er hva som skjer i formelen:

    1. SØK("ea",A2 ) ser etter 'ea' i A2 og returnerer posisjonen der den 'ea' starter for hver celle — 10.
    2. Så 10. posisjon er der 'e' ligger. Men siden jeg vil ha alt rett før "ea", må jeg trekke 1 fra den posisjonen. Ellers vil 'e' også bli returnert. Så jeg får 9 til slutt.
    3. VENSTRE ser på A2 og får de første 9 tegnene.

    Trekker ut data etter teksten

    Der er også midler for å få alt etter en bestemt tekststreng. Men denne gangen hjelper ikke RIGHT. I stedet tar REGEXREPLACE sin tur.

    Tips. REGEXREPLACE bruker regulære uttrykk. Hvis du ikke er klar til å håndtere dem, er det en mye enklere løsning beskrevet nedenfor. REGEXREPLACE(tekst, vanlig_uttrykk, erstatning)

    • tekst er en streng eller en celle der du vil gjøre endringer
    • vanlig_uttrykk er kombinasjonen av tegn som står for en del av teksten du leter etter
    • erstatning er det du ønsker å få i stedet for den teksten

    Så, hvordan bruker du det til å trekke ut data etter en bestemt tekst — 'ea' i mitt eksempel?

    Enkelt — ved å bruke denne formelen:

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

    La meg forklare hvordan denne formelen fungerer nøyaktig:

    1. A2 er en celle jeg trekker ut dataene fra.
    2. "(.*)ea(.*)" er min fasteuttrykk (eller du kan kalle det en maske). Jeg ser etter 'ea' og setter alle andre tegn i parentes. Det er 2 grupper med tegn — alt før 'ea' er den første gruppen (.*) og alt etter 'ea' er den andre (.*). Hele masken i seg selv er satt til doble anførselstegn.
    3. "$2" er det jeg vil ha — den andre gruppen (derav nummer 2) fra det forrige argumentet.

    Tips. Alle tegn som brukes i regulære uttrykk er samlet på denne spesialsiden.

    Trekk ut tall fra Google Regneark-celler

    Hva om du bare vil trekke ut tall når deres posisjon og hva som helst går foran & etter spiller ingen rolle?

    Masker (a.k.a. regulære uttrykk) vil også hjelpe. Faktisk tar jeg den samme REGEXREPLACE-funksjonen og endrer det regulære uttrykket:

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

    1. A2 er en celle hvor jeg vil hente disse tallene fra.
    2. "[^[:digit:]]" er et regulært uttrykk som tar alt annet enn sifre. Det ^caret-symbolet er det som gjør et unntak for sifre.
    3. "" erstatter alt unntatt numeriske tegn med "ingenting". Eller, med andre ord, fjerner den helt, og lar bare tall være i cellene. Eller trekker ut tall :)

    Tekst ut tekst som ignorerer tall og andre tegn

    På lignende måte kan du bare ta ut alfabetiske data fra Google Sheets-celler. Sammentrekningen for det regulære uttrykket somstår for tekst kalles tilsvarende — alpha:

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

    Denne formelen tar alt annet enn bokstaver (A-Z, a-z) og erstatter den bokstavelig talt med "ingenting" . Eller, for å si det på en annen måte, tar bare ut bokstaver.

    Formelfrie måter å trekke ut data fra Google Sheets-celler på

    Hvis du leter etter en enkel formelfri måte å trekke ut ulike typer data, har du kommet til rett sted. Vårt Power Tools-tillegg har akkurat verktøyene for jobben.

    Pakk ut forskjellige typer data ved hjelp av Power Tools-tillegg

    Det første verktøyet jeg vil at du skal vite, heter Extract . Den gjør akkurat det du ser etter i denne artikkelen – trekker ut forskjellige typer data fra Google Sheets-celler.

    Brukervennlige innstillinger

    Alle tilfellene jeg har dekket ovenfor, er ikke det. bare løses med tillegget. Verktøyet er brukervennlig så alt du trenger å gjøre er å velge området du vil behandle og krysse av for de nødvendige avmerkingsboksene. Ingen formler, ingen regulære uttrykk.

    Husker du det andre punktet i denne artikkelen med REGEXREPLACE og regulære uttrykk? Her er hvor enkelt det er for tillegget:

    Ekstraalternativer

    Som du kan se, er det noen ekstraalternativer (bare avmerkingsbokser) som du kan raskt slå på/av for å få det mest presise resultatet:

    1. Få bare strengene til den nødvendige store og små bokstaven.
    2. Trekk ut alle forekomster fra hvercelle og plasser dem i én celle eller separate kolonner.
    3. Sett inn en ny kolonne med resultatet til høyre for kildedataene.
    4. Slett den utpakkede teksten fra kildedataene.

    Pakk ut forskjellige datatyper

    Ikke bare Power Tools trekker ut data før/etter/mellom visse tekststrenger og de første/siste N-tegnene; men det tar også ut følgende:

    1. Tall sammen med deres desimaler som holder desimal-/tusenskilletegnene intakte:

  • N tegn starter fra en bestemt posisjon i en celle.
  • Hyperkoblinger (tekst + lenke), URL-er (lenke), e-postadresser.
  • Trekk ut hvilken som helst streng med data fra overalt

    Det er også en mulighet til å sette opp ditt eget eksakte mønster og bruke det til ekstraksjonen. Uttrekk med maske og jokertegnene – * og ? – gjør susen:

    • Du kan for eksempel hente frem alt mellom parentesene ved å bruke følgende maske: (*)
    • Eller få de SKUene som bare har 5 tall i ID-ene sine: SKU?????
    • Eller, som jeg viser på skjermbildet nedenfor, trekk alt etter hver 'ea' i hver celle: ea*

    Trekk ut dato og klokkeslett fra tidsstempler

    Som en bonus er det et mindre verktøy som vil trekke ut dato og klokkeslett fra tidsstempler – det heter Split Date & Tid.

    Selv om det ble laget for å dele tidsstempler i utgangspunktet, er det perfekti stand til å få en av de ønskede enhetene individuelt:

    Bare velg en av avmerkingsboksene avhengig av hva du vil trekke ut – dato eller klokkeslett – fra tidsstempler i Google Sheets og trykk Splitt . Den nødvendige enheten vil bli kopiert over til en ny kolonne (eller den vil erstatte de originale dataene hvis du også velger den siste avkrysningsboksen):

    Dette verktøyet er også en del av Power Tools-tillegget, så når du først har installert det for å hente data fra Google Sheets-celler, er det fullstendig dekket. Hvis ikke, legg igjen en kommentar, så hjelper vi deg :)

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.