Перейти к содержимому

Разделение текстовых строк по разделителю на несколько строк - 3 быстрых способа

Author: Xiaoyang Last Modified: 2025-06-05

Обычно вы можете использовать функцию «Текст по столбцам», чтобы разделить содержимое ячеек на несколько столбцов с помощью определенного разделителя, такого как запятая, точка, точка с запятой, косая черта и т.д. Однако иногда вам может потребоваться разделить содержимое ячеек с разделителями на несколько строк и повторить данные из других столбцов, как показано на скриншоте ниже. Есть ли у вас хорошие способы выполнения этой задачи в Excel? В этом руководстве будут представлены некоторые эффективные методы для выполнения этой работы в Excel.

split text into multiple rows

Видео: Разделение текстовых строк по разделителю на несколько строк

 


Метод A: Разделение текста с разделителями на несколько строк с помощью кода VBA

В этом разделе я представлю два кода VBA, которые помогут разделить содержимое ячеек, разделенное определенным разделителем.

Разделение текста, разделенного запятыми, пробелами, точками с запятой и т.д.

Чтобы разделить текстовые строки, разделенные некоторыми обычными разделителями, такими как запятая, пробел, точка с запятой, косая черта и т.д., следующий код может помочь вам. Пожалуйста, следуйте указанным ниже шагам:

 Примечание: Этот код не поддерживает отмену действий, поэтому лучше создать резервную копию данных перед применением этого кода.

Шаг 1: Откройте редактор модуля VBA и скопируйте код

1. Активируйте лист, который вы хотите использовать. Затем нажмите клавиши "Alt" + "F11", чтобы открыть окно "Microsoft Visual Basic for Applications".

2. В открывшемся окне нажмите "Вставка" > "Модуль", чтобы создать новый пустой модуль.

3. Затем скопируйте и вставьте приведенный ниже код в пустой модуль.

Код VBA: Разделение текста по определенному разделителю (запятая, точка, пробел и т.д.)

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   

Шаг 2: Выполните код для получения результата

1. После вставки кода нажмите клавишу "F5", чтобы запустить этот код. Затем появится диалоговое окно с запросом выбрать ячейки, содержащие текст с разделителями, который вы хотите разделить, см. скриншот:

vba code to select the cells contain the delimited text

2. Затем нажмите "ОК", появится другое диалоговое окно с запросом ввести разделитель, по которому вы хотите разделить данные. Здесь я ввожу запятую и пробел (, ), см. скриншот:

vba code to typ a separator split the data based on

3. Наконец, нажмите кнопку "ОК". Теперь вы увидите, что выбранные текстовые строки были разделены на строки на основе запятой, а данные из других соответствующих столбцов повторены, как показано на скриншотах ниже:

the selected text strings are split into rows

Разделение текста, разделенного разрывом строки

Если содержимое ваших ячеек разделено разрывами строк, чтобы разделить их на несколько строк, вот еще один код VBA, который может вам помочь.

 Примечание: Этот код не поддерживает отмену действий, поэтому лучше создать резервную копию данных перед применением этого кода.

Шаг 1: Откройте редактор модуля VBA и скопируйте код

1. Нажмите клавиши "Alt" + "F11", чтобы открыть окно "Microsoft Visual Basic for Applications".

2. В открывшемся окне нажмите "Вставка" > "Модуль", чтобы создать новый пустой модуль.

3. Затем скопируйте и вставьте приведенный ниже код в пустой модуль.

Код VBA: Разделение текста по разрыву строки

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 

Шаг 2: Выполните код для получения результата

1. После вставки кода нажмите клавишу "F5", чтобы запустить этот код. В появившемся окне выберите ячейки, которые вы хотите разделить, см. скриншот:

vba code to selec the range to split

2. Затем нажмите кнопку "ОК", данные в выбранных ячейках будут разделены на строки, как показано на скриншоте ниже:

the data in the selected cells are split into rows

Метод B: 10 секунд для разделения текста с разделителями на несколько строк с помощью Kutools для Excel

Если вы установили "Kutools для Excel", с помощью его функции "Разделить данные на строки" вы можете разделить текстовые строки на несколько строк с помощью любого указанного вами разделителя. Пожалуйста, выполните следующие шаги:

Kutools для Excel предлагает более 300 продвинутых функций для упрощения сложных задач, повышая креативность и эффективность. Интеграция с возможностями ИИ позволяет Kutools автоматизировать задачи с высокой точностью, делая управление данными без усилий. Подробная информация о Kutools для Excel...  Бесплатная пробная версия...

Шаг 1: Выберите функцию "Разделить данные на строки"

Нажмите "Kutools" > "Объединить и разделить" > "Разделить данные на строки", см. скриншот:

Click Kutools > Merge & Split > Split Data to Rows

Шаг 2: Укажите ячейки данных и разделитель для разделения

В появившемся диалоговом окне используйте следующие параметры:

  • 1). Выберите список ячеек, которые вы хотите разделить, из текстового поля "Диапазон (один столбец)";
  • 2). Затем выберите разделитель, который разделяет ваши данные, здесь я выберу "Другой" и введу запятую и пробел (, ) в текстовое поле;
  • 3). Наконец, нажмите кнопку "ОК".
Specify the data cells and delimiter for splitting in the dialog box

Теперь выбранные ячейки с текстовыми строками, разделенными разделителями, были преобразованы в несколько строк на основе конкретного разделителя, см. скриншот:

the selected cells are converted into multiple rows

 Советы: Если вы хотите восстановить исходные данные, просто нажмите Ctrl + Z для отмены.

Легко использовать? Заинтересованы в этой функции? Пожалуйста, нажмите, чтобы загрузить бесплатную пробную версию на 30 дней.


Метод C: Разделение текста с разделителями на несколько строк с помощью Power Query

Если вы используете Office 365 или Excel 2016 и более поздние версии, "Power Query" является мощным инструментом, который поможет вам разделить текст с разделителями на несколько строк или столбцов. Это полезно, если вы хотите, чтобы разделенные данные обновлялись при изменении исходных данных. Пожалуйста, выполните следующие шаги для завершения:

Шаг 1: Получите таблицу данных в Power Query

1. Выберите диапазон данных, который вы хотите использовать, затем нажмите "Данные" > "Из таблицы", см. скриншот:

 Советы: В Excel 2019 и Office 365 нажмите Данные > Из таблицы/диапазона.

click Data > From Table

2. В появившемся диалоговом окне "Создать таблицу" нажмите кнопку "ОК", чтобы создать таблицу, см. скриншот:

click OK button to create a table

3. Теперь окно "Редактор Power Query" отображается с данными, см. скриншот:

the Power Query Editor window is displayed with the data

Шаг 2: Выполните преобразования в Power Query

1. Выберите столбец, который вы хотите разделить. Затем нажмите "Главная" > "Разделить столбец" > "По разделителю", см. скриншот:

click Home > Split Column > By Delimiter

2. В диалоговом окне "Разделить столбец по разделителю":

Чтобы разделить текстовые строки по запятой, пробелу, точке с запятой и т.д., сделайте следующее:

  • 1). Выберите разделитель, по которому разделены ваши данные, из выпадающего списка "Выберите или введите разделитель";
  • 2). Выберите "Каждое вхождение разделителя" в разделе "Разделить по";
  • 3). Затем нажмите "Расширенные параметры", чтобы развернуть раздел, и выберите "Строки" в разделе "Разделить на";
  • 4). Наконец, нажмите "ОК", чтобы закрыть это диалоговое окно.
specify the options in the dialog box to split the text by comma, space, semicolon, etc

Чтобы разделить текстовые строки на несколько строк по разрыву строки, сделайте следующее:

  • 1). Выберите "Пользовательский" из выпадающего списка "Выберите или введите разделитель";
  • 2). Из выпадающего списка "Вставить специальные символы" нажмите "Разрыв строки", и символы "#(lf)" будут автоматически вставлены в текстовое поле под "Пользовательским";
  • 3). Выберите "Каждое вхождение разделителя" в разделе "Разделить по";
  • 4). Затем нажмите "Расширенные параметры", чтобы развернуть раздел, и выберите "Строки" в разделе "Разделить на";
  • 5). Наконец, нажмите "ОК", чтобы закрыть это диалоговое окно.
specify the options in the dialog box to split the text by line break

3. Теперь выбранные данные были разделены на несколько строк, как показано на скриншоте ниже:

the selected data has been split into multiple rows

Шаг 3: Выведите результаты Power Query в таблицу Excel

1. Затем вы должны вывести данные на ваш рабочий лист. Пожалуйста, нажмите "Главная" > "Закрыть и загрузить" > "Закрыть и загрузить / Закрыть и загрузить в", (здесь я нажму "Закрыть и загрузить"), см. скриншот:

click Home > Close & Load to load the data

 Советы: Нажатие "Закрыть и загрузить" выведет данные в новый рабочий лист; Нажатие "Закрыть и загрузить в" позволит вывести данные в любой другой лист, который вам нужен.

2. Наконец, данные будут загружены в новый рабочий лист, см. скриншот:

the data is loaded to a new worksheet

 Советы: Если вам нужно часто обновлять данные в исходной таблице, не беспокойтесь, просто щелкните правой кнопкой мыши по таблице результатов и нажмите "Обновить", чтобы динамически получить новые результаты.


Связанные статьи:

  • Разделение значений ячеек на несколько столбцов
  • В Excel, когда вы хотите разделить список значений ячеек на несколько столбцов по определенным разделителям, таким как запятая, пробел, точка, новая строка и т.д., обычно встроенная функция "Текст по столбцам" может помочь вам выполнить эту задачу пошагово. В этой статье я расскажу о некоторых хороших приемах для легкого и быстрого разделения значений ячеек на несколько столбцов или строк.
  • Разделение ячейки на несколько строк или столбцов
  • Предположим, у вас есть одна ячейка, которая содержит несколько элементов, разделенных определенным символом, например, точкой с запятой, и вы хотите разделить эту длинную ячейку на несколько строк или столбцов на основе точки с запятой. В этом случае есть ли у вас какие-либо быстрые способы решения этой задачи в Excel?
  • Разделение текстовой строки по регистру
  • В Excel мы обычно разделяем текст по фиксированной ширине или разделителю с помощью функции "Текст по столбцам", но пробовали ли вы когда-нибудь разделить текст по регистру букв? Например, у вас есть список данных, и вам нужно разделить их на два столбца на основе регистра: один столбец содержит строчные буквы, а другой — прописные буквы, как показано на скриншоте ниже. Функция "Текст по столбцам" не поддерживает эту операцию, однако я могу предложить трюк для быстрого разделения текстовой строки по регистру в Excel.
  • Разделение числа на отдельные цифры
  • Предположим, вам нужно разбить или разделить число на отдельные цифры, как показано на скриншоте ниже, что вы можете сделать для достижения этого? Эта статья предоставит вам два метода.