Přejít k hlavnímu obsahu

Rozdělit textové řetězce oddělovačem do více řádků – 3 rychlé triky

Normálně můžete použít funkci Text to Column k rozdělení obsahu buňky do více sloupců pomocí určitého oddělovače, jako je čárka, tečka, středník, lomítko atd. Někdy však může být nutné rozdělit obsah buňky s oddělovači do více řádků a zopakujte data z dalších sloupců, jak je uvedeno níže. Máte nějaké dobré způsoby, jak se s tímto úkolem vypořádat v aplikaci Excel? Tento tutoriál představí některé efektivní metody k dokončení této úlohy v Excelu.


Video: Rozdělte textové řetězce pomocí oddělovače do více řádků


Metoda A: Rozdělte text s oddělovači do více řádků pomocí kódu VBA

V této části představím dva kódy VBA, které pomohou rozdělit obsah buněk, které jsou odděleny určitým oddělovačem.

Rozdělit text oddělený čárkou, mezerou, středníkem atd.

Chcete-li rozdělit textové řetězce, které jsou odděleny nějakým normálním oddělovačem, jako je čárka, mezera, středník, lomítko atd., může vám pomoci následující kód. Postupujte prosím podle následujících kroků:

 Poznámka: Tento kód není podpora Zrušit, před použitím tohoto kódu si raději zálohujte data.

Krok 1: Otevřete editor modulu VBA a zkopírujte kód

1. Aktivujte list, který chcete použít. A pak stiskněte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V otevřeném okně klikněte na Vložit > Modul k vytvoření nového prázdného modulu.

3. Poté zkopírujte a vložte níže uvedený kód do prázdného modulu.

Kód VBA: Rozdělte text konkrétním oddělovačem (čárka, tečka, mezera atd.)

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   

Krok 2: Spuštěním kódu získáte výsledek

1. Po vložení kódu stiskněte F5 klíč ke spuštění tohoto kódu. Poté se zobrazí okno s výzvou, které vám připomene, že jste vybrali buňky obsahující text s oddělovači, který chcete rozdělit, viz snímek obrazovky:

2. Poté klikněte na OK, objeví se další okno s výzvou, které vám připomene zadat oddělovač, podle kterého chcete data rozdělit. Zde napíšu čárku a mezeru (, ), viz snímek obrazovky:

3. Nakonec klikněte na OK knoflík. Nyní uvidíte, že vybrané textové řetězce jsou rozděleny do řádků na základě čárky a data ostatních relativních sloupců se opakují, jak je uvedeno níže:


Rozdělit text oddělený zalomením řádku

Pokud je obsah vašich buněk oddělen zalomením řádků, chcete-li je rozdělit do více řádků, zde je další kód VBA, který vám může pomoci.

 Poznámka: Tento kód není podpora Zrušit před použitím tohoto kódu si raději zálohujte data.

Krok 1: Otevřete editor modulu VBA a zkopírujte kód

1. lis Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V otevřeném okně klikněte na Vložit > Modul k vytvoření nového prázdného modulu.

3. Poté zkopírujte a vložte níže uvedený kód do prázdného modulu.

Kód VBA: Rozdělte text zalomením řádku

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 

Krok 2: Spuštěním kódu získáte výsledek

1. Po vložení kódu stiskněte F5 klíč ke spuštění tohoto kódu. Ve vyskakovacím poli vyberte buňky, které chcete rozdělit, viz snímek obrazovky:

2. Poté klikněte na OK tlačítko, data ve vybraných buňkách jsou rozdělena do řádků, jak je znázorněno na obrázku níže:


Metoda B: 10s pro rozdělení textu s oddělovači do více řádků pomocí Kutools pro Excel

Pokud jste nainstalovali Kutools pro Excel, S jeho Rozdělit data do řádků můžete rozdělit textové řetězce do více řádků libovolným oddělovačem, který jste zadali. Proveďte prosím následující kroky:

Krok 1: Vyberte funkci Rozdělit data do řádků

klikněte Kutools > Sloučit a rozdělit > Rozdělit data do řádků, viz screenshot:

Krok 2: Zadejte datové buňky a oddělovač pro rozdělení

Ve vyskakovacím dialogovém okně použijte následující možnosti:

  • 1). Vyberte seznam buněk, které chcete oddělit Rozsah (jeden sloupec) Textové pole;
  • 2). Poté vyberte oddělovač, který odděluje vaše data, zde vyberu já Ostatní a do textového pole zadejte čárku a mezeru (, );
  • 3). Konečně klikni OK .

Nyní byly vybrané buňky s oddělenými textovými řetězci převedeny na více řádků na základě konkrétního oddělovače, viz snímek obrazovky:

 Tipy: Pokud chcete obnovit původní data, stačí stisknout Ctrl + Z pro zrušení.

Snadné použití? Máte zájem o tuto funkci, prosím kliknutím stáhněte a získejte bezplatnou zkušební verzi na 30 dní.


Metoda C: Rozdělit text s oddělovači do více řádků podle Power Query

Pokud používáte Office 365 nebo Excel 2016 a novější verze, Power Query je výkonný nástroj, který vám pomůže rozdělit text s oddělovači do více řádků nebo sloupců. Je to užitečné, pokud chcete, aby se rozdělená data obnovila, když se změní vaše původní data. Chcete-li to dokončit, proveďte prosím následující kroky:

Krok 1: Získejte datovou tabulku do Power Query

1. Vyberte rozsah dat, který chcete použít, a klikněte Data > Z tabulky, viz screenshot:

 Tipy: V Excelu 2019 a Office 365 klikněte Data > Z tabulky/rozsahu.

2. Ve vyskakovacím okně Vytvořit tabulku , klepněte na tlačítko OK OK tlačítko pro vytvoření tabulky, viz snímek obrazovky:

3. Nyní Power Query editor zobrazí se okno s daty, viz snímek obrazovky:

Krok 2: Proveďte transformace v Power Query

1. Vyberte sloupec, který chcete rozdělit. A pak klikněte Domů > Rozdělit sloupec > Oddělovačem, viz screenshot:

2. V Rozdělit sloupec oddělovačem dialogové okno:

Chcete-li rozdělit textové řetězce čárkou, mezerou, středníkem atd., postupujte takto:

  • 1). Vyberte oddělovač, kterým jsou vaše data oddělena od Vyberte nebo zadejte oddělovač rozbalovací seznam;
  • 2). Vybrat Každý výskyt oddělovače z Rozdělit v sekce;
  • 3). Poté klikněte Pokročilé volby rozbalte sekci a vyberte Řádky pod Rozdělit na;
  • 4). Konečně klikni OK zavřete toto dialogové okno.

Chcete-li rozdělit textové řetězce do více řádků zalomením odkazu, postupujte takto:

  • 1). Vybrat Zvyk z Vyberte nebo zadejte oddělovač rozbalovací seznam;
  • 2). z Vložte speciální znaky rozbalte, klikněte Line Feeda postavy #(lf) bude vložen do textového pole pod Zvyk automaticky;
  • 3). Vybrat Každý výskyt oddělovače z úseku Split at;
  • 4). Poté klikněte Pokročilé volby rozbalte sekci a vyberte Řádky pod Rozdělit na;
  • 5). Konečně klikni OK zavřete toto dialogové okno.

3. Nyní byla vybraná data rozdělena do několika řádků, jak je znázorněno na obrázku níže:

Krok 3: Výstup Power Query do excelové tabulky

1. Poté byste měli data vypsat do pracovního listu. prosím klikněte Domů > Zavřít a načíst > Zavřít a načíst / Zavřít a načíst do, (zde kliknu Zavřít a načíst), viz screenshot:

 Tipy: Klepněte na tlačítko Zavřít a načíst vypíše data do nového listu; Klikněte Zavřít a načíst do možnost, data budou vydána na jakýkoli jiný list, který potřebujete.

2. Nakonec se data načtou do nového listu, viz snímek obrazovky:

 Tipy: Pokud potřebujete často aktualizovat svá data v původní tabulce, nebojte se, stačí kliknout pravým tlačítkem na výsledkovou tabulku a kliknout Obnovit abyste získali nový výsledek dynamicky.


Související články:

  • Rozdělit hodnoty buněk do více sloupců
  • Když v aplikaci Excel chcete rozdělit seznam hodnot buněk do více sloupců pomocí určitých oddělovačů, jako je čárka, mezera, tečka, nový řádek, atd., obvykle vám vestavěná funkce Text do sloupců může pomoci dokončit tento krok úlohy. za krokem. V tomto článku budu mluvit o některých dobrých tricích, jak snadno a rychle rozdělit hodnoty buněk do více sloupců nebo řádků.
  • Rozdělte buňku do více řádků nebo sloupců
  • Předpokládejme, že máte jednu buňku, která obsahuje více obsahů oddělených konkrétním znakem, například středníkem, a poté chcete tuto dlouhou buňku rozdělit na více řádků nebo sloupců založených na středníku, v tomto případě máte nějaké rychlé způsoby vyřešit v aplikaci Excel?
  • Rozdělit textový řetězec podle velikosti písmen
  • V aplikaci Excel obvykle rozdělujeme text podle pevné šířky nebo oddělovače pomocí funkce Text na sloupce, ale zkusili jste někdy rozdělit text na velká a malá? Například máte seznam dat a musíte je rozdělit do dvou sloupců na základě případu: jeden sloupec obsahuje řetězec malých písmen a druhý obsahuje řetězec velkých písmen, jak je znázorněno níže. Funkce Text na sloupce tuto operaci nepodporuje, mohu však v aplikaci Excel zavést triky pro rychlé rozdělení textového řetězce případ od případu.
  • Rozdělte číslo na jednotlivé číslice
  • Předpokládejme, že potřebujete rozdělit nebo rozdělit číslo na jednotlivé číslice, jak je ukázáno na následujícím obrázku obrazovky, co můžete udělat, abyste toho dosáhli? Tento článek vám poskytne dvě metody.
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