Excel и Google Workspace / Базовые формулы Excel

TEXTAFTER в Excel: текст после разделителя

TEXTAFTER возвращает часть строки после выбранного разделителя. Она помогает отделить расширение файла, домен электронной почты или последний сегмент составного кода, когда граница записи задаётся явно.

Опубликовано: Обновлено:

Формула

$$\texttt{=TEXTAFTER(A2,"-",2)}$$
Схема строки TEXTAFTER: invoice-2026-041.pdf после второго дефиса
TEXTAFTER: выделение 041.pdfinvoice-2026-041.pdfinvoice-2026-041.pdfвторой дефис → результат после него

TEXTAFTER(A2,"-",2) возвращает 041.pdf.

Обозначения

$text$
исходная строка или ссылка на ячейку, текст
$delimiter$
строка, после которой извлекается результат, текст
$instance_num$
номер вхождения; отрицательный номер ищет от конца, целое число
$match_mode$
чувствительность к регистру: 0 или 1, 0/1
$match_end$
считать конец текста разделителем, 0/1
$if_not_found$
замена результата при отсутствии разделителя, текст или значение

Условия применения

Первые два аргумента обязательны. По умолчанию Excel ищет первое вхождение delimiter слева и возвращает всё после него. При отрицательном instance_num поиск начинается с конца строки. Разделитель сравнивается буквально: пробел, дефис и длинное тире являются разными символами. Примеры используют английские имена функций и запятые; язык функции и разделитель аргументов зависят от локали Excel. Поддержка: Microsoft 365 и Excel 2024.

Ограничения

Если delimiter не найден, результатом является #N/A, если не задан if_not_found. instance_num=0 вызывает #VALUE!, а номер, превышающий число вхождений, также даёт #N/A. Пустой delimiter совпадает сразу: при положительном поиске возвращается весь текст, при отрицательном — пустая строка. Функция не очищает пробелы и не меняет исходную ячейку.

Подробное объяснение

TEXTAFTER выбирает правую часть строки относительно точной границы. В отличие от ручного удаления символов, формула хранит правило рядом с данными: если длина кода меняется, граница всё равно находится по delimiter. Результат — текст, а не числовой индекс, поэтому его можно сразу использовать в отчёте.

Номер вхождения меняет смысл операции. В «invoice-2026-041.pdf» первый дефис отделяет invoice, второй — год от номера документа. instance_num=2 возвращает «041.pdf». Отрицательный номер полезен для последнего сегмента: в «user@example.com» -1 после последнего разделителя возвращает домен.

Регистр учитывается отдельно от результата. match_mode=0 различает «ID» и «id», а match_mode=1 считает их одинаковыми; символы ответа не преобразуются. match_end=1 добавляет конец строки как допустимую границу, что позволяет обработать запись без завершающего разделителя.

Для одной исходной строки TEXTAFTER возвращает текст в одну ячейку. Если формула возвращает массив исходных строк, каждая строка получает свой ответ, а занятая область может вызвать #SPILL!. Поэтому проверяйте не только первую ячейку, но и свободное место для всех результатов.

Параметр if_not_found предназначен для интерфейса отчёта, а не для сокрытия плохих данных. Сначала найдите записи без разделителя, затем решите, нужен ли текст «не найдено», пустая строка или отдельная проверка. TEXTAFTER не заменяет очистку источника и не угадывает, какой из разных дефисов имелся в виду.

Как пользоваться формулой

  1. Запишите исходную строку и разделитель буквально, включая пробелы и вид дефиса.
  2. Проверьте первое вхождение формулой TEXTAFTER(text,delimiter), затем сравните его с ожидаемой границей.
  3. Для конкретного сегмента задайте instance_num; отрицательное число отсчитывает разделители от правого края.
  4. Выберите match_mode и match_end только при известной необходимости и не путайте их с изменением текста результата.
  5. Задайте if_not_found после проверки причины #N/A, чтобы отчёт показывал понятный статус.
  6. Сверьте результат по символам и оставьте область разлива свободной, если формула применяется к диапазону.

Историческая справка

TEXTAFTER относится к современной ветви текстовых функций Excel. Microsoft документирует её для Excel for Microsoft 365 и Excel 2024 на Windows и Mac, а также отдельно описывает каналы Current, Monthly Enterprise и Semi-Annual. Функция продолжает более раннюю практику поиска разделителя и извлечения фрагмента, но объединяет направление поиска, номер вхождения, режим регистра, обработку конца строки и запасной ответ. Это особенно важно для выгрузок, где один и тот же столбец содержит несколько сегментов. Переход от цепочек FIND, LEN и RIGHT к одной именованной функции уменьшает число промежуточных ячеек, но не отменяет проверки исходных данных. Документация не приписывает TEXTAFTER одному автору: это развитие возможностей электронных таблиц и динамических вычислений.

Пример

В A2 записано «invoice-2026-041.pdf». Нужно получить номер документа вместе с расширением после второго дефиса. Формула =TEXTAFTER(A2,"-",2) находит первый дефис после invoice, затем второй дефис после 2026 и возвращает «041.pdf». Проверка вручную: исходную строку можно разделить на invoice | 2026 | 041.pdf; выбран второй разделитель, поэтому ответом является последний фрагмент. Формула =TEXTAFTER(A2,"-",-1) даёт тот же результат, потому что -1 выбирает последнюю границу справа. Если A2 не содержит дефиса, =TEXTAFTER(A2,"-",2,,,0,"нет разделителя") выводит заданное сообщение вместо #N/A.

Частая ошибка

Не путайте второй разделитель со вторым символом: instance_num нумерует полные вхождения delimiter. Отрицательное значение считает справа, а не отнимает символы от длины. Пробел после разделителя остаётся в результате, поэтому «/ » и «/» требуют разных правил. Нулевой instance_num недопустим и даёт #VALUE!. if_not_found не исправляет исходную строку, а только заменяет сообщение об ошибке.

Практика

Задачи с решением

Домен почты

Условие. В A3 записано «user@example.com». Получите текст после последнего символа @, используя instance_num=-1.

Решение. Последний разделитель @ находится перед доменом. Формула =TEXTAFTER(A3,"@",-1) возвращает все символы справа от него.

Ответ. example.com

Последний сегмент товара

Условие. В A4 записано «товар/цвет/размер». Получите часть после последнего символа / с instance_num=-1.

Решение. Поиск с конца выбирает границу между «цвет» и «размер». Формула =TEXTAFTER(A4,"/",-1) возвращает только последний сегмент.

Ответ. размер

Дополнительные источники

  • https://support.microsoft.com/en-us/excel/functions/textafter-function
  • https://support.microsoft.com/en-us/excel/functions/textbefore-function

Связанные формулы

Excel и Google Workspace

TEXTBEFORE в Excel: текст до разделителя

$\texttt{=TEXTBEFORE(A2,"/")}$

TEXTBEFORE возвращает часть строки, расположенную перед указанным разделителем. Формула удобна для выделения кода, названия или первого поля из записи, например для отделения «Склад-12» от «Склад-12/Москва».

Excel и Google Workspace

FIND / НАЙТИ: позиция текста с учетом регистра в Excel и Google Таблицах

$=FIND("-",A2)$

FIND / НАЙТИ: позиция текста с учетом регистра в Excel и Google Таблицах: формула =FIND("-",A2) помогает привести текст к нужному регистру для единообразного справочника. В тексте есть условия, пример, ошибки и проверка результата.

Excel и Google Workspace

SEARCH / ПОИСК: позиция текста без учета регистра в Excel и Google Таблицах

$=SEARCH("sku",A2)$

SEARCH / ПОИСК: позиция текста без учета регистра в Excel и Google Таблицах: формула =SEARCH("sku",A2) помогает привести текст к нужному регистру для единообразного справочника. В тексте есть условия, пример, ошибки и проверка результата.

Excel и Google Workspace

SUBSTITUTE / ПОДСТАВИТЬ: заменить текст в Excel и Google Таблицах

$=SUBSTITUTE(A2,"-","")$

SUBSTITUTE / ПОДСТАВИТЬ: заменить текст в Excel и Google Таблицах: формула =SUBSTITUTE(A2,"-","") помогает настроить рабочую формулу в таблице и проверить ссылки после копирования. В тексте есть условия, пример, ошибки и проверка результата.