Gå til hovedindhold

Opdel tekststrenge med skilletegn i flere rækker - 3 hurtige tricks

Normalt kan du bruge funktionen Tekst til kolonne til at opdele celleindhold i flere kolonner med et specifikt skilletegn, såsom komma, prik, semikolon, skråstreg osv. Men nogle gange kan det være nødvendigt at opdele det afgrænsede celleindhold i flere rækker og gentag dataene fra andre kolonner som vist nedenfor. Har du nogen gode måder at håndtere denne opgave i Excel? Denne tutorial vil introducere nogle effektive metoder til at fuldføre dette job i Excel.


Video: Opdel tekststrenge med skilletegn i flere rækker


Metode A: Opdel afgrænset tekst i flere rækker med VBA-kode

I dette afsnit vil jeg introducere to VBA-koder for at hjælpe med at opdele celleindholdet, som er adskilt af en bestemt afgrænsning.

Opdel tekst adskilt af komma, mellemrum, semikolon osv.

For at opdele tekststrengene, som er adskilt af et normalt skilletegn, såsom komma, mellemrum, semikolon, skråstreg osv., kan følgende kode gøre dig en tjeneste. Følg venligst nedenstående trin:

 Bemærk: Denne kode ikke support Fortryd, må du hellere sikkerhedskopiere dataene, før du anvender denne kode.

Trin 1: Åbn VBA-moduleditoren og kopier koden

1. Aktiver det ark, du vil bruge. Og tryk så Alt + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik på i det åbnede vindue indsatte > Moduler for at oprette et nyt tomt modul.

3. Kopier og indsæt derefter nedenstående kode i det tomme modul.

VBA-kode: Opdel tekst med specifik afgrænsning (komma, prik, mellemrum osv.)

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    Dim xSRg, xIptRg, xCrRg, xRg As Range
    Dim xSplitChar As String
    Dim xArr As Variant
    Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
    Dim xWSh As Worksheet
    Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
    If xSplitChar = "" Then Exit Sub
    Application.ScreenUpdating = False
    xRow = xSRg.Row
    xColumn = xSRg.Column
    Set xWSh = xSRg.Worksheet
    For xFNum = xSRg.Rows.Count To 1 Step -1
        Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        For xFFNum = LBound(xArr) To UBound(xArr)
            xRg.EntireRow.Copy
            xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
            xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub   

Trin 2: Udfør koden for at få resultatet

1. Når du har indsat koden, skal du trykke på F5 nøglen til at køre denne kode. Derefter springer en promptboks frem for at minde dig om at vælge cellerne indeholdende den afgrænsede tekst, som du vil opdele, se skærmbillede:

2. Klik derefter på OK, vises en anden promptboks for at minde dig om at skrive den separator, du vil opdele dataene baseret på. Her skriver jeg et komma og et mellemrum (, ), se skærmbillede:

3. Til sidst skal du klikke på OK knap. Nu vil du se, at de valgte tekststrenge er opdelt i rækker baseret på kommaet, og andre relative kolonnedata gentages som vist nedenfor skærmbilleder:


Opdel tekst adskilt af linjeskift

Hvis dit celleindhold er adskilt af linjeskift, for at opdele dem i flere rækker, er her en anden VBA-kode, som kan hjælpe dig.

 Bemærk: Denne kode ikke support Fortryd Du må hellere sikkerhedskopiere dataene, før du anvender denne kode.

Trin 1: Åbn VBA-moduleditoren og kopier koden

1. Trykke Alt + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik på i det åbnede vindue indsatte > Moduler for at oprette et nyt tomt modul.

3. Kopier og indsæt derefter nedenstående kode i det tomme modul.

VBA-kode: Opdel tekst efter linjeskift

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    Dim xSRg, xIptRg, xCrRg, xRg As Range
    Dim xSplitChar As String
    Dim xArr As Variant
    Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
    Dim xWSh As Worksheet
    Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSplitChar = Chr(10)
    Application.ScreenUpdating = False
    xRow = xSRg.Row
    xColumn = xSRg.Column
    Set xWSh = xSRg.Worksheet
    For xFNum = xSRg.Rows.Count To 1 Step -1
        Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        For xFFNum = LBound(xArr) To UBound(xArr)
            xRg.EntireRow.Copy
            xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
            xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub 

Trin 2: Udfør koden for at få resultatet

1. Når du har indsat koden, skal du trykke på F5 nøglen til at køre denne kode. Vælg venligst de celler, du ønsker at opdele, i det åbnede felt, se skærmbillede:

2. Klik derefter på OK knappen, er dataene i de valgte celler opdelt i rækker som vist nedenfor skærmbillede:


Metode B: 10s til at opdele afgrænset tekst i flere rækker af Kutools til Excel

Hvis du har installeret Kutools til Excel, Med Opdel data til rækker funktion, kan du opdele tekststrengene i flere rækker med en hvilken som helst afgrænsning, du har angivet. Gør venligst med følgende trin:

Trin 1: Vælg funktionen Opdel data til rækker

Klik Kutools > Flet og del > Opdel data til rækker, se skærmbillede:

Trin 2: Angiv datacellerne og skilletegn for opdeling

I den åbnede dialogboks skal du bruge følgende muligheder:

  • 1). Vælg listen over celler, som du vil opdele fra Interval (enkelt kolonne) tekstboks;
  • 2). Vælg derefter afgrænsningen, der adskiller dine data, her vil jeg vælge Andet og skriv komma og et mellemrum (, ) i tekstboksen;
  • 3). Klik endelig OK .

Nu er de valgte celler med afgrænsede tekststrenge blevet konverteret til flere rækker baseret på den specifikke separator, se skærmbillede:

 Tips: Hvis du vil gendanne de originale data, skal du blot trykke Ctrl + Z for at fortryde.

Let at bruge? Interesseret i denne funktion, tak klik for at downloade for at få en gratis prøveperiode i 30 dage.


Metode C: Opdel afgrænset tekst i flere rækker efter Power Query

Hvis du kører Office 365 eller Excel 2016 og nyere versioner, Power Query er et kraftfuldt værktøj, som kan hjælpe dig med at opdele afgrænset tekst i flere rækker eller kolonner. Det er nyttigt, hvis du ønsker, at de opdelte data skal opdateres, når dine oprindelige data ændres. Udfør venligst følgende trin for at afslutte det:

Trin 1: Få datatabellen ind Power Query

1. Vælg det dataområde, du vil bruge, og klik derefter data > Fra tabel, se skærmbillede:

 Tips: Klik på i Excel 2019 og Office 365 data > Fra tabel/område.

2. I den poppede ud Opret tabel dialogboksen, klik OK knap for at oprette en tabel, se skærmbillede:

3. Nu, den Power Query editor vinduet vises med dataene, se skærmbillede:

Trin 2: Udfør transformationerne i Power Query

1. Vælg den kolonne, du vil opdele. Og klik derefter Home > Opdel kolonne > Ved afgrænsning, se skærmbillede:

2. i Opdel kolonne efter afgrænsning dialog boks:

For at opdele tekststrengene efter komma, mellemrum, semikolon osv. skal du gøre følgende:

  • 1). Vælg afgrænsningen dine data adskilt af fra Vælg eller indtast skilletegn rulleliste
  • 2). Vælg Hver forekomst af afgrænsningen fra Split kl afsnit;
  • 3). Klik derefter Avancerede indstillinger for at udvide sektionen, og vælg Rækker under Opdelt i;
  • 4). Klik endelig OK for at lukke denne dialogboks.

For at opdele tekststrenge i flere rækker ved hjælp af linkbrud, skal du gøre følgende:

  • 1). Vælge Tilpasset fra Vælg eller indtast skilletegn rulleliste
  • 2). Fra Indsæt specialtegn drop-down, klik Line Feed, og karaktererne #(lf) vil blive indsat i tekstboksen under Tilpasset automatisk;
  • 3). Vælg Hver forekomst af afgrænsningen fra sektionen Split ved;
  • 4). Klik derefter Avancerede indstillinger for at udvide sektionen, og vælg Rækker under Opdelt i;
  • 5). Klik endelig OK for at lukke denne dialogboks.

3. Nu er de valgte data blevet opdelt i flere rækker som vist nedenfor skærmbillede:

Trin 3: Udskriv Power Query til en Excel-tabel

1. Og så skal du udlæse dataene i dit regneark. Klik venligst Home > Luk og indlæs > Luk og indlæs / Luk & indlæs til, (her vil jeg klikke Luk og indlæs), se skærmbillede:

 Tips: Klik Luk og indlæs vil udlæse dataene til et nyt regneark; Klik Luk & indlæs til mulighed, vil dataene blive outputtet til ethvert andet ark, du har brug for.

2. Til sidst vil dataene blive indlæst i et nyt regneark, se skærmbillede:

 Tips: Hvis du har brug for at opdatere dine data i den originale tabel ofte, skal du ikke bekymre dig, du skal bare højreklikke på resultattabellen og klikke Opfrisk for at få det nye resultat dynamisk.


Relaterede artikler:

  • Opdel celleværdier i flere kolonner
  • Når du i Excel vil opdele en liste over celleværdier i flere kolonner med bestemte afgrænsningstegn, såsom komma, mellemrum, punktum, ny linje, ect, kan den indbyggede tekst til kolonner-funktionen normalt hjælpe dig med at afslutte dette jobtrin for trin. I denne artikel vil jeg tale om nogle gode tricks for dig at opdele celleværdierne i flere kolonner eller rækker nemt og hurtigt.
  • Opdel en celle i flere rækker eller kolonner
  • Antag at du har en enkelt celle, der indeholder flere indhold adskilt af et bestemt tegn, for eksempel semikolon, og så vil du opdele denne lange celle i flere rækker eller kolonner baseret på semikolonet. I dette tilfælde har du nogen hurtige måder at løse det i Excel?
  • Opdel tekststreng for sag
  • I Excel deler vi normalt tekst efter fast bredde eller afgrænsning med funktionen Tekst til kolonner, men har du nogensinde prøvet at opdele tekst med store og små bogstaver? For eksempel har du en liste over data, og du skal opdele dem i to kolonner baseret på sagen: den ene kolonne indeholder små bogstaver og den anden indeholder store bogstaver som vist nedenfor i skærmbilledet. Funktionen Tekst til kolonner understøtter ikke denne operation, men jeg kan introducere et trick til hurtigt at opdele tekststreng efter sag i Excel.
  • Opdel nummer i individuelle cifre
  • Antag, at du har brug for at opdele eller opdele nummer i individuelle cifre som vist nedenstående skærmbillede, hvad kan du gøre for at opnå det? Denne artikel giver dig to metoder.
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations