Przejdź do głównej zawartości

Podziel ciągi tekstowe według separatora na wiele wierszy — 3 szybkie sztuczki

Zwykle można użyć funkcji Tekst na kolumnę, aby podzielić zawartość komórki na wiele kolumn za pomocą określonego ogranicznika, takiego jak przecinek, kropka, średnik, ukośnik itp. Czasami jednak może być konieczne podzielenie rozdzielanej zawartości komórki na wiele wierszy i powtórz dane z innych kolumn, jak pokazano na poniższym zrzucie ekranu. Czy masz jakieś dobre sposoby radzenia sobie z tym zadaniem w Excelu? W tym samouczku przedstawimy kilka skutecznych metod wykonywania tej pracy w programie Excel.


Wideo: Podziel ciągi tekstowe za pomocą separatora na wiele wierszy


Metoda A: Podziel rozdzielany tekst na wiele wierszy za pomocą kodu VBA

W tej sekcji przedstawię dwa kody VBA, które pomogą podzielić zawartość komórki oddzieloną pewnym ogranicznikiem.

Podziel tekst oddzielony przecinkiem, spacją, średnikiem itp.

Aby podzielić ciągi tekstowe, które są oddzielone normalnym ogranicznikiem, takim jak przecinek, spacja, średnik, ukośnik itp., Poniższy kod może ci wyświadczyć przysługę. Wykonaj poniższe czynności:

 Note: Ten kod nie wsparcie odpiąć, lepiej wykonaj kopię zapasową danych przed zastosowaniem tego kodu.

Krok 1: Otwórz edytor modułów VBA i skopiuj kod

1. Aktywuj arkusz, którego chcesz użyć. A następnie naciśnij Alt + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. W otwartym oknie kliknij wstawka > Moduł aby utworzyć nowy pusty moduł.

3. Następnie skopiuj i wklej poniższy kod do pustego modułu.

Kod VBA: Podziel tekst według określonego ogranicznika (przecinek, kropka, spacja itp.)

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: Wykonaj kod, aby uzyskać wynik

1. Po wklejeniu kodu naciśnij F5 klucz do uruchomienia tego kodu. Następnie pojawi się okno zachęty przypominające o wybraniu komórek zawierających rozdzielany tekst, który chcesz podzielić, patrz zrzut ekranu:

2. Następnie kliknij OK, pojawi się kolejne okno zachęty przypominające o wpisaniu separatora, na podstawie którego chcesz podzielić dane. Tutaj wpisuję przecinek i spację (, ), patrz zrzut ekranu:

3. W końcu kliknij OK przycisk. Teraz zobaczysz, że wybrane ciągi tekstowe są podzielone na wiersze na podstawie przecinka, a inne względne dane kolumn są powtarzane, jak pokazano na poniższych zrzutach ekranu:


Podziel tekst oddzielony podziałem wiersza

Jeśli zawartość komórki jest oddzielona podziałem linii, aby podzielić ją na wiele wierszy, oto kolejny kod VBA, który może ci pomóc.

 Note: Ten kod nie wsparcie odpiąć lepiej wykonaj kopię zapasową danych przed zastosowaniem tego kodu.

Krok 1: Otwórz edytor modułów VBA i skopiuj kod

1. naciśnij Alt + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. W otwartym oknie kliknij wstawka > Moduł aby utworzyć nowy pusty moduł.

3. Następnie skopiuj i wklej poniższy kod do pustego modułu.

Kod VBA: Podziel tekst według podziału wiersza

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: Wykonaj kod, aby uzyskać wynik

1. Po wklejeniu kodu naciśnij F5 klucz do uruchomienia tego kodu. W wyskakującym okienku wybierz komórki, które chcesz podzielić, zobacz zrzut ekranu:

2. Następnie kliknij OK przycisk, dane w wybranych komórkach są podzielone na wiersze, jak pokazano na poniższym zrzucie ekranu:


Metoda B: 10s, aby podzielić rozdzielany tekst na wiele wierszy przez Kutools dla programu Excel

Jeśli masz zainstalowany Kutools dla programu Excel, Z siedzibą w Podziel dane na wiersze możesz podzielić ciągi tekstowe na wiele wierszy za pomocą dowolnego określonego ogranicznika. Wykonaj następujące czynności:

Krok 1: Wybierz funkcję Podziel dane na wiersze

Kliknij Kutools > Połącz i podziel > Podziel dane na wierszezobacz zrzut ekranu:

Krok 2: Określ komórki danych i separator do podziału

W wyskakującym oknie dialogowym użyj następujących opcji:

  • 1). Wybierz listę komórek, które chcesz oddzielić od Zakres (pojedyncza kolumna) pole tekstowe;
  • 2). Następnie wybierz ogranicznik, który oddziela twoje dane, tutaj wybiorę Inne i wpisz przecinek i spację (, ) w polu tekstowym;
  • 3). W końcu kliknij OK przycisk.

Teraz wybrane komórki z rozdzielanymi ciągami tekstowymi zostały przekonwertowane na wiele wierszy na podstawie określonego separatora, patrz zrzut ekranu:

 Tips: Jeśli chcesz przywrócić oryginalne dane, wystarczy nacisnąć Ctrl + Z do cofnięcia.

Łatwy w użyciu? Zainteresowanych tą funkcją, proszę kliknij, aby pobrać, aby uzyskać bezpłatną wersję próbną na 30 dni.


Metoda C: Podziel tekst rozdzielany na wiele wierszy według Power Query

Jeśli korzystasz z usługi Office 365 lub programu Excel 2016 i nowszych wersji, Power Query to potężne narzędzie, które może pomóc w podzieleniu rozdzielanego tekstu na wiele wierszy lub kolumn. Jest to przydatne, jeśli chcesz, aby podzielone dane były odświeżane po zmianie oryginalnych danych. Aby zakończyć, wykonaj następujące czynności:

Krok 1: Pobierz tabelę danych Power Query

1. Wybierz zakres danych, którego chcesz użyć, a następnie kliknij Dane > Z tabelizobacz zrzut ekranu:

 Tips: W programie Excel 2019 i Office 365 kliknij Dane > Z tabeli/zakresu.

2. W wyskakującym okienku Utwórz tabelę okno dialogowe, kliknij OK przycisk, aby utworzyć tabelę, zobacz zrzut ekranu:

3. Teraz Power Query redaktor zostanie wyświetlone okno z danymi, patrz zrzut ekranu:

Krok 2: Wykonaj transformacje w Power Query

1. Wybierz kolumnę, którą chcesz podzielić. A potem kliknij Strona główna > Podziel kolumnę > Według ogranicznikazobacz zrzut ekranu:

2. w Podziel kolumnę według ogranicznika Okno dialogowe:

Aby podzielić ciągi tekstowe według przecinka, spacji, średnika itp., wykonaj następujące czynności:

  • 1). Wybierz ogranicznik, którym Twoje dane są oddzielone od Wybierz lub wprowadź ogranicznik Lista rozwijana;
  • 2). Wybierz Każde wystąpienie ogranicznika z Podział o godz Sekcja;
  • 3). Następnie kliknij Opcje zaawansowane , aby rozwinąć sekcję, i wybierz Wydziwianie pod Podzielony na;
  • 4). W końcu kliknij OK aby zamknąć to okno dialogowe.

Aby podzielić ciągi tekstowe na wiele wierszy według podziału łącza, wykonaj następujące czynności:

  • 1). Wybierać Zamówienia Indywidualne z Wybierz lub wprowadź ogranicznik Lista rozwijana;
  • 2). od Wstaw znaki specjalne rozwiń, kliknij Podawanie liniii postacie #(jeśli) zostanie wstawiony do pola tekstowego pod Zamówienia Indywidualne automatycznie;
  • 3). Wybierz Każde wystąpienie ogranicznika z Splitu na odcinku;
  • 4). Następnie kliknij Opcje zaawansowane , aby rozwinąć sekcję, i wybierz Wydziwianie pod Podzielony na;
  • 5). W końcu kliknij OK aby zamknąć to okno dialogowe.

3. Teraz wybrane dane zostały podzielone na wiele wierszy, jak pokazano na poniższym zrzucie ekranu:

Krok 3: Wyprowadź plik Power Query do tabeli Excela

1. Następnie powinieneś wypisać dane do swojego arkusza roboczego. Proszę kliknąć Strona główna > Zamknij i wczytaj > Zamknij i wczytaj / Zamknij i załaduj do, (tu kliknę Zamknij i wczytaj), patrz zrzut ekranu:

 Tips: Kliknij Zamknij i wczytaj wyprowadzi dane do nowego arkusza; Kliknij Zamknij i załaduj do opcja, dane zostaną zapisane na dowolnym innym arkuszu, którego potrzebujesz.

2. Na koniec dane zostaną załadowane do nowego arkusza roboczego, patrz zrzut ekranu:

 Tips: Jeśli musisz często aktualizować dane w oryginalnej tabeli, nie martw się, wystarczy kliknąć prawym przyciskiem myszy tabelę wyników i kliknąć Odśwież kod aby dynamicznie uzyskać nowy wynik.


Podobne artykuły:

  • Podziel wartości komórek na wiele kolumn
  • W programie Excel, gdy chcesz podzielić listę wartości komórek na wiele kolumn za pomocą określonych ograniczników, takich jak przecinek, spacja, kropka, znak nowej linii itp., zwykle wbudowana funkcja Tekst na kolumny może pomóc w ukończeniu tego kroku pracy krok po kroku. W tym artykule omówię kilka dobrych sztuczek, aby łatwo i szybko podzielić wartości komórek na wiele kolumn lub wierszy.
  • Podziel komórkę na wiele wierszy lub kolumn
  • Przypuśćmy, że masz pojedynczą komórkę, która zawiera wiele treści oddzielonych określonym znakiem, na przykład średnikiem, a następnie chcesz podzielić tę długą komórkę na wiele wierszy lub kolumn na podstawie średnika, w tym przypadku, czy masz jakieś szybkie sposoby rozwiązać go w programie Excel?
  • Podziel ciąg tekstowy według wielkości liter
  • W programie Excel zwykle dzielimy tekst według stałej szerokości lub separatora za pomocą funkcji Tekst na kolumny, ale czy kiedykolwiek próbowałeś podzielić tekst na wielkie i małe litery? Na przykład masz listę danych i musisz podzielić je na dwie kolumny w zależności od przypadku: jedna kolumna zawiera małe litery, a druga zawiera wielkie litery, jak pokazano na zrzucie ekranu. Funkcja Text to Columns nie obsługuje tej operacji, jednak mogę wprowadzić sztuczki, aby szybko podzielić ciąg tekstowy według wielkości liter w programie Excel.
  • Podziel numer na pojedyncze cyfry
  • Przypuśćmy, że musisz podzielić lub podzielić numer na pojedyncze cyfry, jak pokazano na poniższym zrzucie ekranu, co możesz zrobić, aby to osiągnąć? W tym artykule znajdziesz dwie metody.