Salt la conținutul principal

Împărțiți șirurile de text după delimitator în mai multe rânduri - 3 trucuri rapide

Autor: Xiaoyang Ultima modificare: 2023-06-08

În mod normal, puteți folosi funcția Text în coloană pentru a împărți conținutul celulei în mai multe coloane printr-un anumit delimitator, cum ar fi virgulă, punct, punct și virgulă, bară oblică etc. Dar, uneori, poate fi necesar să împărțiți conținutul celulei delimitate în mai multe rânduri. și repetați datele din alte coloane așa cum se arată mai jos. Aveți modalități bune de a face față acestei sarcini în Excel? Acest tutorial va introduce câteva metode eficiente pentru a finaliza această lucrare în Excel.


Video: Împărțiți șirurile de text după delimitator în mai multe rânduri


Metoda A: Împărțiți textul delimitat în mai multe rânduri prin cod VBA

În această secțiune, voi introduce două coduri VBA pentru a ajuta la împărțirea conținutului celulelor care sunt separate printr-un anumit delimitator.

Împărțiți textul separat prin virgulă, spațiu, punct și virgulă etc.

Pentru a împărți șirurile de text care sunt separate de un delimitator normal, cum ar fi virgulă, spațiu, punct și virgulă, bară oblică etc., următorul cod vă poate face o favoare. Vă rugăm să urmați pașii de mai jos:

 notițe: Acest cod nu a sustine Anula, ar fi bine să faceți backup pentru datele înainte de a aplica acest cod.

Pasul 1: Deschideți editorul de module VBA și copiați codul

1. Activați foaia pe care doriți să o utilizați. Și apoi, apăsați Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În fereastra deschisă, faceți clic pe Insera > Module pentru a crea un nou modul gol.

3. Apoi, copiați și inserați codul de mai jos în modulul gol.

Cod VBA: Împărțiți textul după un delimitator specific (virgulă, punct, spațiu etc.)

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   

Pasul 2: Executați codul pentru a obține rezultatul

1. După ce lipiți codul, apăsați F5 tasta pentru a rula acest cod. Apoi, va apărea o casetă de solicitare pentru a vă aminti că selectați celulele care conțin textul delimitat pe care doriți să îl împărțiți, vedeți captura de ecran:

2. Apoi, faceți clic pe OK, apare o altă casetă promptă pentru a vă aminti că introduceți separatorul pe care doriți să împărțiți datele pe baza. Aici, tastez o virgulă și un spațiu (, ), vezi captura de ecran:

3. În cele din urmă, faceți clic pe OK buton. Acum, veți vedea că șirurile de text selectate sunt împărțite în rânduri pe baza virgulei și alte date despre coloane relative sunt repetate după cum se arată în capturile de ecran de mai jos:


Împărțiți textul separat prin întrerupere de rând

Dacă conținutul celulei dvs. este separat prin întreruperi de linie, pentru a le împărți în mai multe rânduri, iată un alt cod VBA care vă poate ajuta.

 notițe: Acest cod nu a sustine Anula mai bine ai face backup la datele înainte de a aplica acest cod.

Pasul 1: Deschideți editorul de module VBA și copiați codul

1. presa Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În fereastra deschisă, faceți clic pe Insera > Module pentru a crea un nou modul gol.

3. Apoi, copiați și inserați codul de mai jos în modulul gol.

Cod VBA: Împărțiți textul prin întrerupere de linie

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 

Pasul 2: Executați codul pentru a obține rezultatul

1. După ce lipiți codul, apăsați F5 tasta pentru a rula acest cod. În caseta care apare, selectați celulele pe care doriți să le împărțiți, vedeți captura de ecran:

2. Apoi, faceți clic pe OK butonul, datele din celulele selectate sunt împărțite în rânduri, așa cum se arată mai jos:


Metoda B: 10s pentru a împărți textul delimitat în mai multe rânduri de Kutools pentru Excel

Dacă ați instalat Kutools pentru Excel, Cu său Împărțiți datele în rânduri caracteristică, puteți împărți șirurile de text în mai multe rânduri cu orice delimitator specificat. Vă rugăm să urmați următorii pași:

Pasul 1: Selectați caracteristica Împărțire date în rânduri

Clic Kutools > Merge & Split > Împărțiți datele în rânduri, vezi captura de ecran:

Pasul 2: Specificați celulele de date și delimitatorul pentru împărțire

În caseta de dialog care apare, utilizați următoarele opțiuni:

  • 1). Selectați lista de celule pe care doriți să le împărțiți din Interval (o singură coloană) casetă de text;
  • 2). Apoi, alegeți delimitatorul care vă separă datele, aici, voi alege Altele și tastați virgulă și un spațiu (, ) în caseta de text;
  • 3). În sfârșit, dați clic OK butonul.

Acum, celulele selectate cu șiruri de text delimitate au fost convertite în mai multe rânduri pe baza separatorului specific, vezi captura de ecran:

 sfaturi: Dacă doriți să restaurați datele originale, trebuie doar să apăsați Ctrl + Z pentru desfacere.

Ușor de folosit? Interesat de această funcție, vă rog faceți clic pentru a descărca pentru a obține o încercare gratuită timp de 30 de zile.


Metoda C: Împărțiți textul delimitat în mai multe rânduri prin Power Query

Dacă rulați Office 365 sau Excel 2016 și versiuni ulterioare, Power Query este un instrument puternic care vă poate ajuta să împărțiți textul delimitat în mai multe rânduri sau coloane. Este util dacă doriți ca datele împărțite să fie reîmprospătate atunci când datele inițiale se modifică. Vă rugăm să urmați următorii pași pentru a o finaliza:

Pasul 1: Introduceți tabelul de date în Power Query

1. Selectați intervalul de date pe care doriți să îl utilizați, apoi faceți clic Date > Din tabel, vezi captura de ecran:

 sfaturi: În Excel 2019 și Office 365, faceți clic Date > Din masă/gamă.

2. În popped-out Creați tabel casetă de dialog, faceți clic pe OK butonul pentru a crea un tabel, vezi captura de ecran:

3. Acum Power Query Editor se afișează fereastra cu datele, vezi captura de ecran:

Pasul 2: faceți transformările în Power Query

1. Selectați coloana pe care doriți să o împărțiți. Și apoi, faceți clic Acasă > Coloana împărțită > Prin delimitator, vezi captura de ecran:

2. În Împărțiți coloana după delimitator căsuță de dialog:

Pentru a împărți șirurile de text prin virgulă, spațiu, punct și virgulă etc., procedați astfel:

  • 1). Alegeți delimitatorul prin care datele dvs. sunt separate de Selectați sau introduceți delimitator lista verticală;
  • 2). Selectați Fiecare apariție a delimitatorului de la Split la secțiune;
  • 3). Apoi apasa Opţiuni avansate pentru a extinde secțiunea și selectați Rânduri în temeiul Împărțit în;
  • 4). În sfârșit, dați clic OK pentru a închide această casetă de dialog.

Pentru a împărți șirurile de text în mai multe rânduri prin întrerupere de link, procedați astfel:

  • 1). Alege pachet personalizat de la Selectați sau introduceți delimitator lista verticală;
  • 2). De la Introduceți caractere speciale drop-down, faceți clic Linie de alimentare, și personajele #(lf) va fi inserat în caseta de text de sub pachet personalizat automat;
  • 3). Selectați Fiecare apariție a delimitatorului din secțiunea Split at;
  • 4). Apoi apasa Opţiuni avansate pentru a extinde secțiunea și selectați Rânduri în temeiul Împărțit în;
  • 5). În sfârșit, dați clic OK pentru a închide această casetă de dialog.

3. Acum, datele selectate au fost împărțite în mai multe rânduri, așa cum se arată mai jos:

Pasul 3: Ieșiți Power Query la un tabel Excel

1. Și apoi, ar trebui să scoateți datele în foaia de lucru. Vă rugăm să faceți clic Acasă > Închideți și încărcați > Închideți și încărcați / Închideți și încărcați în, (aici, voi face clic Închideți și încărcați), vezi captura de ecran:

 sfaturi: Faceți clic pe Închideți și încărcați va scoate datele într-o nouă foaie de lucru; Clic Închideți și încărcați în opțiunea, datele vor fi trimise pe orice altă foaie de care aveți nevoie.

2. În cele din urmă, datele vor fi încărcate într-o nouă foaie de lucru, vezi captura de ecran:

 sfaturi: Dacă trebuie să actualizați frecvent datele din tabelul original, nu vă faceți griji, trebuie doar să faceți clic dreapta pe tabelul cu rezultate și să faceți clic Reîmprospăta pentru a obține noul rezultat în mod dinamic.


Articole pe aceeaşi temă:

  • Împărțiți valorile celulelor în mai multe coloane
  • În Excel, atunci când doriți să împărțiți o listă de valori ale celulei în mai multe coloane prin anumiți delimitatori, cum ar fi virgulă, spațiu, punct, linie nouă, etc., în mod normal, caracteristica încorporată Text în coloane vă poate ajuta să finalizați acest pas de lucru cu pas. În acest articol, voi vorbi despre câteva trucuri bune pentru a împărți cu ușurință și rapid valorile celulelor în mai multe coloane sau rânduri.
  • Împărțiți o celulă în mai multe rânduri sau coloane
  • Presupunând că aveți o singură celulă care conține mai multe conținuturi separate printr-un anumit caracter, de exemplu, punct și virgulă, și apoi doriți să împărțiți această celulă lungă în mai multe rânduri sau coloane pe baza punctului și virgulei, în acest caz, aveți modalități rapide să o rezolvi în Excel?
  • Împărțiți șirul de text după caz
  • În Excel, de obicei împărțim textul cu lățime fixă ​​sau delimitator cu funcția Text în coloane, dar ați încercat vreodată să împărțiți textul cu majuscule și minuscule? De exemplu, aveți o listă de date și trebuie să le împărțiți în două coloane în funcție de carcasă: o coloană conține șir cu litere mici, iar cealaltă conține șir cu majuscule, după cum se arată în imaginea de mai jos. Funcția Text în coloane nu acceptă această operațiune, cu toate acestea, pot introduce trucuri pentru a împărți rapid șirul de text după caz ​​în Excel.
  • Împarte numărul în cifre individuale
  • Presupunând că trebuie să spargeți sau să împărțiți numărul în cifre individuale, așa cum este prezentat mai jos, ce puteți face pentru a-l realiza? Acest articol vă va oferi două metode.
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations