Мастер-класс по работе с текстом в Excel

Иван Корнев·21.05.2024·3 мин

Чтобы объединить текст в нескольких ячейках в одну строку, используйте функцию =TEXTJOIN("разделитель"; ИСТИНА; диапазон). Для вставки переноса строки внутри ячейки замените разделитель на код СИМВОЛ(10) и включите опцию «Перенос текста» в формате ячейки. В старых версиях Excel применяйте оператор & или функцию СЦЕПИТЬ.

Основные функции для работы со строками

В современных версиях Excel (2019, 2021, Microsoft 365) лучшим инструментом является функция ТЕКСТОБЪЕД (англ. TEXTJOIN). Она позволяет задать единый разделитель для всех элементов и автоматически игнорировать пустые ячейки.

Для версий старше 2016 года используются:

  • СЦЕП (CONCAT) — объединяет диапазоны и отдельные значения, но не умеет автоматически пропускать пустоты или ставить разделители между каждым элементом диапазона.
  • СЦЕПИТЬ (CONCATENATE) — устаревшая функция, работает только с перечислением отдельных ячеек через точку с запятой.
  • Оператор & — универсальный способ, работающий во всех версиях.

Если у вас новая версия Excel, всегда выбирайте ТЕКСТОБЪЕД. Она экономит время при работе со списками и избавляет от лишних пробелов в конце строк.

Пошаговые примеры объединения

1. Простая сцепка с пробелом или запятой

Чтобы собрать данные из ячеек A1, B1 и C1 в одну строку через пробел: =ТЕКСТОБЪЕД(" "; ИСТИНА; A1:C1)

Здесь " " — это разделитель (пробел), а ИСТИНА указывает функции игнорировать пустые ячейки, чтобы не получались двойные пробелы.

Для разделения запятой измените первый аргумент: =ТЕКСТОБЪЕД(", "; ИСТИНА; A1:C1)

2. Добавление переноса строки внутри ячейки

Частая задача — сделать список внутри одной ячейки, где каждое значение начинается с новой строки. Для этого используется спецсимвол возврата каретки.

Формула: =ТЕКСТОБЪЕД(СИМВОЛ(10); ИСТИНА; A1:A5)

Важно: Чтобы перенос отобразился визуально, необходимо:

  1. Выделить ячейку с формулой.
  2. На вкладке Главная нажать кнопку Перенос текста (Wrap Text).
  3. При необходимости расширить высоту строки.

Без включения кнопки «Перенос текста» формула сработает, но вы увидите длинную строку с маленькими квадратиками вместо разрывов.

3. Комбинирование текста и значений

Часто нужно добавить подписи к данным (например, «Имя: Иван»). Это делается через амперсанд & внутри функции или вне её.

Пример формирования адресной строки: =ТЕКСТОБЪЕД(", "; ИСТИНА; "г. " & A1; "ул. " & B1; "д. " & C1)

Результат: г. Москва, ул. Ленина, д. 5

4. Решение для старых версий Excel

Если функции ТЕКСТОБЪЕД нет, используйте связку амперсанда и символа переноса: =A1 & СИМВОЛ(10) & B1 & СИМВОЛ(10) & C1

Чтобы избежать лишних разделителей при пустых ячейках, формула усложняется: =ЕСЛИ(A1<>""; A1 & СИМВОЛ(10); "") & ЕСЛИ(B1<>""; B1 & СИМВОЛ(10); "") & C1

Сравнение методов обработки данных

ЗадачаРекомендуемая функцияПример формулы
Список через запятуюТЕКСТОБЪЕД=ТЕКСТОБЪЕД(", "; ИСТИНА; A1:A10)
Многострочный списокТЕКСТОБЪЕД + СИМВОЛ(10)=ТЕКСТОБЪЕД(СИМВОЛ(10); ИСТИНА; A1:A10)
Сцепка двух словОператор &=A1 & " " & B1
Работа в Excel 2013 и старшеСЦЕПИТЬ или &=СЦЕПИТЬ(A1; " "; B1)
Игнорирование пустых ячеекТЕКСТОБЪЕД (параметр ИСТИНА)Автоматически пропускает пустоты

Частые ошибки и способы их устранения

  • Не виден перенос строки. Самая частая проблема. Решение: включите форматирование «Перенос текста» для ячейки с результатом.
  • Лишние пробелы. Если исходные данные содержат пробелы в конце, используйте функцию СЖПРОБЕЛЫ (англ. TRIM) внутри объединения: =ТЕКСТОБЪЕД(" "; ИСТИНА; СЖПРОБЕЛЫ(A1); СЖПРОБЕЛЫ(B1)).
  • Ошибка #ЗНАЧ! в старых версиях. Функция ТЕКСТОБЪЕД не поддерживается в Excel 2016 и ранее. Используйте альтернативы с &.
  • Неверный разделитель аргументов. В русской локализации Excel аргументы разделяются точкой с запятой (;), в английской — запятой (,). Проверьте настройки вашей системы.

FAQ

Как объединить текст с датой без потери формата? При прямом объединении дата превращается в число (например, 44567). Используйте функцию ТЕКСТ для форматирования: =A1 & " от " & ТЕКСТ(B1; "ДД.ММ.ГГГГ")

Можно ли объединить целый столбец одним кликом? Да, если использовать ТЕКСТОБЪЕД. Просто укажите весь диапазон как третий аргумент: =ТЕКСТОБЪЕД(", "; ИСТИНА; A:A). Функция сама пройдет по всем заполненным ячейкам столбца.

Что делать, если нужен разный разделитель для разных пар ячеек? Функция ТЕКСТОБЪЕД ставит один разделитель везде. Для сложных случаев комбинируйте части вручную: =ТЕКСТОБЪЕД(", "; ИСТИНА; A1&B1) & " | " & ТЕКСТОБЪЕД("-"; ИСТИНА; C1:E1)