Как извлечь текст до или после второго пробела либо запятой в Excel?
При работе с текстовыми данными в Excel вы часто сталкиваетесь со строками, содержащими несколько пробелов, запятых или других разделителей. Хотя функция Текст по столбцам в Excel позволяет разбить содержимое ячейки на отдельные столбцы на основе выбранного разделителя, иногда требуется более точное решение — например, извлечение всего текста до или после второго пробела или запятой в ячейке. В этой статье описаны несколько практических методов для решения этой задачи: формулы для извлечения текста до или после второго пробела/запятой, надёжные решения с использованием макросов VBA для автоматизации или обработки больших наборов данных, а также гибкие варианты с применением Power Query для расширенной предварительной обработки данных.

Извлечь текст до второго пробела или запятой с помощью формулы
Извлечь текст после второго пробела или запятой с помощью формулы
Извлечь текст до или после второго разделителя (пробел/запятая) с помощью кода VBA
Извлечь текст до второго пробела или запятой с помощью формулы
Чтобы выделить часть ячейки до второго пробела, воспользуйтесь комбинацией функций Excel.
1. Введите следующую формулу в пустую ячейку, где вы хотите отобразить результат (например, в ячейку)C2):
=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1))) 2. Нажмите Enter. Затем используйте маркер заполнения, чтобы протянуть формулу вниз по всем строкам, которые нужно обработать. В результате отобразится весь текст до второго пробела в каждой соответствующей строке — см. скриншот ниже:

Совет:Если вы хотите извлечь текст до второй запятой или другого разделителя, просто замените символ пробела ()" ") в формуле на нужный вам разделитель. Например, для запятой:
=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1))) Этот подход обеспечивает быструю и эффективную работу при единичных извлечениях или обработке наборов данных умеренного размера. Однако если текст сильно неоднороден или количество разделителей существенно варьируется от строки к строке, может потребоваться дополнительная корректировка формулы. Также обращайте внимание на лишние пробелы и пустые ячейки — они способны повлиять на результаты. Всегда тщательно проверяйте вывод при работе с критически важными данными.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Извлечь текст после второго пробела или запятой с помощью формулы
Чтобы извлечь текст, расположенный после второго пробела-разделителя в ячейке, используйте функции ПСТР и НАЙТИ вместе.
1. Введите в целевую ячейку (например, D2) следующую формулу:
=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256) 2. Нажмите Enter. Затем протяните маркер заполнения вниз по всем строкам, из которых нужно извлечь текст. В результате для каждой строки отобразится весь текст после второго пробела, как показано на скриншоте:

Совет: Чтобы извлечь текст после второй запятой или любого другого разделителя, замените символ пробела в формуле на нужный вам разделитель. Для запятой формула будет следующей:
=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256) Извлечь текст до или после второго разделителя (пробел/запятая) с помощью кода VBA
Для работы с большими наборами данных, повторяющимися извлечениями или сценариями автоматизации эффективным решением станет использование макроса VBA. С его помощью вы сможете извлекать текст до или после второго пробела, запятой или любого другого разделителя, значительно повышая эффективность при обработке различных структур данных или при многократном выполнении одной и той же операции.
1. Выберите Разработчик > Visual Basic. В появившемся окне Microsoft Visual Basic для приложений нажмите Вставка > Модуль и введите следующий код в окно модуля:
Sub ExtractTextSecondDelimiter()
Dim rng As Range
Dim cell As Range
Dim sep As String
Dim direction As String
Dim arr As Variant
Dim result As String
Dim pos1 As Long
Dim pos2 As Long
Dim xTitleId As String
Dim outputCell As Range
Dim i As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select text range to extract from", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
sep = Application.InputBox("Enter delimiter (e.g. space or comma)", xTitleId, " ", Type:=2)
If sep = "" Then Exit Sub
direction = Application.InputBox("Type 'before' for text before, 'after' for text after the 2nd delimiter", xTitleId, "before", Type:=2)
If direction = "" Then Exit Sub
Set outputCell = Application.InputBox("Select the first cell to output the result", xTitleId, Type:=8)
If outputCell Is Nothing Then Exit Sub
Application.ScreenUpdating = False
i = 0
For Each cell In rng
If Not IsEmpty(cell.Value) Then
pos1 = InStr(1, cell.Value, sep)
If pos1 > 0 Then
pos2 = InStr(pos1 + 1, cell.Value, sep)
If pos2 > 0 Then
If LCase(direction) = "before" Then
result = Left(cell.Value, pos2 - 1)
ElseIf LCase(direction) = "after" Then
result = Mid(cell.Value, pos2 + Len(sep))
Else
result = cell.Value
End If
Else
result = cell.Value
End If
Else
result = cell.Value
End If
outputCell.Offset(i, 0).Value = result
End If
i = i + 1
Next
Application.ScreenUpdating = True
MsgBox "Extraction completed.", vbInformation, xTitleId
End Sub
2. После вставки кода нажмите кнопку
Выполнить или клавишу F5, чтобы запустить макрос. Появится диалоговое окно с запросом на выбор диапазона данных. Затем укажите разделитель, выберите, нужно ли извлечь текст «до» или «после» второго вхождения, и, наконец, задайте ячейку для вывода результата. Макрос поместит извлечённые данные в указанную вами ячейку.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек