Excel: Del streng etter skilletegn eller mønster, separat tekst og tall

  • Dele Denne
Michael Brown

Opplæringen forklarer hvordan du deler celler i Excel ved hjelp av formler og funksjonen Del tekst. Du vil lære hvordan du skiller tekst med komma, mellomrom eller et annet skilletegn, og hvordan du deler opp strenger i tekst og tall .

Å dele tekst fra én celle i flere celler er oppgaven alle Excel-brukere er håndtere en gang i blant. I en av våre tidligere artikler diskuterte vi hvordan du deler celler i Excel ved å bruke Tekst til kolonne -funksjonen og Flash-utfylling . I dag skal vi ta en grundig titt på hvordan du kan dele opp strenger ved hjelp av formler og verktøyet Split tekst .

    Hvordan dele tekst i Excel bruke formler

    For å dele en streng i Excel, bruker du vanligvis funksjonen VENSTRE, HØYRE eller MIDDEL i kombinasjon med enten FINN eller SØK. Ved første øyekast kan noen av formlene se komplekse ut, men logikken er faktisk ganske enkel, og de følgende eksemplene vil gi deg noen ledetråder.

    Del streng med komma, semikolon, skråstrek, bindestrek eller annet skilletegn.

    Når du deler celler i Excel, er nøkkelen å finne posisjonen til skilletegnet i tekststrengen. Avhengig av oppgaven din, kan dette gjøres ved å bruke enten SEARCH uten store og små bokstaver eller FIND. Når du har avgrensningsposisjonen, bruk HØYRE, VENSTRE eller MIDTE-funksjonen for å trekke ut den tilsvarende delen av tekststrengen. For bedre forståelse, la oss vurdere følgende(dato)

  • Tegn mellom 1. mellomrom og ordet FEIL: (tid)
  • Tekst mellom FEIL: og Unntak: (feilkode)
  • Alt som kommer etter Unntak: (unntakstekst)
  • Jeg håper du likte denne raske og enkle måten å dele strenger på i Excel. Hvis du er nysgjerrig på å prøve, er en evalueringsversjon tilgjengelig for nedlasting nedenfor. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!

    Tilgjengelige nedlastinger

    Excel Split Cells-formler (.xlsx-fil)

    Ultimate Suite 14-dagers fullt funksjonell versjon (.exe-fil)

    eksempel.

    Forutsatt at du har en liste over SKU-er med Item-Color-Size -mønsteret, og du vil dele kolonnen i 3 separate kolonner:

    1. For å trekke ut varenavnet (alle tegn før 1. bindestrek), sett inn følgende formel i B2, og kopier den ned i kolonnen:

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

      I denne formelen bestemmer SEARCH posisjonen til den første bindestreken ("-") i strengen, og VENSTRE-funksjonen trekker ut alle tegnene som er igjen til den (du trekker 1 fra bindestrekens posisjon fordi du ikke ønsker å trekke ut bindestreken selv).

    2. For å trekke ut fargen (alle tegn mellom 1. og 2. bindestrek), skriv inn følgende formel i C2, og kopier den deretter ned til andre celler:

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

      I denne formelen bruker vi Excel MID-funksjonen til å trekke ut tekst fra A2.

      Startposisjonen og antall tegn som skal trekkes ut beregnes ved hjelp av 4 forskjellige SØKE-funksjoner:

      • Startnummer er posisjonen til den første bindestreken +1:

        SEARCH("-",A2) + 1

      • Antall tegn som skal trekkes ut : forskjellen mellom posisjonen til den andre bindestreken og den første bindestreken, minus 1:

        SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1

    3. For å trekke ut størrelsen (alle tegn etter den tredje bindestreken), skriv inn følgende formel i D2:

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

      I denne formelen returnerer LEN-funksjonen den totale lengden på strengen,hvorfra du trekker posisjonen til den andre bindestreken. Forskjellen er antall tegn etter den andre bindestreken, og HØYRE-funksjonen trekker dem ut.

    På lignende måte kan du dele kolonne med hvilken som helst annen karakter. Alt du trenger å gjøre er å erstatte "-" med det nødvendige skilletegnet, for eksempel mellomrom (" "), komma (","), skråstrek ("/"), kolon (";"), semikolon (";"), og så videre.

    Tips. I formlene ovenfor tilsvarer +1 og -1 antall tegn i skilletegnet. I dette eksemplet er det en bindestrek (1 tegn). Hvis skilletegnet ditt består av 2 tegn, f.eks. et komma og et mellomrom, skriv deretter bare kommaet (",") til SEARCH-funksjonen, og bruk +2 og -2 i stedet for +1 og -1.

    Hvordan dele opp streng for linjeskift i Excel

    For å dele tekst etter mellomrom, bruk formler som ligner på de som ble vist i forrige eksempel. Den eneste forskjellen er at du trenger CHAR-funksjonen for å angi linjeskifttegnet siden du ikke kan skrive det direkte i formelen.

    Anta at cellene du vil dele ser ut som dette:

    Ta formlene fra forrige eksempel og erstatt en bindestrek ("-") med CHAR(10) der 10 er ASCII-koden for linjeinnmating.

    • For å trekke ut varenavnet :

      =LEFT(A2, SEARCH(CHAR(10),A2,1)-1)

    • For å trekke ut fargen :

      =MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)

    • Slik trekker du ut størrelsen :

      =RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))

    Og slik ser resultatet ut:

    Hvordan dele tekst og tall i Excel

    Til å begynne med er det ingen universell løsning som vil fungere for alle alfanumeriske strenger. Hvilken formel du skal bruke avhenger av det spesielle strengmønsteret. Nedenfor finner du formlene for de to vanlige scenariene.

    Delt streng med 'tekst + tall'-mønster

    Anta at du har en kolonne med strenger med tekst og tall kombinert, der et tall følger alltid tekst. Du vil bryte de opprinnelige strengene slik at teksten og tallene vises i separate celler, slik:

    Resultatet kan oppnås på to forskjellige måter.

    Metode 1: Telle siffer og trekke ut så mange tegn

    Den enkleste måten å dele opp tekststreng der tall kommer etter tekst er denne:

    For å trekke ut tall søk i strengen for alle mulige tall fra 0 til 9, få tallene totalt, og returner så mange tegn fra slutten av strengen.

    Med den opprinnelige strengen i A2 går formelen som følger:

    =RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))

    For å trekke ut tekst , beregner du hvor mange teksttegn strengen inneholder ved å trekke antall utpakkede sifre (C2) fra den totale lengden på den opprinnelige strengen i A2 . Etter det bruker du VENSTRE-funksjonen for å returnere så mange tegn fra begynnelsen av strengen.

    =LEFT(A2,LEN(A2)-LEN(C2))

    Hvor A2 er den opprinnelige strengen,og C2 er det ekstraherte tallet, som vist på skjermbildet:

    Metode 2: Finn ut posisjonen til det første sifferet i en streng

    Et alternativ løsningen ville være å bruke følgende formel for å bestemme posisjonen til det første sifferet i strengen:

    =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))

    Når posisjonen til det første sifferet er funnet, kan du dele tekst og tall ved å bruke veldig enkle VENSTRE og HØYRE formler.

    For å trekke ut tekst :

    =LEFT(A2, B2-1)

    For å trekke ut nummer :

    =RIGHT(A2, LEN(A2)-B2+1)

    Hvor A2 er den opprinnelige strengen, og B2 er posisjonen til det første tallet.

    For å bli kvitt hjelpekolonnen som holder posisjonen til det første sifferet, kan du legge inn MIN-formelen i funksjonene VENSTRE og HØYRE:

    Formel for å trekke ut tekst :

    =LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)

    Formel for å trekke ut tall :

    =RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)

    Del streng av 'nummer + tekst'-mønster

    Hvis du deler celler der tekst står etter nummer, kan trekke ut tall med følgende formel:

    =LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, ""))))

    Formelen er lik den som ble diskutert i forrige eksempel, bortsett fra at du bruker VENSTRE-funksjonen i stedet for HØYRE for å få tallet fra venstre side av strengen.

    Når du har tallene , trekk ut tekst ved å trekke antall sifre fra den totale lengden på den opprinnelige strengen:

    =RIGHT(A2,LEN(A2)-LEN(B2))

    Hvor A2 er den opprinnelige strengen og B2 er det ekstraherte tallet,som vist på skjermbildet nedenfor:

    Tips. For å få tall fra en hvilken som helst posisjon i tekststrengen , bruk enten denne formelen eller uttrekksverktøyet.

    Slik kan du dele opp strenger i Excel ved å bruke forskjellige kombinasjoner av forskjellige funksjoner. Som du ser, er formlene langt fra åpenbare, så det kan være lurt å laste ned eksempelarbeidsboken Excel Split Cells for å undersøke dem nærmere.

    Hvis det å finne ut de mystiske vendingene til Excel-formler ikke er din favorittjobb, kan du kan like den visuelle metoden for å dele celler i Excel, som er demonstrert i neste del av denne opplæringen.

    Hvordan dele opp celler i Excel med Split Text-verktøyet

    En alternativ måte å dele en kolonnen i Excel bruker Split Text-funksjonen som følger med Ultimate Suite for Excel, som gir følgende alternativer:

      For å gjøre ting klarere, la oss se nærmere på hvert alternativ, ett om gangen.

      Del celler etter tegn

      Velg dette alternativet når du vil dele celleinnholdet ved hver forekomst av det angitte tegnet .

      For dette eksemplet, la oss ta strengene til Item-Color-Size -mønsteret som vi brukte i den første delen av denne opplæringen. Som du kanskje husker, delte vi dem inn i 3 forskjellige kolonner ved å bruke 3 forskjellige formler. Og her er hvordan du kan oppnå det samme resultatet i 2 raske trinn:

      1. Forutsatt at du har Ultimate Suiteinstallert, velg cellene som skal deles, og klikk på Del tekst -ikonet på Ablebits Data -fanen.

      2. Delt tekst -panelet åpnes på høyre side av Excel-vinduet ditt, og du gjør følgende:
        • Utvid gruppen Del opp etter tegn og velg en av de forhåndsdefinerte skilletegnene eller skriv inn et hvilket som helst annet tegn i Egendefinert -boksen.
        • Velg om du vil dele celler til kolonner eller rader.
        • Se gjennom resultatet under Forhåndsvisning og klikk på Del -knappen.

      Tips. Hvis det kan være flere påfølgende skilletegn i en celle (for eksempel mer enn ett mellomrom), velg boksen Behandle påfølgende skilletegn som én .

      Ferdig! Oppgaven som krevde 3 formler og 5 forskjellige funksjoner tar nå bare et par sekunder og et knappeklikk.

      Del celler etter streng

      Dette alternativet lar du deler strenger ved å bruke en hvilken som helst kombinasjon av tegn som skilletegn. Teknisk sett deler du en streng i deler ved å bruke en eller flere forskjellige understrenger som grenser for hver del.

      For eksempel, for å dele en setning med konjunksjonene " og " og " eller ", utvider Delt etter strenger -gruppen, og skriv inn skilletegnstrengene, én per linje:

      Som resultat, Kildefrasen skilles ved hver forekomst av hvert skilletegn:

      Tips.Tegnene "eller" så vel som "og" kan ofte være en del av ord som "oransje" eller "Andalusia", så sørg for å skrive et mellomrom før og etter og og eller for å forhindre splittelse av ord.

      Og her et annet virkelighetseksempel. Anta at du har importert en kolonne med datoer fra en ekstern kilde, som ser ut som følger:

      5.1.2016 12:20

      5.2.2016 14:50

      Dette formatet er ikke konvensjonelt for Excel, og derfor vil ingen av datofunksjonene gjenkjenne noen av dato- eller klokkeslettelementene. For å dele dag, måned, år, timer og minutter i separate celler, skriv inn følgende tegn i boksen Del opp etter strenger :

      • Prikk (.) for å skille dag, måned , og år
      • Kolon (:) for å skille timer og minutter
      • Mellom for å skille dato og klokkeslett

      Trykk på Split -knappen, og du vil umiddelbart få resultatet:

      Split celler etter maske (mønster)

      Skille en celle for maske betyr å dele en streng basert på et mønster .

      Dette alternativet er veldig nyttig når du trenger å dele en liste med homogene strenger i noen elementer, eller understrenger. Komplikasjonen er at kildeteksten ikke kan deles ved hver forekomst av et gitt skilletegn, kun ved noen spesifikke forekomster. Følgende eksempel vil gjøre ting lettere å forstå.

      Forutsatt at du har en liste over strenger hentet fra en loggfil:

      Det du ønsker er å ha dato og klokkeslett, hvis noen, feilkode og unntaksdetaljer i 3 separate kolonner. Du kan ikke bruke et mellomrom som skilletegn fordi det er mellomrom mellom dato og klokkeslett, som skal vises i én kolonne, og det er mellomrom innenfor unntaksteksten, som også skal vises i én kolonne.

      Løsningen er dele en streng med følgende maske: *FEIL:*Unntak:*

      Hvor stjernen (*) representerer et hvilket som helst antall tegn.

      Kolonene (:) er inkludert i skilletegnene fordi vi ikke vil at de skal vises i de resulterende cellene.

      Og nå utvider du Delt med maske -delen på Delt tekst ruten, skriv inn masken i boksen Skriv inn skilletegn og klikk Del opp :

      Resultatet vil se slik ut:

      Merk. Å dele opp streng etter maske er skillende mellom store og små bokstaver . Så pass på å skrive inn tegnene i masken nøyaktig slik de vises i kildestrengene.

      En stor fordel med denne metoden er fleksibilitet. For eksempel, hvis alle de originale strengene har dato- og klokkeslettverdier, og du vil at de skal vises i forskjellige kolonner, bruker du denne masken:

      * *FEIL:*Unntak:*

      Oversatt til vanlig engelsk instruerer masken tillegget om å dele de originale strengene i 4 deler:

      • Alle tegn før det første mellomrommet som finnes i strengen

      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.