Объединение текста из нескольких ячеек — одна из самых частых задач при работе с данными в Microsoft Excel. Без этого не обойтись при формировании отчётов, создании адресов, ФИО или генерации уникальных идентификаторов. Казалось бы, что может быть проще? Но даже опытные пользователи иногда сталкиваются с неожиданными проблемами: лишние пробелы, ошибки #ЗНАЧ! при работе с пустыми ячейками или необходимость объединить данные с разделителями.
В этой статье мы разберём 5 проверенных способов сложить текст в Excel — от элементарных формул до продвинутых инструментов вроде Power Query. Вы узнаете, какой метод выбрать для вашей задачи, как избежать типичных ошибок и автоматизировать процесс для больших таблиц. А в конце — бонус: скрытые возможности функции ОБЪЕДИНИТЬ, о которых не пишут в официальной документации.
Если вы никогда не работали с текстовыми функциями, не волнуйтесь: мы начнём с азов. Если же вы продвинутый пользователь, переходите сразу к разделам про TEXTJOIN или Power Query — там вас ждут неочевидные фишки, которые сэкономят часы ручной работы.
1. Самый простой способ: оператор &
Начнём с базового метода, который работает во всех версиях Excel — от Excel 2003 до Microsoft 365. Оператор & (амперсанд) позволяет "склеивать" текст из разных ячеек без дополнительных функций. Его главное преимущество — простота и скорость.
Допустим, у вас в ячейке A1 хранится имя ("Иван"), а в B1 — фамилия ("Петров"). Чтобы получить полное ФИО в ячейке C1, введите формулу:
=A1 & " " & B1
Здесь " " — это пробел между именем и фамилией. Без него слова сольются в одно ("ИванПетров").
- ✅ Плюсы: работает везде, не требует знания функций, минимальные затраты времени.
- ⚠️ Минусы: не обрабатывает пустые ячейки (если
A1илиB1пустые, результат будет выглядеть как " Петров" или "Иван "). - 🔄 Альтернатива: для добавления запятой или другого разделителя замените пробел на нужный символ:
=A1 & ", " & B1→ "Иван, Петров".
Важно: если в одной из ячеек хранится число (например, 123), Excel автоматически преобразует его в текст. Но если число отформатировано как дата, результат может быть неожиданным (например, "Иван44562" вместо "Иван01.01.2022").
2. Функция СЦЕПИТЬ (CONCATENATE) — классика жанра
Функция СЦЕПИТЬ (в английской версии — CONCATENATE) была основным инструментом для объединения текста до появления ОБЪЕДИНИТЬ. Она работает во всех версиях Excel и позволяет объединять до 255 аргументов (ячеек или текстовых строк).
Синтаксис функции:
=СЦЕПИТЬ(текст1; [текст2]; ...)
Пример для тех же имени и фамилии:
=СЦЕПИТЬ(A1; " "; B1)
Отличие от оператора &: функция СЦЕПИТЬ лучше подходит для сложных формул с множеством аргументов. Например, чтобы собрать адрес из улицы (C1), дома (D1) и квартиры (E1):
=СЦЕПИТЬ(C1; ", д. "; D1; ", кв. "; E1)
Результат: "Ленина, д. 15, кв. 42".
| Способ | Пример формулы | Результат | Обрабатывает пустые ячейки? |
|---|---|---|---|
Оператор & | =A1 & " " & B1 | "Иван Петров" | ❌ Нет |
СЦЕПИТЬ | =СЦЕПИТЬ(A1; " "; B1) | "Иван Петров" | ❌ Нет |
ОБЪЕДИНИТЬ (Excel 2016+) | =ОБЪЕДИНИТЬ(" "; A1:B1) | "Иван Петров" | ✅ Да |
⚠️ Внимание: Если в одной из ячеек ошибка (например,#ДЕЛ/0!), функцияСЦЕПИТЬвернёт эту ошибку вместо текста. Чтобы избежать этого, используйте функциюЕСЛИОШИБКА:
=ЕСЛИОШИБКА(СЦЕПИТЬ(A1; " "; B1); "")
3. Функция ОБЪЕДИНИТЬ (TEXTJOIN) — современное решение
В Excel 2016 и новее появилась функция ОБЪЕДИНИТЬ (англ. TEXTJOIN), которая решает главную проблему предыдущих методов — обработку пустых ячеек. Она позволяет:
- 🔹 Указывать разделитель между значениями (пробел, запятая, тире и т.д.).
- 🔹 Игнорировать пустые ячейки (опция
истина/ложь). - 🔹 Объединять целые диапазоны (например,
A1:D1), а не только отдельные ячейки.
Синтаксис:
=ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; ...)
Примеры:
=ОБЪЕДИНИТЬ(" "; ИСТИНА; A1:B1) → "Иван Петров" (если обе ячейки заполнены)
=ОБЪЕДИНИТЬ(", "; ИСТИНА; A1:C1) → "Иван, Петров" (если C1 пустая)
Скрытая возможность: с помощью ОБЪЕДИНИТЬ можно создавать списки уникальных значений. Например, чтобы перечислить все уникальные города из диапазона A2:A100 через запятую:
=ОБЪЕДИНИТЬ(", "; ИСТИНА; ЕСЛИОШИБКА(1/ПОИСКПОЗ(A2:A100; A2:A100; 0); ""))
Эта формула требует ввода как массивная (нажмите В Excel 365 и 2021 массивные формулы вводятся автоматически — просто нажмите Enter. В Excel 2016-2019 используйте Ctrl + Shift + Enter в старых версиях Excel).
Как вставить массивную формулу в новых версиях Excel?
Ctrl+Shift+Enter, и формула будет обёрнута в фигурные скобки {}.
4. Объединение с учётом условий: функция ЕСЛИ + &
Иногда текст нужно объединять только при выполнении условия. Например, добавлять слово "г." к названию города, только если ячейка не пустая. Здесь поможет комбинация ЕСЛИ и оператора &.
Пример: в ячейке A1 — город ("Москва"), в B1 — улица ("Тверская"). Нужно получить адрес в формате "г. Москва, ул. Тверская", но только если обе ячейки заполнены.
=ЕСЛИ(A1<>""; "г. " & A1; "") & ЕСЛИ(И(A1<>""; B1<>""); ", ул. " & B1; "")
Разберём по частям:
ЕСЛИ(A1<>""; "г. " & A1; "")— добавляет "г. " перед названием города, еслиA1не пустая.И(A1<>""; B1<>"")— проверяет, что обе ячейки заполнены, прежде чем добавлять улицу.
⚠️ Внимание: Если в формуле много вложенныхЕСЛИ, она становится сложной для чтения. В таких случаях лучше использоватьОБЪЕДИНИТЬс дополнительными столбцами или Power Query (см. следующий раздел).
Ячейки содержат только текст (не числа или даты)|
Учтён случай, когда обе ячейки пустые|
Проверены граничные значения (например, пробелы вместо пустоты)|
Формула тестировалась на реальных данных
-->
5. Продвинутый метод: Power Query для массового объединения
Если вам нужно объединить текст в тысячах строк или данные хранятся в разных таблицах, ручные формулы станут кошмаром. Здесь на помощь приходит Power Query — инструмент для преобразования данных, доступный в Excel 2016+ и Office 365.
Пошаговая инструкция:
- Выделите исходную таблицу и перейдите на вкладку
Данные → Из таблицы/диапазона(илиGet Data → From Table/Rangeв английской версии). - В открывшемся редакторе Power Query выберите столбцы, которые нужно объединить (зажмите
Ctrlдля множественного выбора). - На вкладке
Преобразовать(Transform) нажмитеОбъединить столбцы(Merge Columns). - Укажите разделитель (пробел, запятая и т.д.) и название нового столбца.
- Нажмите
Закрыть и загрузить(Close & Load), чтобы вернуть данные в Excel.
Преимущества Power Query:
- 🔹 Обрабатывает миллионы строк без замедления.
- 🔹 Сохраняет источник данных — при обновлении исходной таблицы результат пересчитывается автоматически.
- 🔹 Позволяет очищать данные перед объединением (удалять пробелы, исправлять регистр и т.д.).
Пример: объединение ФИО из трёх столбцов (Имя, Отчество, Фамилия) с обработкой пустых отчеств:
= Table.AddColumn(#"Предыдущий шаг", "ФИО", each [Фамилия] & " " & [Имя] & " " & if [Отчество] = null then "" else [Отчество])
6. Типичные ошибки и как их избежать
Даже в простых задачах по объединению текста пользователи сталкиваются с неожиданными проблемами. Вот самые распространённые ошибки и их решения:
1. Лишние пробелы в результате
Если в исходных ячейках есть пробелы до или после текста, они останутся после объединения. Чтобы их убрать, используйте функцию СЖПРОБЕЛЫ:
=СЖПРОБЕЛЫ(A1) & " " & СЖПРОБЕЛЫ(B1)
2. Ошибка #ЗНАЧ! при пустых ячейках
Функции СЦЕПИТЬ и оператор & не умеют игнорировать пустые ячейки. Решение — ОБЪЕДИНИТЬ или проверка на пустоту:
=ЕСЛИ(A1=""; ""; A1 & " " & B1)
3. Неправильная кодировка символов
Если текст скопирован из веб-страницы или другого источника, в нём могут быть "невидимые" символы (например, неразрывный пробел). Чтобы их удалить, используйте:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; СИМВОЛ(160); " "); СИМВОЛ(13); "")
4. Объединение чисел как текста
Если в ячейке число (например, 123), а вы хотите, чтобы оно осталось числом в результате, используйте функцию ТЕКСТ:
=A1 & " " & ТЕКСТ(B1; "0")
FAQ: Ответы на частые вопросы
Можно ли объединить текст из ячеек с переносом строки?
Да! Используйте функцию СИМВОЛ(10) для переноса строки. Пример:
=A1 & СИМВОЛ(10) & B1
После ввода формулы включите перенос текста в ячейке с результатом (вкладка Главная → Перенос текста).
Как объединить текст с датой в правильном формате?
Дата в Excel хранится как число. Чтобы отобразить её как текст, используйте функцию ТЕКСТ:
=A1 & " " & ТЕКСТ(B1; "дд.мм.гггг")
Где B1 — ячейка с датой, а "дд.мм.гггг" — нужный формат.
Почему функция ОБЪЕДИНИТЬ не работает в моём Excel?
Функция ОБЪЕДИНИТЬ (TEXTJOIN) появилась только в Excel 2016. Если у вас более старая версия, используйте:
- Оператор
&с проверкой на пустоту. - Надстройку Power Query (доступна с Excel 2010).
- VBA-макрос для массового объединения.
Как объединить текст из нескольких листов?
Для этого удобнее всего использовать Power Query:
- Импортируйте данные с каждого листа (
Данные → Из таблицы/диапазона). - Объедините запросы (
Домашняя → Объединить). - Добавьте столбец с объединённым текстом.
Альтернатива — формулы с ссылками на другие листы:
=Лист2!A1 & " " & Лист1!B1
Можно ли автоматически обновлять объединённый текст при изменении исходных данных?
Да, если использовать:
- 🔹 Формулы — результат обновляется при пересчёте (
F9). - 🔹 Power Query — данные обновляются по кнопке
Обновить все(Данные → Обновить все). - 🔹 Таблицы Excel — если исходные данные в умной таблице (
Ctrl + T), формулы в связанных ячейках обновляются автоматически.