Короткий ответ: если части строки разделены знаком, используйте =ТЕКСТДО(A2;"-") и =ТЕКСТПОСЛЕ(A2;"-"). В старых версиях Excel ту же задачу решают ЛЕВСИМВ, ПСТР и ПОИСК.
Разделить строку по дефису
Пусть в A2 записано MSK-1045. Формула =ТЕКСТДО(A2;"-") вернёт MSK, а =ТЕКСТПОСЛЕ(A2;"-") — 1045. Эти функции доступны в Microsoft 365 и новых постоянных версиях Excel.
Если дефисов несколько, третий аргумент задаёт номер разделителя: =ТЕКСТДО(A2;"-";2). Отрицательный номер считает разделители справа.
Формулы для старых версий Excel
Левая часть: =ЛЕВСИМВ(A2;ПОИСК("-";A2)-1).
Правая часть: =ПСТР(A2;ПОИСК("-";A2)+1;ДЛСТР(A2)).
ПОИСК находит позицию дефиса, а остальные функции забирают символы до или после него. Если разделитель может отсутствовать, оберните выражение: =ЕСЛИОШИБКА(формула;A2).
Извлечь имя или домен электронной почты
Для адреса user@example.ru имя возвращает =ТЕКСТДО(A2;"@"), домен — =ТЕКСТПОСЛЕ(A2;"@"). В старом Excel замените - на @ в формулах предыдущего раздела.
Извлечь текст между двумя символами
Для строки Заказ [A-125] готов используйте =ТЕКСТДО(ТЕКСТПОСЛЕ(A2;"[");"]"). В старых версиях универсальная формула сложнее: =ПСТР(A2;ПОИСК("[";A2)+1;ПОИСК("]";A2)-ПОИСК("[";A2)-1).
Очистить результат
Лишние пробелы удаляет СЖПРОБЕЛЫ: =СЖПРОБЕЛЫ(ТЕКСТПОСЛЕ(A2;":")). Для числового результата добавьте ЗНАЧЕН, иначе цифры могут остаться текстом.
Частые ошибки
#ЗНАЧ!означает, что разделитель не найден.- Неверный результат часто вызван разными тире:
-,–и—— разные символы. - Формулу следует проверять на пустых ячейках и строках без разделителя.
Когда лучше автоматизация
Если форматы строк различаются или нужно регулярно разбирать тысячи файлов, правила удобнее вынести в Power Query или VBA. Для разовой таблицы формулы прозрачнее и проще проверить.