Перейти к основному содержанию
 

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

Автор: Сяоян Последнее изменение: 2024 июля 11 г.

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

разделить текст на несколько строк

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

 


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

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

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

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

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

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

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

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 для выбора ячеек, содержащих текст с разделителями

2. Затем щелкните OK, появится еще одно окно подсказки, чтобы напомнить вам о вводе разделителя, на основе которого вы хотите разделить данные. Здесь я набираю запятую и пробел (, ), см. снимок экрана:

Код VBA для ввода разделителя, разделяющего данные на основе

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

выбранные текстовые строки разбиваются на строки

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

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

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

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

1. Нажмите Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

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 для выбора диапазона для разделения

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

данные в выбранных ячейках разбиваются на строки

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

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

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

Шаг 1. Выберите функцию «Разбить данные на строки».

Нажмите Кутулс > Слияние и разделение > Разделить данные на строки, см. снимок экрана:

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

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

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

  • 1). Выберите список ячеек, которые вы хотите разделить из Диапазон (один столбец) текстовое окно;
  • 2). Затем выберите разделитель, который разделяет ваши данные, здесь я выберу Другой и введите запятую и пробел (,) в текстовое поле;
  • 3). Наконец, нажмите OK .
Укажите ячейки данных и разделитель для разделения в диалоговом окне.

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

выбранные ячейки преобразуются в несколько строк

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

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


Метод C. Разбейте текст с разделителями на несколько строк, Power Query

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

Шаг 1. Загрузите таблицу данных в Power Query

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

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

нажмите Данные > Из таблицы

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

нажмите кнопку ОК, чтобы создать таблицу

3. Сейчас Power Query редактор отображается окно с данными, см. скриншот:

  Power Query Отображается окно редактора с данными

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

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

нажмите «Главная» > «Разделить столбец» > «По разделителю»

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

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

  • 1). Выберите разделитель, которым ваши данные отделяются от Выберите или введите разделитель раскрывающийся список;
  • 2). Выбрать Каждое появление разделителя из Разделить на раздел;
  • 3). Затем нажмите Дополнительные параметры чтобы развернуть раздел, и выберите Ряды под Разделить на;
  • 4). Наконец, нажмите OK чтобы закрыть это диалоговое окно.
укажите параметры в диалоговом окне для разделения текста с помощью запятой, пробела, точки с запятой и т. д.

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

  • 1). выберите На заказ из Выберите или введите разделитель раскрывающийся список;
  • 2). Из Вставить специальные символы выпадающий, нажмите Перевод строки, и персонажи #(лф) будет вставлен в текстовое поле под На заказ автоматически;
  • 3). Выбрать Каждое появление разделителя из секции Сплит ат;
  • 4). Затем нажмите Дополнительные параметры чтобы развернуть раздел, и выберите Ряды под Разделить на;
  • 5). Наконец, нажмите OK чтобы закрыть это диалоговое окно.
укажите параметры в диалоговом окне для разделения текста по разрыву строки

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

выбранные данные были разделены на несколько строк

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

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

нажмите «Главная» > «Закрыть и загрузить», чтобы загрузить данные.

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

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

данные загружаются на новый рабочий лист

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


Статьи по теме:

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