TEXTSPLIT-funksjon i Excel: del tekststrenger med skilletegn

  • Dele Denne
Michael Brown

Opplæringen viser hvordan du bruker den splitter nye TEXTSPLIT-funksjonen til å dele strenger i Excel 365 med et hvilket som helst skilletegn du angir.

Det kan være ulike situasjoner når du må dele opp celler i Excel. I tidligere versjoner var vi allerede utstyrt med en rekke instrumenter for å utføre oppgaven, for eksempel Tekst til kolonner og Fill Flash. Nå har vi også en spesiell funksjon for dette, TEXTSPLIT, som kan skille en streng i flere celler på tvers av kolonner eller/og rader basert på parameterne du spesifiserer.

    Excel TEXTSPLIT-funksjonen

    TEXTSPLIT-funksjonen i Excel deler tekststrenger med et gitt skilletegn på tvers av kolonner eller/og rader. Resultatet er en dynamisk matrise som automatisk overføres til flere celler.

    Funksjonen tar så mange som 6 argumenter, hvorav bare de to første er påkrevd.

    TEXTSPLIT(tekst, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

    tekst (påkrevd) – teksten som skal deles. Kan leveres som en streng eller cellereferanse.

    col_delimiter (påkrevd) - et eller flere tegn som indikerer hvor teksten skal deles på tvers av kolonner. Hvis utelatt, må radskilletegn defineres.

    radskilletegn (valgfritt) - et eller flere tegn som indikerer hvor teksten skal deles over rader.

    ignore_empty (valgfritt) - spesifiserer om tomme verdier skal ignoreres eller ikke:

    • FALSE (standard) -lag tomme celler for påfølgende skilletegn uten en verdi i mellom.
    • TRUE - ignorer tomme verdier, dvs. ikke lag tomme celler for to eller flere påfølgende skilletegn.

    match_mode (valgfritt) - bestemmer følsomhet for store og små bokstaver for skilletegnet. Aktivert som standard.

    • 0 (standard) - skiller mellom store og små bokstaver
    • 1 - skiller mellom store og små bokstaver

    pad_with (valgfritt) ) - en verdi som skal brukes i stedet for manglende verdier i todimensjonale matriser. Standard er en #N/A-feil.

    For å dele en tekststreng i A2 inn i flere celler ved å bruke et komma og et mellomrom som skilletegn, er formelen:

    =TEXTSPLIT(A2, ", ")

    TEXTSPLIT-tilgjengelighet

    TEXTSPLIT-funksjonen er bare tilgjengelig i Excel for Microsoft 365 (Windows og Mac) og Excel for nettet.

    Tips:

    • I Excel-versjoner der TEXTSPLIT-funksjonen ikke er tilgjengelig (annet enn Excel 365), kan du bruke tekst til kolonner-veiviseren til å dele celler.
    • For å utføre den omvendte oppgaven, dvs. å slå sammen innholdet i flere celler til én ved å bruke et bestemt skilletegn, TEXTJOIN er funksjonen som skal brukes.

    Grunnleggende TEXTSPLIT-formel for å dele en celle i Excel

    For det første, la oss se hvordan du bruker en TEXTSPLIT formel i sin enkleste form for å dele en tekststreng med et bestemt skilletegn.

    Dele en celle horisontalt over kolonner

    For å dele innholdet i en gitt celle i flere kolonner, oppgi enreferanse til cellen som inneholder den opprinnelige strengen for det første ( tekst ) argumentet og skilletegnet som markerer punktet der splittingen skal skje for det andre ( col_delimiter ) argumentet.

    For å skille strengen i A2 horisontalt med komma, er formelen for eksempel:

    =TEXTSPLIT(A2, ",")

    For skilletegnet bruker vi et komma i doble anførselstegn (",") .

    Som et resultat går hvert element atskilt med komma inn i en individuell kolonne:

    Del en celle vertikalt over rader

    For å dele tekst på flere rader, kan den tredje argument ( radskilletegn ) er der du plasserer skilletegnet. Det andre argumentet ( col_delimiter ) er utelatt i dette tilfellet.

    For å skille verdiene i A2 i forskjellige rader er formelen for eksempel:

    =TEXTSPLIT(A2, ,",")

    Vær oppmerksom på at formelen i begge tilfeller bare legges inn i én celle (C2). I naboceller vil de returnerte verdiene automatisk søles. Den resulterende matrisen (som kalles et spillområde) er uthevet med en blå kant som indikerer at alt inni den er beregnet av formelen i øvre venstre celle.

    Del tekst etter understreng

    I mange tilfeller er verdiene i kildestrengen atskilt med en sekvens av tegn, et komma og et mellomrom er et typisk eksempel. For å håndtere dette scenariet, bruk en delstreng for skilletegnet.

    For eksempel for å skille teksten i A2 i flere kolonnermed komma og mellomrom, bruk strengen ", " for col_delimiter .

    =TEXTSPLIT(A2, ", ")

    Denne formelen går til B2, og så kopierer du den ned gjennom så mange celler etter behov.

    Splitt streng i kolonner og rader samtidig

    For å dele en tekststreng i rader og kolonner om gangen, definer begge skilletegnene i TEXTSPLIT-formelen.

    For eksempel, for å dele tekststrengen i A2 på tvers av kolonner og rader, leverer vi:

    • likningstegnet ("=") for col_delimiter
    • Et komma og et mellomrom (", ") for radskilletegn

    Den komplette formelen har denne formen:

    =TEXTSPLIT(A2, "=", ", ")

    Resultatet er en 2-D matrise bestående av 2 kolonner og 3 rader:

    Skill celler med flere skilletegn

    For å håndtere flere eller inkonsistente skilletegn i kildestrengen, bruk en matrisekonstant som {"x","y" ,"z"} for avgrensningsargumentet.

    I skjermbildet nedenfor er teksten i A2 avgrenset med både komma (",") og semikolon (";") med og uten mellomrom. For å dele strengen vertikalt i rader med alle 4 variasjonene av skilletegnet, er formelen:

    =TEXTSPLIT(A2, , {",",", ",";","; "})

    Eller du kan bare inkludere et komma ("",") og semikolon ("; ") i matrisen, og fjern deretter ekstra mellomrom ved hjelp av TRIM-funksjonen:

    =TRIM(TEXTSPLIT(A2, , {",",";"}))

    Del tekst som ignorerer tomme verdier

    Hvis strengen inneholder to eller flere påfølgende skilletegn uten en verdi mellom dem, kan du velge om du vil ignorere slike tommeverdier eller ikke. Denne virkemåten styres av den fjerde ignore_empty -parameteren, som er FALSE som standard.

    Som standard ignorerer ikke TEXTSPLIT-funksjonen tomme verdier. Standardoppførselen fungerer bra for strukturerte data som i eksemplet nedenfor.

    I denne eksempeltabellen mangler poengsummene i noen strenger. TEXTSPLIT-formelen med ignore_empty -argumentet utelatt eller satt til FALSE håndterer denne saken perfekt, og skaper en tom celle for hver tomme verdi.

    =TEXTSPLIT(A2, ", ")

    Eller

    =TEXTSPLIT(A2, ", ", FALSE)

    Som et resultat vises alle verdiene i de aktuelle kolonnene.

    Hvis strengene dine inneholder homogene data, kan det være grunn til å ignorere tomme verdier. For dette, sett ignore_empty -argumentet til TRUE eller 1.

    For å dele t strengene nedenfor ved å plassere hver ferdighet i en separat celle uten mellomrom, er formelen:

    =TEXTSPLIT(A2, ", ", ,TRUE)

    I dette tilfellet ignoreres de manglende verdiene mellom påfølgende skilletegn fullstendig:

    Celledeling skiller mellom store og små bokstaver eller skiller mellom store og små bokstaver

    For å kontrollere store og små bokstaver- sensitiviteten til skilletegnet, bruk det femte argumentet, match_mode .

    Som standard er match_mode satt til 0, noe som gjør TEXTSPLIT store-sensitive .

    I dette eksemplet er tallene atskilt med små bokstaver "x" og store bokstaver "X".

    Formelen med standard sensitivitet for store og små bokstaver godtar bare små bokstaver "x". "somskilletegn:

    =TEXTSPLIT(A2, " x ")

    Vær oppmerksom på at skilletegnet har et mellomrom på begge sider av bokstaven " x " for å forhindre innledende og etterfølgende mellomrom i resultatene.

    For å slå av store og små bokstaver, oppgir du 1 for match_mode for å tvinge TEXTSPLIT-formelen til å ignorere store og små bokstaver:

    =TEXTSPLIT(A2, " x ", , ,1)

    Nå, alle strengene er delt riktig av begge skilletegn:

    Pad mangler verdier i 2D-matrise

    Det siste argumentet til TEXTSPLIT-funksjonen, pad_with , kommer godt med i tilfelle en eller flere verdier mangler i kildestrengen. Når en slik streng er delt inn i både kolonner og rader, returnerer Excel som standard #N/A-feil i stedet for de manglende verdiene for ikke å ødelegge strukturen til en todimensjonal matrise.

    I strengen nedenfor, det er ingen "=" ( col_delimiter ) etter "Poengsum". For å beholde integriteten til den resulterende matrisen, gir TEXTSPLIT ut #N/A ved siden av "Score".

    For å gjøre resultatet mer brukervennlig kan du erstatte #N/A-feilen med hvilken som helst verdi du ønsker. Bare skriv inn ønsket verdi i argumentet pad_with .

    I vårt tilfelle kan det være en bindestrek ("-"):

    =TEXTSPLIT(A2, "=", ", ", , ,"-")

    Eller en tom streng (""):

    =TEXTSPLIT(A2, "=", ", ", , ,"")

    Nå som du har lært praktisk bruk av hvert argument i TEXTSPLIT-funksjonen, la oss diskutere et par avanserte eksempler som kan hjelpe deg takle ikke-trivielle utfordringer i Excel-regnearkene dine.

    Del datoeri dag, måned og år

    For å dele en dato i individuelle enheter, må du først konvertere dato til tekst fordi TEXTSPLIT-funksjonen tar for seg tekststrenger mens Excel-datoer er tall.

    Den enkleste måten å konvertere en numerisk verdi til tekst er ved å bruke TEKST-funksjonen. Bare pass på å oppgi en passende formatkode for datoen din.

    I vårt tilfelle er formelen:

    =TEXT(A2, "m/d/yyyy")

    Neste trinn er å neste funksjonen ovenfor i det første argumentet til TEXTSPLIT og skriv inn det tilsvarende skilletegnet for det andre eller tredje argumentet, avhengig av om du deler opp på tvers av kolonner eller rader. I dette eksemplet er datoenhetene avgrenset med skråstreker, så vi bruker "/" for col_delimiter -argumentet:

    =TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")

    Del celler og fjern visse tegn

    Se for deg dette: du har delt en lang streng i biter, men den resulterende matrisen inneholder fortsatt noen uønskede tegn, for eksempel parenteser i skjermbildet nedenfor:

    =TEXTSPLIT(A2, " ", "; ")

    For å fjerne av åpnings- og lukkeparentesene om gangen, nes to SUBSTITUTE-funksjoner inn i hverandre (hver erstatter en parentes med en tom streng) og bruk TEXTSPLIT-formelen for tekst -argumentet til den indre SUBSTITUTE:

    =SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")

    Tips. Hvis den endelige matrisen inneholder for mange ekstra tegn, kan du fjerne dem ved å bruke en av metodene beskrevet i denne artikkelen: Slik fjerner du uønskede tegn i Excel.

    Delte strenger som hopper over bestemte verdier

    Anta at du vil dele strengene nedenfor i 4 kolonner: Fornavn , Etternavn , Poengsum og Resultat . Problemet er at noen strenger inneholder tittelen "Mr." eller "Ms.", på grunn av hvilke resultatene er feil:

    Løsningen er ikke åpenbar, men ganske enkel :)

    I tillegg til de eksisterende skilletegnene, som er et mellomrom (" ") og et komma og et mellomrom (", "), inkluderer du strengene "Mr. " og "Ms. " i col_delimiter -matrisekonstanten, slik at funksjonen bruker selve titlene til å skille tekst. For å ignorere tomme verdier, setter du ignore_empty -argumentet til TRUE.

    =TEXTSPLIT(A2, {" ",", ","Mr. ","Ms. "}, ,TRUE)

    Nå er resultatene helt perfekte!

    TEXTSPLIT-alternativer

    I Excel-versjoner der TEXTSPLIT-funksjonen ikke støttes, kan du dele opp strenger ved å bruke forskjellige kombinasjoner av SØK / FINN-funksjonen med VENSTRE, HØYRE og MIDDEL. Spesielt:

    • Søk som skiller mellom store og små bokstaver SEARCH eller FIND avgrenser mellom store og små bokstaver, bestemmer posisjonen til skilletegnet i en streng, og
    • VENSTRE-, HØYRE- og MID-funksjonene trekker ut en delstreng før , etter eller mellom to forekomster av skilletegnet.

    I vårt tilfelle, for å dele verdiene atskilt med et komma og et mellomrom , går formlene som følger.

    For å trekke ut navnet:

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

    For å trekke ut poengsummen:

    =MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)

    For å fåresultat:

    =RIGHT(A2, LEN(A2) - SEARCH(",",  A2, SEARCH(",",  A2) + 1)-1)

    For en detaljert forklaring av formlenes logikk, se Hvordan dele opp strenger etter tegn eller maske.

    Husk at i motsetning til den dynamiske matrisen TEXTSPLIT-funksjonen, disse formlene følger den tradisjonelle en-formel-en-celle-tilnærmingen. Du skriver inn formelen i den første cellen, og drar den nedover i kolonnen for å kopiere til cellene nedenfor.

    Skjermbildet nedenfor viser resultatene:

    Slik deler du celler i Excel 365 ved å bruke TEXTSPLIT eller alternative løsninger i tidligere versjoner. Jeg takker for at du leste og håper å se deg på bloggen vår neste uke!

    Øvningsarbeidsbok for nedlasting

    TEXTSPLIT-funksjon for å dele strenger – formeleksempler (.xlsx-fil)

    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.