Функция TEXTBEFORE в Excel
Функция TEXTBEFORE возвращает текст, который находится перед заданной подстрокой или разделителем.
Примечание: Эта функция доступна только в Excel для Microsoft 365 на канале Insider.

Синтаксис
=TEXTBEFORE(текст, разделитель, [номер_вхождения], [режим_совпадения], [совпадение_конца], [если_не_найдено])
Аргументы
Примечания
Возвращаемое значение
Возвращает извлеченную текстовую строку.
Пример
Здесь мы используем следующий список текстов в качестве примера, чтобы продемонстрировать, как использовать функцию TEXTBEFORE для извлечения текста в различных условиях.

#Пример1: Извлечь текст перед первым разделителем в Excel
Чтобы извлечь текст, который находится перед первой запятой в указанных ячейках, примените функцию TEXTBEFORE следующим образом.
Выберите ячейку рядом с первой текстовой ячейкой, из которой вы хотите извлечь текст, введите следующую формулу и нажмите клавишу Enter, чтобы получить результат. Выберите эту ячейку с результатом, перетащите маркер автозаполнения вниз, чтобы получить остальные результаты.
=TEXTBEFORE(A2,",")

Примечание: В этом случае в формуле требуются только первые два аргумента.
#Пример2: Извлечь текст перед N-м разделителем в Excel
По умолчанию функция TEXTBEFORE извлекает текст перед первым разделителем в текстовой строке, даже если в тексте есть несколько разделителей. Если вы хотите извлечь текст перед N-м разделителем, например второй запятой в данном случае, вы можете применить функцию TEXTBEFORE следующим образом.
Выберите ячейку рядом с первой текстовой ячейкой, из которой вы хотите извлечь текст, введите следующую формулу и нажмите клавишу Enter, чтобы получить результат. Выберите эту ячейку с результатом, перетащите маркер автозаполнения вниз, чтобы получить остальные результаты.
=TEXTBEFORE(A2,",",2)

Примечание: Чтобы извлечь текст перед n-м разделителем, вам нужно просто указать аргумент Номер_вхождения как соответствующее число. В данном случае я ввожу число 2, чтобы указать вторую запятую.
#Пример3: Извлечь текст перед заданной подстрокой (без учета регистра) в Excel
По умолчанию функция TEXTBEFORE чувствительна к регистру. Если вы хотите извлечь текст без учета регистра, вы можете применить функцию TEXTBEFORE следующим образом.
Выберите ячейку рядом с первой текстовой ячейкой, из которой вы хотите извлечь текст, введите следующую формулу и нажмите клавишу Enter, чтобы получить результат. Выберите эту ячейку с результатом, перетащите маркер автозаполнения вниз, чтобы получить остальные результаты.
=TEXTBEFORE(A2,"Консультант",1,1)

Примечание: Чтобы отключить чувствительность к регистру в функции TEXTBEFORE, вам нужно указать аргумент Режим_совпадения как 1. В данном случае будет извлечен текст, который находится перед подстрокой «Консультант» или «КОНСУЛЬТАНТ».
#Пример4: Вернуть пользовательское значение, когда TEXTBEFORE не находит совпадений
Как показано на скриншоте выше, по умолчанию функция TEXTBEFORE возвращает #N/A, когда совпадений не найдено. Чтобы вернуть пользовательское значение, когда TEXTBEFORE не находит никакого текста, вы можете применить функцию TEXTBEFORE следующим образом.
Выберите ячейку рядом с первой текстовой ячейкой, из которой вы хотите извлечь текст, введите следующую формулу и нажмите клавишу Enter, чтобы получить результат. Выберите эту ячейку с результатом, перетащите маркер автозаполнения вниз, чтобы получить остальные результаты.
=TEXTBEFORE(A2,"Консультант",1,1,,"текст не найден")

Примечание: В этой формуле «текст не найден» — это пользовательское значение, которое возвращается, если функция TEXTBEFORE не находит совпадающих текстов. Вы можете изменить его по своему усмотрению.
#Пример5: Извлечь текст перед последним разделителем в Excel
Обычно вы можете указать параметр номер_вхождения, чтобы извлечь текст перед n-м разделителем в текстовой строке. Если вам нужно извлечь текст перед последним разделителем, самый простой способ выполнить эту задачу — указать отрицательное число для этого параметра.
Например, чтобы извлечь текст, который находится перед последней запятой в таблице ниже, функцию TEXTBEFORE можно изменить следующим образом.
Выберите ячейку (например, B2 в данном случае), введите следующую формулу и нажмите клавишу Enter. Выберите эту ячейку с результатом и перетащите маркер автозаполнения вниз, чтобы получить остальные результаты.
=TEXTBEFORE(A2,",",-1)

Примечание: Здесь -1 в формуле помогает искать исходную текстовую строку с конца.
Связанные функции
Функция TEXTAFTER в Excel
Функция TEXTAFTER извлекает и возвращает текст, который находится после заданной подстроки или разделителя.
Функция TEXTSPLIT в Excel
Функция TEXTSPLIT разделяет текстовые строки по заданному разделителю на массив по столбцам и строкам.
Функция VALUETOTEXT в Excel
Функция VALUETOTEXT преобразует любое указанное значение в текст.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что нужный вам инструмент находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Один щелчок мыши, чтобы переключаться между десятками открытых документов!
- Сократите сотни кликов мышью ежедневно, попрощайтесь с болью в руке.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.