Indholdsfortegnelse
I denne vejledning forklares det, hvordan du opdeler celler i Excel ved hjælp af formler og funktionen Split Text. Du lærer at adskille tekst med komma, mellemrum eller andre afgrænsere, og hvordan du opdeler strenge i tekst og tal. .
Opdeling af tekst fra en celle til flere celler er en opgave, som alle Excel-brugere har at gøre med en gang imellem. I en af vores tidligere artikler diskuterede vi, hvordan man opdeler celler i Excel ved hjælp af Tekst til kolonne funktion og Flash Fill I dag vil vi se nærmere på, hvordan du kan opdele strenge ved hjælp af formler og Opdelte tekst værktøj.
Sådan deler du tekst i Excel ved hjælp af formler
For at opdele en streng i Excel bruger du normalt funktionen LEFT, RIGHT eller MID i kombination med enten FIND eller SEARCH. Ved første øjekast kan nogle af formlerne se komplekse ud, men logikken er faktisk ret enkel, og de følgende eksempler vil give dig nogle fingerpeg.
Opdele streng med komma, semikolon, skråstreg, streg eller anden afgrænser
Når du opdeler celler i Excel, er det vigtigt at finde placeringen af afgrænseren i tekststrengen. Afhængigt af din opgave kan dette gøres ved at bruge enten case-insensitive SEARCH eller case-sensitive FIND. Når du har positionen for afgrænseren, skal du bruge funktionen RIGHT, LEFT eller MID til at udtrække den tilsvarende del af tekststrengen. For bedre at forstå det, lad os se på følgendeeksempel.
Hvis du har en liste over SKU'er for en Vare-farve-størrelse mønster, og du ønsker at opdele kolonnen i 3 separate kolonner:
- For at udtrække den navn på varen (alle tegn før den første bindestreg), indsæt følgende formel i B2, og kopier den derefter ned i kolonnen:
=LEFT(A2, SEARCH("-",A2,1)-1)
I denne formel bestemmer SEARCH positionen for den første bindestreg ("-") i strengen, og funktionen LEFT udtrækker alle tegn til venstre for den (du trækker 1 fra bindestregens position, fordi du ikke ønsker at udtrække selve bindestregen).
- For at udtrække den farve (alle tegn mellem 1. og 2. bindestreg), indtast følgende formel i C2, og kopier den derefter ned til andre celler:
=MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)
I denne formel bruger vi Excel MID-funktionen til at udtrække tekst fra A2.
Startpositionen og antallet af tegn, der skal udtrækkes, beregnes ved hjælp af 4 forskellige SØGNINGsfunktioner:
- Startnummer er placeringen af den første bindestreg +1:
SEARCH("-",A2) + 1
- Antal tegn, der skal udtrækkes : forskellen mellem placeringen af den anden bindestreg og den første bindestreg, minus 1:
SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1
- Startnummer er placeringen af den første bindestreg +1:
- For at udtrække den størrelse (alle tegn efter den 3. bindestreg), indtast følgende formel i D2:
=RIGHT(A2,LEN(A2) - SEARCH("-", A2, SEARCH("-", A2) + 1))
I denne formel returnerer LEN-funktionen den samlede længde af strengen, hvorfra du trækker positionen for den anden bindestreg fra. Forskellen er antallet af tegn efter den anden bindestreg, og RIGHT-funktionen udtrækker dem.
På samme måde kan du opdele kolonner med et hvilket som helst andet tegn. Du skal blot erstatte "-" med det ønskede afgrænsningstegn, f.eks. rum (" "), komma (","), skråstreg ("/"), tyktarmen (";"), semikolon (";") og så videre.
Tip: I ovenstående formler svarer +1 og -1 til antallet af tegn i afgrænseren. I dette eksempel er det en bindestreg (1 tegn). Hvis din afgrænser består af 2 tegn, f.eks. et komma og et mellemrum, skal du kun angive kommaet (",") til SEARCH-funktionen, og bruge +2 og -2 i stedet for +1 og -1.
Sådan opdeles streng ved linjeskift i Excel
Hvis du vil opdele tekst efter mellemrum, skal du bruge formler, der ligner dem, der blev vist i det foregående eksempel. Den eneste forskel er, at du skal bruge CHAR-funktionen til at angive linjeskiftstegnet, da du ikke kan skrive det direkte i formlen.
Antag, at de celler, du vil dele, ligner dette:
Tag formlerne fra det foregående eksempel og erstat en bindestreg ("-") med CHAR(10), hvor 10 er ASCII-koden for Line feed.
- For at udtrække den navn på varen :
=LEFT(A2, SEARCH(CHAR(10),A2,1)-1)
- For at udtrække den farve :
=MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)
- For at udtrække den størrelse :
=RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1)))
Og sådan ser resultatet ud:
Sådan deler du tekst og tal i Excel
Til at begynde med er der ikke nogen universalløsning, der virker for alle alfanumeriske strenge. Hvilken formel der skal bruges, afhænger af det pågældende strengmønster. Nedenfor finder du formlerne for de to mest almindelige scenarier.
Opdeling af en streng med mønsteret "tekst + tal
Antag, at du har en kolonne af strenge med tekst og tal kombineret, hvor et tal altid følger efter tekst. Du vil bryde de oprindelige strenge, så tekst og tal vises i separate celler, som her:
Resultatet kan opnås på to forskellige måder.
Metode 1: Tæl cifre og uddrag så mange tegn
Den nemmeste måde at opdele en tekststreng, hvor nummeret kommer efter teksten, er denne:
Til udtrække numre søger du i strengen efter alle mulige tal fra 0 til 9, får det samlede antal tal og returnerer så mange tegn fra slutningen af strengen.
Med den oprindelige streng i A2 lyder formlen som følger:
=RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))
Til udtrække tekst beregner du, hvor mange teksttegn strengen indeholder, ved at trække antallet af ekstraherede cifre (C2) fra den oprindelige strengs samlede længde i A2. Derefter bruger du funktionen LEFT til at returnere det antal tegn fra begyndelsen af strengen.
=LEFT(A2,LEN(A2)-LEN(C2)))
Hvor A2 er den oprindelige streng, og C2 er det udtrukne nummer, som vist på skærmbilledet:
Metode 2: Find ud af placeringen af det første ciffer i en streng
En alternativ løsning ville være at bruge følgende formel til at bestemme positionen af det første ciffer i strengen:
=MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))
Når først det første ciffer er fundet, kan du opdele tekst og tal ved hjælp af meget enkle formler til venstre og højre.
Til udtrækning tekst :
= VENSTRE(A2, B2-1)
Til udtrækning nummer :
=RIGHT(A2, LEN(A2)-B2+1)
Hvor A2 er den oprindelige streng, og B2 er positionen for det første nummer.
Hvis du vil slippe for hjælpekolonnen, der indeholder positionen for det første ciffer, kan du integrere MIN-formlen i funktionerne LEFT og RIGHT:
Formel til udtrækning tekst :
=LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
Formel til ekstraktion numre :
=RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)
Opdeling af en streng med mønsteret "nummer + tekst".
Hvis du opdeler celler, hvor der står tekst efter et tal, kan du udtrække numre med følgende formel:
=LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0", "1", "2", "3", "4", "4", "5", "6", "7", "8", "9"}, ""))))
Formlen svarer til den, der blev diskuteret i det foregående eksempel, bortset fra at du bruger funktionen LEFT i stedet for RIGHT til at få tallet fra venstre side af strengen.
Når du har tallene, uddrag tekst ved at trække antallet af cifre fra den oprindelige strengs samlede længde:
=RIGHT(A2,LEN(A2)-LEN(B2)))
Hvor A2 er den oprindelige streng og B2 er det udtrækkede nummer, som vist i skærmbilledet nedenfor:
Tip. For at få nummer fra enhver position i tekststrengen , bruge enten denne formel eller værktøjet Udtrække.
Sådan kan du opdele strenge i Excel ved hjælp af forskellige kombinationer af forskellige funktioner. Som du kan se, er formlerne langt fra indlysende, så du kan downloade Excel-arbejdsmappen Excel Split Cells for at undersøge dem nærmere.
Hvis det ikke er din yndlingsbeskæftigelse at finde ud af Excel-formler, kan du måske lide den visuelle metode til at opdele celler i Excel, som demonstreres i den næste del af denne vejledning.
Sådan deler du celler i Excel med værktøjet Split Text
En alternativ måde at opdele en kolonne i Excel på er ved hjælp af funktionen Split Text, der er inkluderet i vores Ultimate Suite for Excel, som giver følgende muligheder:
For at gøre tingene klarere, skal vi se nærmere på hver enkelt mulighed, én ad gangen.
Opdele celler efter tegn
Vælg denne indstilling, når du ønsker at opdele celleindholdet ved hver forekomst af det angivne tegn .
I dette eksempel tager vi strengene i Vare-farve-størrelse mønsteret, som vi brugte i første del af denne vejledning. Som du måske husker, opdelte vi dem i 3 forskellige kolonner ved hjælp af 3 forskellige formler. Og her er hvordan du kan opnå det samme resultat i 2 hurtige trin:
- Hvis du har Ultimate Suite installeret, skal du vælge de celler, der skal opdeles, og klikke på Opdelte tekst på ikonet på Ablebits Data fanebladet.
- Opdelte tekst åbnes i højre side af dit Excel-vindue, og du kan gøre følgende:
- Udvid den Opdelt efter tegn gruppe, og vælg en af de foruddefinerede afgrænsere eller skriv et andet tegn i feltet Tilpasset boks.
- Vælg, om cellerne skal opdeles i kolonner eller rækker.
- Gennemgå resultatet under Forhåndsvisning og klik på Split knap.
Tip. Hvis der kan være flere på hinanden følgende afgrænsere i en celle (f.eks. mere end et mellemrum), skal du vælge den Behandler på hinanden følgende afgrænsere som én boks.
Færdig! Den opgave, der krævede 3 formler og 5 forskellige funktioner, tager nu kun et par sekunder og et klik på en knap.
Opdele celler efter streng
Med denne indstilling kan du opdele strenge ved hjælp af enhver kombination af tegn Teknisk set opdeler du en streng i dele ved at bruge en eller flere forskellige delstrenge som afgrænsning af hver del.
Hvis du f.eks. vil opdele en sætning ved hjælp af konjunktionerne " og " og " eller ", udvider du Opdelt efter strenge gruppe, og indtast afgrænsningsstrengene, én pr. linje:
Resultatet er, at kildesætningen adskilles ved hver forekomst af hvert afgrænsningsled:
Tip. Tegnene "eller" og "og" kan ofte være en del af ord som "appelsin" eller "Andalusien", så sørg for at skrive et rum før og efter og og eller for at undgå at dele ord op.
Og her er et andet eksempel fra det virkelige liv: Antag, at du har importeret en kolonne med datoer fra en ekstern kilde, som ser således ud:
5.1.2016 12:20
5.2.2016 14:50
Dette format er ikke konventionelt for Excel, og derfor vil ingen af datofunktionerne kunne genkende nogen af dato- eller tidselementerne. Hvis du vil opdele dag, måned, år, timer og minutter i separate celler, skal du indtaste følgende tegn i feltet Opdelt efter strenge boks:
- Punkt (.) til at adskille dag, måned og år
- kolon (:) til at adskille timer og minutter
- Mellemrum til at adskille dato og klokkeslæt
Tryk på Split knappen, og du vil straks få resultatet:
Opdele celler efter maske (mønster)
At adskille en celle med en maske betyder at opdele en streng baseret på et mønster .
Denne indstilling er meget praktisk, når du har brug for at opdele en liste af ensartede strenge i nogle elementer eller understrenge. Komplikationen er, at kildeteksten ikke kan opdeles ved hver forekomst af en given afgrænser, men kun ved nogle specifikke forekomster. Det følgende eksempel vil gøre det lettere at forstå.
Antag, at du har en liste over strenge, der er udtrukket fra en logfil:
Du ønsker at have dato og klokkeslæt, hvis det er tilfældet, fejlkode og undtagelsesoplysninger i 3 separate kolonner. Du kan ikke bruge et mellemrum som afgrænsningsmærke, fordi der er mellemrum mellem dato og klokkeslæt, som skal vises i én kolonne, og der er mellemrum i undtagelsesteksten, som også skal vises i én kolonne.
Løsningen er at opdele en streng ved hjælp af følgende maske: *ERROR:*Udtagelse:*
Hvor asterisk (*) repræsenterer et vilkårligt antal tegn.
Punktummet (:) er med i afgrænserne, fordi vi ikke ønsker, at de skal vises i de resulterende celler.
Og nu skal du udvide den Opdelt efter maske i afsnittet på Opdelte tekst skal du skrive masken i feltet Indtast afgrænsere feltet, og klik på Split :
Resultatet kommer til at se nogenlunde sådan her ud:
Bemærk. Opsplitning af streng efter maske er skraldefølsom Sørg derfor for at skrive tegnene i masken nøjagtigt som de vises i kildetrådene.
En stor fordel ved denne metode er fleksibiliteten. Hvis alle de oprindelige strenge f.eks. har dato- og tidsværdier, og du ønsker, at de skal vises i forskellige kolonner, skal du bruge denne maske:
* *ERROR:*Exception:*
Oversat til almindeligt dansk instruerer masken tilføjelsesprogrammet til at opdele de originale strenge i fire dele:
- Alle tegn før det første mellemrum i strengen (dato)
- Karakterer mellem det første mellemrum og ordet FEJL: (tid)
- Tekst mellem FEJL: og Undtagelse: (fejlkode)
- Alt, hvad der kommer efter Undtagelse: (undtagelsesbestemmelse)
Jeg håber, at du kunne lide denne hurtige og enkle måde at opdele strenge i Excel på. Hvis du er nysgerrig efter at prøve det, kan du downloade en evalueringsversion nedenfor. Tak fordi du læste med, og jeg håber at se dig på vores blog i næste uge!
Tilgængelige downloads
Excel-formler til opdelte celler (.xlsx-fil)
Ultimate Suite 14-dages fuldt funktionsdygtig version (.exe-fil)