Мастер работы с текстом в Excel: от разбора ФИО до склеивания строк

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

Чтобы разделить текст в ячейке на части (например, ФИО на фамилию, имя и отчество), используйте функцию ТЕКСТРАЗД (или TEXTSPLIT в английской версии) в новых версиях Excel. Для объединения данных обратно применяйте ТЕКСТОБЪЕД (TEXTJOIN). В старых версиях (до 2019 года) эти задачи решаются комбинацией функций ЛЕВСИМВ, ПСТР, НАЙТИ и сцепкой через амперсанд (&).

Ниже приведены готовые формулы и алгоритмы для решения самых частых задач: разбор имен, извлечение кодов из строк и чистка данных от лишних пробелов.

Быстрый старт Если у вас Excel 365 или Excel 2021+, забудьте о сложных формулах. Используйте:

  • Разделить: =ТЕКСТРАЗД(A1; " ") — разобьет текст по пробелам на соседние ячейки.
  • Объединить: =ТЕКСТОБЪЕД(" "; ИСТИНА; A1:C1) — склеит диапазон, игнорируя пустоты.

Разделение текста на слова и части

Задача разбить одну ячейку на несколько столбцов встречается часто при импорте данных. Подход зависит от версии вашего табличного процессора.

Современный способ (Excel 365, 2021+)

Функция ТЕКСТРАЗД автоматически создает динамический массив. Вам не нужно протягивать формулу — она «разольется» сама.

Синтаксис: =ТЕКСТРАЗД(текст; разделитель_столбцов; [разделитель_строк])

Примеры использования:

  • Разбить по пробелам: =ТЕКСТРАЗД(A2; " ")
    • Если в A2 написано «Иванов Иван», результат займет две ячейки справа.
  • Несколько разделителей: Если текст разделен запятыми, точками с запятой или дефисами, перечислите их в кавычках: =ТЕКСТРАЗД(A2; ",;-")
  • Извлечение конкретного слова: Чтобы получить только второе слово (например, имя), оберните формулу в функцию ИНДЕКС: =ИНДЕКС(ТЕКСТРАЗД(A2; " "); 2)

Классический способ (Все версии Excel)

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

1. Первое слово (Фамилия): Находим первый пробел и берем всё, что слева от него. =ЛЕВСИМВ(A2; НАЙТИ(" "; A2 & " ") - 1)

Лайфхак: Прибавление " " к концу ячейки (A2 & " ") защищает формулу от ошибки, если в ячейке всего одно слово без пробелов.

2. Второе слово (Имя): Берем текст между первым и вторым пробелом. =ПСТР(A2; НАЙТИ(" "; A2) + 1; НАЙТИ(" "; A2 & " "; НАЙТИ(" "; A2) + 1) - НАЙТИ(" "; A2) - 1)

3. Третье слово (Отчество): Аналогично, но ищем третий пробел. Формула становится громоздкой, поэтому для старых версий часто проще использовать инструмент «Текст по столбцам» на вкладке Данные.

Проблема двойных пробелов Если в тексте встречаются двойные пробелы («Иванов Иван»), классические формулы с НАЙТИ(" "; ...) могут выдать пустую ячейку вместо имени. Решение: Перед разделением очистите данные формулой =СЖПРОБЕЛЫ(A2), которая удалит лишние пробелы.

Разбор ФИО: нюансы и автоматизация

Работа с русскими именами имеет свои особенности: наличие отчества, инициалы с точками или без, двойные фамилии.

Сценарий 1: Полное ФИО («Иванов Иван Иванович»)

Используйте функцию ТЕКСТРАЗД для мгновенного получения трех столбцов. =ТЕКСТРАЗД(A2; " ") Результат автоматически распределится: Фамилия | Имя | Отчество.

Сценарий 2: Инициалы («Иванов И. И.»)

Если форматирование неоднородно (где-то полное имя, где-то инициалы), логика усложняется.

  • Фамилия: Всегда первое слово до пробела. =ЛЕВСИМВ(A2; НАЙТИ(" "; A2 & " ") - 1)
  • Инициалы/Имя: Всё, что осталось после первого пробела. =ПСТР(A2; НАЙТИ(" "; A2) + 1; 99)

Сценарий 3: Проверка количества слов

Перед обработкой полезно понять структуру данных. Посчитайте количество пробелов: =ДЛСТР(A2) - ДЛСТР(ПОДСТАВИТЬ(A2; " "; ""))

  • Результат 1: Только Фамилия и Имя.
  • Результат 2: Полное ФИО.
  • Результат >2: Вероятно, двойная фамилия или ошибка в данных.

Извлечение частей строки по позиции

Часто нужно вытащить код, номер договора или дату из смешанной строки, например: «Заказ №123-А от 01.01.2026».

ЗадачаФормула (универсальная)Описание
Текст до разделителя=ЛЕВСИМВ(A2; НАЙТИ("-"; A2) - 1)Берет всё слева от первого дефиса.
Текст после разделителя=ПРАВСИМВ(A2; ДЛСТР(A2) - НАЙТИ("-"; A2))Берет всё справа от первого дефиса.
Текст между разделителями=ПСТР(A2; НАЙТИ("-"; A2)+1; НАЙТИ("-"; A2; НАЙТИ("-"; A2)+1) - НАЙТИ("-"; A2) - 1)Извлекает контент между первым и вторым дефисом.
Фиксированная длина=ПСТР(A2; 5; 3)Берет 3 символа, начиная с 5-й позиции.

Для поиска позиции можно использовать функцию ПОИСК вместо НАЙТИ, если регистр букв не важен (ПОИСК игнорирует регистр).

Объединение текста в одну ячейку

Обратная операция — склеивание разрозненных данных.

Простая сцепка (Любая версия)

Используйте амперсанд &. =A2 & " " & B2 & " " & C2 Недостаток: если одна из ячеек пуста, появятся лишние пробелы («Иванов »).

Умное объединение (Excel 2019+, 365)

Функция ТЕКСТОБЪЕД (TEXTJOIN) решает проблему пустых ячеек и позволяет задать единый разделитель.

Синтаксис: =ТЕКСТОБЪЕД(разделитель; игнорировать_пустоты; диапазон)

Пример сборки ФИО: =ТЕКСТОБЪЕД(" "; ИСТИНА; A2:C2)

  • " " — разделитель (пробел).
  • ИСТИНА — пропускать пустые ячейки (если нет отчества, лишнего пробела не будет).
  • A2:C2 — диапазон с Фамилией, Именем и Отчеством.

Эта функция идеально подходит для создания списков через запятую: =ТЕКСТОБЪЕД(", "; ИСТИНА; A2:A10) → «Яблоки, Груши, Сливы».

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

  1. Ошибка #ЗНАЧ! при отсутствии разделителя.

    • Причина: Функция НАЙТИ не находит указанный символ (например, пробел в однословной ячейке).
    • Решение: Оберните формулу в ЕСЛИОШИБКА(...; "") или используйте трюк с добавлением разделителя к концу строки (A2 & " ").
  2. Лишние пробелы после импорта.

    • Данные из 1С или веб-сайтов часто содержат неразрывные пробелы (код 160), которые обычный СЖПРОБЕЛЫ не видит.
    • Решение: Используйте замену: =ПОДСТАВИТЬ(A2; СИМВОЛ(160); " "), а затем СЖПРОБЕЛЫ.
  3. Разный регистр букв.

    • После разделения ФИО может выглядеть как «иванов иван».
    • Решение: Функция ПРОПНАЧ (PROPER) делает первую букву заглавной: =ПРОПНАЧ(A2).

FAQ

Как разделить текст по столбцам без формул? Выделите ячейки, перейдите на вкладку Данные → Текст по столбцам. Выберите «с разделителями», укажите пробел или запятую. Это статическое действие, формулы создаваться не будут.

Можно ли разделить текст на строки (вертикально)? Да, в новых версиях используйте третий аргумент ТЕКСТРАЗД. Например, =ТЕКСТРАЗД(A1; ; СИМВОЛ(10)) разделит текст по переносам строк внутри ячейки, выводя результаты вниз.

Что делать, если в ФИО двойная фамилия (Де Ла Порт)? Автоматическое разделение по пробелам даст сбой. В таких случаях надежнее использовать разделение по фиксированной ширине (инструмент «Текст по столбцам») или вручную корректировать данные, так как логика «первое слово — фамилия» здесь не работает.