Текстовые функции в Excel: от очистки мусора до сложных преобразований

Иван Корнев·15.05.2026·5 мин

Текстовые функции в Excel позволяют автоматически извлекать, объединять, очищать и изменять строковые данные без ручного редактирования. Они критически важны для работы с базами клиентов, артикулами, адресами и ФИО, превращая хаотичный текст в структурированную информацию, пригодную для анализа и сводных таблиц.

Если ваша задача — быстро разделить полное имя на фамилию и имя, убрать лишние пробелы или собрать код из нескольких ячеек, используйте комбинации функций ЛЕВСИМВ, ПСТР, НАЙТИ и СЖПРОБЕЛЫ. Для простого объединения текста достаточно оператора & или функции СЦЕП.

Зачем нужны текстовые функции

В реальных таблицах данные редко приходят в идеальном формате. Импорт из CRM, выгрузки из 1С или копирование с сайтов часто приводят к появлению лишних пробелов, неверному регистру или смешиванию разных данных в одной ячейке.

Текстовые функции решают три главные задачи:

  1. Очистка: Удаление невидимых символов, лишних пробелов и ненужных знаков.
  2. Структурирование: Разделение единой строки (например, «Иванов Иван») на отдельные столбцы.
  3. Конкатенация: Сборка новых значений из существующих (например, создание email из имени и фамилии).

Перед любой сложной обработкой текста всегда применяйте функцию СЖПРОБЕЛЫ. Она удаляет все пробелы, кроме одиночных между словами, что предотвращает ошибки в функциях поиска и извлечения.

Справочник основных текстовых функций

Для удобства функции разделены по группам задач. В современных версиях Excel (2019 и новее, а также Microsoft 365) некоторые устаревшие функции заменены более удобными аналогами, но классические формулы остаются актуальными для совместимости.

Извлечение части текста

ФункцияОписаниеСинтаксис
ЛЕВСИМВВозвращает указанное количество символов с начала строки.=ЛЕВСИМВ(текст; кол_во)
ПРАВСИМВВозвращает указанное количество символов с конца строки.=ПРАВСИМВ(текст; кол_во)
ПСТРИзвлекает подстроку, начиная с указанной позиции.=ПСТР(текст; начпозиция; колво)
ДЛСТРВозвращает длину строки (количество символов).=ДЛСТР(текст)

Поиск и замена

ФункцияОписаниеСинтаксис
НАЙТИИщет подстроку с учетом регистра. Возвращает позицию первого символа.=НАЙТИ(искомый; гдеискать; [начпозиция])
ПОИСКИщет подстроку без учета регистра. Поддерживает wildcard-символы.=ПОИСК(искомый; гдеискать; [начпозиция])
ПОДСТАВИТЬЗаменяет старый текст на новый в указанном месте или везде.=ПОДСТАВИТЬ(текст; старый; новый; [номер_вхождения])
ЗАМЕНИТЬЗаменяет часть текста, зная её позицию и длину.=ЗАМЕНИТЬ(старый; начпозиция; колво; новый)

Преобразование и очистка

ФункцияОписаниеСинтаксис
СЖПРОБЕЛЫУдаляет все пробелы, кроме одиночных между словами.=СЖПРОБЕЛЫ(текст)
ПРОПИСНПреобразует все буквы в верхний регистр (CAPS LOCK).=ПРОПИСН(текст)
СТРОЧНПреобразует все буквы в нижний регистр.=СТРОЧН(текст)
ПРОПНАЧДелает первую букву каждого слова заглавной.=ПРОПНАЧ(текст)
ТЕКСТПреобразует число или дату в текст с заданным форматом.=ТЕКСТ(значение; формат)

Объединение текста

ФункцияОписаниеСинтаксис
СЦЕП (или СЦЕПИТЬ)Объединяет несколько строк в одну.=СЦЕП(текст1; текст2; ...)
ОБЪЕДИНИТЬОбъединяет текст с указанным разделителем.=ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; ...)
& (амперсанд)Оператор конкатенации (аналог СЦЕП).=A1 & " " & B1

Функция СЦЕПИТЬ считается устаревшей. В новых версиях Excel рекомендуется использовать СЦЕП или оператор &. Функция ОБЪЕДИНИТЬ (CONCATENATE в англ. версии нет, есть CONCAT и TEXTJOIN) особенно полезна, когда нужно собрать список через запятую.

Практические примеры формул

Рассмотрим реальные сценарии, которые встречаются в ежедневной работе.

1. Разделение ФИО на отдельные столбцы

Допустим, в ячейке A2 записано: Иванов Иван Петрович.

Извлечь фамилию (первое слово): Находим позицию первого пробела и берем всё, что слева от него.

=ЛЕВСИМВ(A2; НАЙТИ(" "; A2) - 1)

Извлечь имя (второе слово): Это сложнее. Нужно найти позицию второго пробела.

  1. Находим первый пробел: НАЙТИ(" "; A2)
  2. Ищем второй пробел, начиная поиск с позиции после первого: НАЙТИ(" "; A2; НАЙТИ(" "; A2) + 1)
  3. Используем ПСТР, чтобы взять текст между первым и вторым пробелом.
=ПСТР(A2; НАЙТИ(" "; A2) + 1; НАЙТИ(" "; A2; НАЙТИ(" "; A2) + 1) - НАЙТИ(" "; A2) - 1)

Если в ячейке только «Фамилия Имя» (без отчества), формула для имени выдаст ошибку. Для надежного разделения лучше использовать инструмент «Текст по столбцам» на вкладке Данные или функцию ТЕКСТРАЗД (в новых версиях Excel).

2. Создание корпоративного email

Задача: из ячейки A2 (Имя: ivan) и B2 (Фамилия: ivanov) получить [email protected].

=ЛЕВСИМВ(A2; 1) & "." & B2 & "@company.ru"

Результат: [email protected]

3. Очистка телефонного номера

Номер записан как +7 (999) 123-45-67. Нужно получить только цифры 79991234567. Поскольку ПОДСТАВИТЬ меняет только один тип символа за раз, функции вкладываются друг в друга:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2; "+"; ""); "("; ""); ")"; ""); "-"; "")

Примечание: Если есть пробелы, добавьте еще один уровень ПОДСТАВИТЬ(...; " "; "") или оберните результат в СЖПРОБЕЛЫ.

4. Форматирование даты в тексте

Нужно написать дату прописью в предложении: «Отчет от 15 мая 2026». Ячейка A2 содержит дату 15.05.2026.

="Отчет от " & ТЕКСТ(A2; "ДД ММММ ГГГГ")

Частые ошибки и как их избежать

  1. #ЗНАЧ! (#VALUE!) при использовании НАЙТИ/ПОИСК Эта ошибка возникает, если искомый символ не найден в строке. Решение: Оберните формулу в ЕСЛИОШИБКА, чтобы вернуть пустую ячейку или исходное значение: =ЕСЛИОШИБКА(ЛЕВСИМВ(A1; НАЙТИ(" "; A1)-1); A1)

  2. Лишние пробелы в результате Функции ЛЕВСИМВ и ПСТР могут захватить пробел-разделитель, если неправильно рассчитана позиция. Решение: Всегда оборачивайте результат в СЖПРОБЕЛЫ: =СЖПРОБЕЛЫ(ПСТР(A1; 2; 5))

  3. Числа, ставшие текстом После использования текстовых функций результат всегда имеет формат «Текст», даже если это цифры. Такие числа нельзя суммировать. Решение: Чтобы преобразовать текстовое число в реальное, умножьте результат на 1 или используйте двойное отрицание: =--ПСТР(A1; 1; 3) или =ПСТР(A1; 1; 3)*1

  4. Разница между НАЙТИ и ПОИСК НАЙТИ чувствительна к регистру (А и а — разные символы). ПОИСК — нет. Если регистр не важен, используйте ПОИСК, так как она более универсальна.

FAQ

Как объединить текст с переносом строки? Используйте символ переноса СИМВОЛ(10) внутри функции сцепления: =A1 & СИМВОЛ(10) & B1. Не забудьте включить в ячейке формат «Переносить текст» (Wrap Text).

Что делать, если нужно извлечь текст до определенного символа, но этого символа может не быть? Используйте конструкцию с ЕСЛИ: =ЕСЛИ(ЕЧИСЛО(НАЙТИ("@"; A1)); ЛЕВСИМВ(A1; НАЙТИ("@"; A1)-1); A1) Эта формула проверит наличие «@» и обрежет строку только если символ найден.

Какая функция заменяет СЦЕПИТЬ в Excel 365? Функция СЦЕП (CONCAT) и ОБЪЕДИНИТЬ (TEXTJOIN). ОБЪЕДИНИТЬ мощнее, так как позволяет задать общий разделитель для всех элементов и игнорировать пустые ячейки.