Fjern mellomrom og andre tegn eller tekststrenger i Google Regneark fra flere celler samtidig

  • Dele Denne
Michael Brown

Lær formler og formelfrie måter å trimme mellomrom, fjerne spesialsymboler (selv de første/siste N tegn) og de samme tekststrengene før/etter bestemte tegn fra flere celler samtidig.

Å fjerne den samme delen av teksten fra flere celler samtidig kan være like viktig og vanskelig som å legge den til. Selv om du kjenner noen av måtene, vil du garantert finne nye i dagens blogginnlegg. Jeg deler mange funksjoner og deres ferdige formler, og som alltid lagrer jeg de enkleste – formelfrie – til sist ;)

    Formler for Google Sheets for å fjerne tekst fra celler

    Jeg skal begynne med standardfunksjonene for Google Sheets som fjerner tekststrenger og tegn fra cellene. Det er ingen universell funksjon for dette, så jeg vil gi forskjellige formler og deres kombinasjoner for ulike tilfeller.

    Google Sheets: fjern mellomrom

    Tromrom kan enkelt gli inn i celler etter importen eller hvis flere brukere redigere arket samtidig. Faktisk er ekstra mellomrom så vanlige at Google Sheets har et spesielt trimverktøy for å fjerne alle mellomrom.

    Bare velg alle Google Sheets-celler der du vil fjerne mellomrom og velg Data > Trim mellomrom i regnearkmenyen:

    Når du klikker på alternativet, vil alle innledende og etterfølgende mellomrom i utvalget bli fjernet fullstendig mens alle ekstra mellomrom i-ord, dette tillegget for Google Sheets vil fjerne tidsenheten fra tidsstemplet:

    Du kan ha alle disse og over 30 andre tidsbesparere for regneark ved å installere tillegg fra Google Store. De første 30 dagene er helt gratis og fullt funksjonelle, så du har tid til å bestemme deg for om det er verdt en investering.

    Hvis du har spørsmål knyttet til noen del av dette blogginnlegget, ser vi deg i kommentarfeltet nedenfor!

    mellom dataene reduseres til én:

    Fjern andre spesialtegn fra tekststrenger i Google Sheets

    Dessverre, Google Sheets tilbyr ikke noe verktøy for å "trimme" andre tegn, men mellomrom. Du må forholde deg til formler her.

    Tips. Eller bruk verktøyet vårt i stedet - Power Tools vil frigjøre rekkevidden din fra alle tegn du spesifiserer med et klikk, inkludert mellomrom.

    Her har jeg adressert med hashtags før leilighetsnumrene og telefonnumrene med bindestreker og parenteser i mellom:

    Jeg vil bruke formler for å fjerne disse spesialtegnene.

    ERSTATT-funksjonen vil hjelpe meg med det. Det brukes vanligvis til å erstatte ett tegn med et annet, men du kan snu det til din fordel og erstatte de uønskede tegnene med … vel, ingenting :) Med andre ord, fjern det.

    La oss se hvilket argument funksjonen har. krever:

    SUBSTITUTE(tekst_å_søke, søk_etter, erstatte_med, [forekomstnummer])
    • tekst_å_søke er enten teksten som skal behandles eller en celle som inneholder den teksten. Obligatorisk.
    • søk_etter er det tegnet du vil finne og slette. Obligatorisk.
    • erstatt_med — et tegn du vil sette inn i stedet for det uønskede symbolet. Obligatorisk.
    • occurrence_number — hvis det er flere forekomster av tegnet du leter etter, her kan du spesifisere hvilken som skal erstattes. Det er helt valgfritt,og hvis du utelater dette argumentet, vil alle instanser bli erstattet med noe nytt ( erstatt_for ).

    Så la oss spille. Jeg må finne en hashtag ( # ) i A1 og erstatte den med 'ingenting' som er merket i regneark med doble anførselstegn ( "" ). Med alt dette i tankene kan jeg bygge følgende formel:

    =SUBSTITUTE(A1,"#","")

    Tips. Hashtaggen står også i doble anførselstegn siden dette er måten du bør nevne tekststrenger i Google Sheets-formler.

    Deretter kopierer du denne formelen ned i kolonnen hvis Google Sheets ikke tilbyr å gjøre det automatisk, og du får adressene dine uten hashtaggene:

    Men hva om disse strekene og parentesene? Bør du lage flere formler? Ikke i det hele tatt! Hvis du legger inn flere ERSTATT-funksjoner i én Google Regneark-formel, vil du fjerne alle disse tegnene fra hver celle:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"#",""),"(",""),")",""),"-","")

    Denne formelen fjerner tegn én etter én og hver ERSTATTNING, med start fra midten , blir området å se på for neste ERSTATTNING:

    Tips. Dessuten kan du pakke dette inn i ArrayFormula og dekke hele kolonnen samtidig. I dette tilfellet endrer du også cellereferansen ( A1 ) til dataene dine i kolonnen ( A1:A7 ):

    =ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7,"#",""),"(",""),")",""),"-",""))

    Fjern spesifikk tekst fra celler i Google Sheets

    Selv om du kan bruke den nevnte ERSTATT-funksjonen for Google Sheets for å fjerne tekst fra celler, vil jeg gjerne viseen annen funksjon også — REGEXREPLACE.

    Navnet er et akronym fra 'regular expression replace'. Og jeg kommer til å bruke regulære uttrykk for å søke etter strengene som skal fjernes og erstatte dem med ' ingenting' ( "" ).

    Tips. Hvis du ikke er interessert i å bruke regulære uttrykk, beskriver jeg en mye enklere måte på slutten av dette blogginnlegget.

    Tips. Hvis du leter etter måter å finne og fjerne duplikater i Google Sheets, kan du besøke dette blogginnlegget i stedet. REGEXREPLACE(tekst, vanlig_uttrykk, erstatning)

    Som du kan se, er det tre argumenter til funksjonen:

    • tekst — er der du leter etter teksten streng for å fjerne. Det kan være selve teksten i doble anførselstegn eller en referanse til en celle/område med tekst.
    • regular_expression — søkemønsteret ditt som består av ulike tegnkombinasjoner. Du vil se etter alle strenger som matcher dette mønsteret. Dette argumentet er der all moroa skjer, om jeg kan si det.
    • erstatning — en ny ønsket tekststreng.

    La oss anta at cellene mine inneholder data inneholder også landsnavnet ( US ) hvis forskjellige steder i cellene:

    Hvordan vil REGEXREPLACE hjelpe meg med å fjerne det?

    =REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")

    Slik fungerer formelen nøyaktig:

    • den skanner innholdet i cellen A1
    • for treff til denne masken: "(.*)US(.*)"

      Denne masken forteller funksjonen tilse etter US uansett hvor mange andre tegn som kan komme foran (.*) eller følg (.*) navnet på landet.

      Og hele masken settes til doble anførselstegn i henhold til funksjonen krever :)

    • det siste argumentet — "$1 $2" — er det jeg ønsker å få i stedet. $1 og $2 representerer hver en av de to gruppene med tegn — (.*) — fra det forrige argumentet. Du bør nevne disse gruppene i det tredje argumentet på denne måten, slik at formelen kan returnere alt som muligens står før og etter US

      Når det gjelder selve US , så gjør jeg det ganske enkelt ikke nevne det i det 3. argumentet — noe som betyr at jeg vil returnere alt fra A1 uten US .

    Tips. Det er en spesiell side du kan referere til for å bygge forskjellige regulære uttrykk og se etter teksten i forskjellige celleposisjoner.

    Tips. Når det gjelder de gjenværende kommaene, vil ERSTATT-funksjonen beskrevet ovenfor bidra til å bli kvitt dem ;) Du kan til og med legge ved REGEXREPLACE med ERSTATTNING og løse alt med én formel:

    =SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",","")

    Fjern tekst før/etter visse tegn i alle valgte celler

    Eksempel 1. REGEXREPLACE-funksjon for Google Sheets

    Når det gjelder å bli kvitt alt før og etter enkelte tegn, hjelper REGEXREPLACE også. Husk at funksjonen krever 3 argumenter:

    REGEXREPLACE(tekst,regular_expression, replacement)

    Og, som jeg nevnte ovenfor da jeg introduserte funksjonen, er det den andre du bør bruke riktig slik at funksjonen vet hva den skal finne og fjerne.

    Så hvordan fjerner jeg adressene og bare ha telefonnumre i cellene?

    Her er formelen jeg skal bruke:

    =REGEXREPLACE(A1,".*\n.*(\+.*)","$1")

    • Her er det regulære uttrykket jeg bruker i dette tilfellet: ".*\n.*(\+.*)"

      I den første delen — .*\n .* — Jeg bruker omvendt skråstrek+n for å fortelle at cellen min har mer enn én rad. Så jeg vil at funksjonen skal fjerne alt før og etter det linjeskiftet (inkludert det).

      Den andre delen som er i parentes (\+.*) sier at jeg vil beholde plusstegnet og alt som følger det intakt. Jeg tar denne delen i parentes for å gruppere den og ha den i bakhodet til senere.

      Tips. Omvendt skråstrek brukes før pluss for å gjøre den om til en karakter du leter etter. Uten den ville plusset bare vært en del av uttrykket som står for noen andre tegn (som en stjerne for eksempel gjør).

    • Når det gjelder det siste argumentet – $1 – får funksjonen til å returnere den eneste gruppen fra det andre argumentet: plusstegnet og alt som følger (\+.*) .

    På lignende måte kan du slette alle telefonnumre, men likevel beholde adressene:

    =REGEXREPLACE(A1,"(.*\n).*","$1")

    Bare denne gangen forteller du funksjonen om å gruppere (og retur) alt førlinjeskift og fjern resten:

    Eksempel 2. HØYRE+LEN+FINN

    Det er noen flere Google Regneark-funksjoner som lar deg fjerne tekst før et bestemt tegn. De er RIGHT, LEN og FIND.

    Merk. Disse funksjonene vil bare hjelpe hvis postene som skal oppbevares er av samme lengde, som telefonnumre i mitt tilfelle. Hvis de ikke er det, bruk bare REGEXREPLACE i stedet eller, enda bedre, det enklere verktøyet som er beskrevet på slutten.

    Å bruke denne trioen i en bestemt rekkefølge vil hjelpe meg å få det samme resultatet og fjerne hele teksten før et tegn — et plusstegn:

    =RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1)))

    La meg forklare hvordan denne formelen fungerer:

    • FINN("+",A1)-1 finner posisjonsnummeret til plusstegnet i A1 ( 24 ) og trekker 1 slik at totalen ikke inkluderer selve plusset: 23 .
    • LEN(A1)-(FINN("+",A1)- 1) kontrollerer det totale antallet tegn i A1 ( 40 ) og trekker 23 (talt av FINN) fra det: 17 .
    • Og så HØYRE returnerer 17 tegn fra slutten (til høyre) av A1.

    Dessverre hjelper ikke denne måten å fjerne teksten etter linjeskiftet i mitt tilfelle (tøm telefonnumre og behold adresser), fordi adressene er av ulik lengde.

    Vel, det er greit. Verktøyet på slutten gjør denne jobben bedre uansett ;)

    Fjern de første/siste N tegnene fra strenger i Google Sheets

    Når du trenger å fjerne enet visst antall forskjellige tegn fra begynnelsen eller slutten av en celle, REGEXREPLACE og RIGHT/LEFT+LEN vil også hjelpe.

    Merk. Siden jeg allerede introduserte disse funksjonene ovenfor, vil jeg holde dette punktet kort og gi noen ferdige formler. Eller hopp gjerne til den enkleste løsningen beskrevet helt til slutt.

    Så, hvordan kan jeg slette kodene fra disse telefonnumrene? Eller, med andre ord, fjern de 9 første tegnene fra cellene:

    • Bruk REGEXREPLACE. Lag et regulært uttrykk som vil finne og slette alt opp til det 9. tegnet (inkludert det 9. tegnet):

      =REGEXREPLACE(A1,"(.{9})(.*)","$2")

      .

      Tips. For å fjerne de siste N tegnene, bytt bare gruppene i det regulære uttrykket:

      =REGEXREPLACE(A1,"(.*)(.{9})","$1")

    • HØYRE/VENSTRE+LENG tell også antall tegn som skal slettes og returner den gjenværende delen fra slutten eller begynnelsen av en celle:

      =RIGHT(A1,LEN(A1)-9)

      Tips. For å fjerne de siste 9 tegnene fra cellene, erstatt HØYRE med VENSTRE:

      =LEFT(A1,LEN(A1)-9)

    • Sist men ikke minst er REPLACE-funksjonen. Du ber den ta de 9 tegnene som starter fra venstre og erstatte dem med ingenting ( "" ):

      =REPLACE(A1,1,9,"")

      Merk. Siden REPLACE krever en startposisjon for å behandle teksten, vil det ikke gjøre det hvis du trenger å slette N tegn fra slutten av en celle.

    Formelfri måte å fjerne spesifikk tekst i Google Sheets — Power Toolstillegg

    Funksjoner og alt er bra når du har tid til å drepe. Men vet du at det er et spesielt verktøy som omfatter alle de nevnte måtene, og alt du trenger å gjøre er å velge ønsket alternativknapp? :) Ingen formler, ingen ekstra kolonner — du kunne ikke ønsket deg en bedre sidekick ;D

    Du trenger ikke ta mitt ord for det, bare installer Power Tools og se det selv:

    1. Den første gruppen lar deg fjerne flere delstrenger eller individuelle tegn fra en hvilken som helst posisjon i alle valgte celler om gangen:

  • Den neste fjerner ikke bare mellomrom, men også linjeskift, HTML-enheter & tagger og andre skilletegn og tegn som ikke skrives ut . Bare huk av alle nødvendige avmerkingsbokser og trykk Fjern :
  • Og til slutt er det innstillinger for å fjerne tekst i Google Regneark av en viss posisjon, første/siste N tegn, eller før/etter tegn :
  • Et annet verktøy fra Power Tools vil fjerne tids- og datoenheter fra tidsstempler. Det heter Split Date & Tid:

    Hva har deleverktøyet å gjøre med å fjerne tid- og datoenheter? Vel, for å fjerne tid fra tidsstempler, velg Dato siden det er en del du vil beholde og kryss av for Erstatt kildedata , akkurat som på skjermbildet ovenfor.

    Verktøyet vil trekke ut datoenheten og erstatte hele tidsstemplet med den. Eller i andre

    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.