Как соединить текст из разных ячеек Excel: полное руководство с примерами

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

Многие пользователи ошибочно думают, что функция Объединить и поместить в центре (Home → Merge & Center) решает проблему. На самом деле этот инструмент лишь визуально объединяет ячейки, а текст из правой ячейки при этом теряется. Чтобы сохранить все данные, нужны другие подходы: от простых формул до макросов. В этой статье мы разберём все актуальные способы — с учётом нюансов для разных версий Excel (2010–2023 и Microsoft 365).

Если вы регулярно работаете с большими таблицами, умение правильно соединять текст сэкономит часы времени. Например, при формировании почтовых адресов из отдельных столбцов «Улица», «Дом» и «Квартира» или при создании уникальных идентификаторов из нескольких полей. Далее — подробные инструкции для каждого случая, включая обработку пробелов, разделителей и ошибок.

1. Способ: функция СЦЕПИТЬ (CONCATENATE) — классический метод

Функция СЦЕПИТЬ (или CONCATENATE в английской версии) — самый простой способ объединить текст из нескольких ячеек. Она последовательно склеивает все перечисленные аргументы, но не добавляет разделителей автоматически.

Формат функции:

=СЦЕПИТЬ(текст1; [текст2]; ...)

Где текст1, текст2 и т.д. — это либо адреса ячеек (например, A1), либо текст в кавычках (например, " " для пробела).

Пример: чтобы объединить содержимое ячеек A1 («Иванов»), B1 («Иван») и C1 («Иванович») с пробелами, используйте:

=СЦЕПИТЬ(A1; " "; B1; " "; C1)

Результат: «Иванов Иван Иванович».

⚠️ Внимание: В Excel 2016 и новее функция СЦЕПИТЬ помечена как устаревшая, но продолжает работать. Вместо неё рекомендуется использовать СЦЕП (см. следующий раздел).
  • ✅ Простота использования для начинающих
  • ✅ Работает во всех версиях Excel (2003–2023)
  • ❌ Требует ручного добавления разделителей (пробелов, запятых и т.д.)
  • ❌ Ограничение на 255 аргументов

2. Способ: функция СЦЕП (CONCAT) — современная замена

Функция СЦЕП (CONCAT в английской версии) появилась в Excel 2016 и пришла на смену СЦЕПИТЬ. Она поддерживает диапазоны ячеек как аргументы, что упрощает работу с большими массивами данных.

Формат:

=СЦЕП(текст1; [текст2]; ...)

или для диапазона:

=СЦЕП(A1:A5)

Пример: объединение всех ячеек в столбце AA1 по A5) с разделителем «; »:

=СЦЕП(A1; "; "; A2; "; "; A3; "; "; A4; "; "; A5)

или короче (если разделитель не нужен):

=СЦЕП(A1:A5)

Ключевое отличие от СЦЕПИТЬ: СЦЕП игнорирует пустые ячейки, тогда как СЦЕПИТЬ добавляет лишние разделители. Это полезно при работе с неполными данными.

Функция Поддержка диапазонов Обработка пустых ячеек Макс. аргументов
СЦЕПИТЬ ❌ Нет Добавляет разделители 255
СЦЕП ✅ Да Игнорирует пустые 255
ТЕКСТСЦЕП ✅ Да Настраиваемая 253
📊 Какую функцию для объединения текста вы используете чаще?
СЦЕПИТЬ
СЦЕП
ТЕКСТСЦЕП
Другую
Не знаю

3. Способ: функция ТЕКСТСЦЕП (TEXTJOIN) — гибкий контроль разделителей

Функция ТЕКСТСЦЕП (TEXTJOIN) — самое мощное решение для объединения текста, доступное с Excel 2019 и Microsoft 365. Она позволяет:

  • ✅ Указать разделитель (пробел, запятая, тире и т.д.)
  • ✅ Игнорировать или учитывать пустые ячейки
  • ✅ Обрабатывать целые диапазоны за один раз

Формат:

=ТЕКСТСЦЕП(разделитель; игнорировать_пустые; текст1; [текст2]; ...)

Где:

- разделитель — символ или текст, вставляемый между значениями (например, "," или " ").

- игнорировать_пустыеИСТИНА (1) или ЛОЖЬ (0).

- текст1, текст2 — ячейки или диапазоны.

Пример: объединить ячейки A1:A5 через запятую, игнорируя пустые:

=ТЕКСТСЦЕП(", "; ИСТИНА; A1:A5)

Результат для данных ["яблоки", "", "бананы", "груши"]: «яблоки, бананы, груши».

⚠️ Внимание: В Excel 2016 функция ТЕКСТСЦЕП отсутствует. Для её использования обновите программу или применяйте альтернативные методы (см. раздел про ПОДСТАВИТЬ).
Как эмулировать TEXTJOIN в Excel 2016?

Используйте комбинацию функций СЦЕПИТЬ + ЕСЛИ + ДЛСТР для проверки пустых ячеек. Пример:

=СЦЕПИТЬ(ЕСЛИ(A1<>"";A1&", ";""); ЕСЛИ(A2<>"";A2&", ";""))
(удалите лишнюю запятую в конце с помощью ЛЕВСИМВ).

4. Способ: оператор & (амперсанд) — быстрое решение без функций

Если вам нужно один раз объединить несколько ячеек, проще всего использовать символ & (амперсанд). Этот оператор последовательно склеивает текстовые строки и не требует запоминания синтаксиса функций.

Пример: объединить A1 («Склад»), B1 («№5») и C1 («(запад)») в формат «Склад №5 (запад)»:

=A1 & " №" & B1 & " " & C1

Преимущества метода:

  • ✅ Минималистичный синтаксис
  • ✅ Работает во всех версиях Excel
  • ✅ Позволяет гибко добавлять статический текст (например, «№»)

Недостатки:

  • ❌ Неудобно для объединения больших диапазонов
  • ❌ Легко ошибиться с пробелами или разделителями

Убедитесь, что все ячейки содержат текст (а не числа)|Добавьте пробелы вручную (например, " ")|Проверьте результат на наличие лишних символов|Используйте ТРИМ для удаления двойных пробелов-->

5. Способ: Power Query — объединение для больших данных

Если вам нужно объединить текст в тысячах строк, ручные формулы станут тормозить Excel. В этом случае поможет инструмент Power Query (доступен в Excel 2016+ и Microsoft 365), который обрабатывает данные на уровне базы.

Алгоритм действий:

  1. Выделите исходную таблицу и перейдите во вкладку Данные → Из таблицы/диапазона (или Data → From Table/Range).
  2. В открывшемся редакторе Power Query выберите столбцы, которые нужно объединить.
  3. Нажмите Преобразовать → Столбец → Объединить (Transform → Merge Columns).
  4. Укажите разделитель (например, пробел) и подтвердите.
  5. Нажмите Закрыть и загрузить (Close & Load), чтобы вернуть данные в Excel.

Преимущества Power Query:

  • ✅ Обрабатывает миллионы строк без замедления
  • ✅ Сохраняет связь с исходными данными (обновляется автоматически)
  • ✅ Позволяет добавлять префиксы/суффиксы (например, «Код: »)
⚠️ Внимание: При объединении столбцов с числами Power Query преобразует их в текст. Если нужны вычисления, предварительно измените тип данных на «Текст» (Transform → Data Type → Text).

6. Способ: VBA-макрос — автоматизация для повторяющихся задач

Если вам регулярно приходится объединять текст по одним и тем же правилам, имеет смысл написать макрос на VBA. Например, для склеивания ФИО из трёх столбцов с добавлением пробелов.

Пример макроса для объединения ячеек в выделенном диапазоне через запятую:

Sub CombineText()

Dim rng As Range

Dim cell As Range

Dim result As String

On Error Resume Next

Set rng = Selection

On Error GoTo 0

If rng Is Nothing Then Exit Sub

For Each cell In rng

If cell.Column Mod 3 = 1 Then ' Начинаем с каждого 3-го столбца (A, D, G...)

result = cell.Value & ", " & cell.Offset(0, 1).Value & " " & cell.Offset(0, 2).Value

cell.Offset(0, 3).Value = result ' Результат в следующем столбце

End If

Next cell

End Sub

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Вернитесь в Excel, выделите диапазон и запустите макрос (View → Macros → CombineText).

Предупреждение: Макросы могут замедлить работу при обработке больших диапазонов. Для оптимизации отключите обновление экрана в начале кода:

Application.ScreenUpdating = False

и включите в конце:

Application.ScreenUpdating = True

Типичные ошибки и их решения

При объединении текста в Excel пользователи часто сталкиваются с следующими проблемами:

  • 🔢 Числа преобразуются в даты: Если ячейка содержит число (например, 1-5), Excel может интерпретировать его как дату. Решение: предварительно отформатируйте ячейку как «Текст» (Ctrl + 1 → Числовой формат → Текстовый).
  • 🌍 Лишние пробелы: При использовании & или СЦЕПИТЬ легко добавить двойные пробелы. Решение: оберните результат в функцию СЖПРОБЕЛЫ (TRIM):
    =СЖПРОБЕЛЫ(СЦЕП(A1; " "; B1))
  • #ЗНАЧ! при пустых ячейках: Если в формуле есть ссылка на пустую ячейку, некоторые функции (например, СЦЕПИТЬ) могут выдавать ошибку. Решение: используйте ЕСЛИ для проверки:
    =ЕСЛИ(A1="";"";A1 & " " & B1)

Ещё одна распространённая ошибка — потеря данных при использовании «Объединить и поместить в центре». Этот инструмент (Home → Merge & Center) сохраняет только содержимое левой верхней ячейки, а остальные данные стирает. Чтобы избежать потерь, всегда используйте формулы или Power Query.

FAQ: ответы на частые вопросы

Можно ли объединить текст с учётом регистра?

Да, но стандартные функции Excel не различают регистр. Чтобы привести текст к единому формату, используйте:

  • ПРОПИСН (UPPER) — для ЗАГЛАВНЫХ БУКВ
  • СТРОЧН (LOWER) — для строчных букв
  • ПРОПНАЧ (PROPER) — для «Иванов Иван Иванович»

Пример:

=ПРОПНАЧ(СЦЕП(A1; " "; B1))
Как объединить текст с переносом строки?

Используйте функцию СИМВОЛ(10) для вставки переноса. Не забудьте включить перенос текста в ячейке (Home → Wrap Text):

=A1 & СИМВОЛ(10) & B1

Для Windows также подойдёт комбинация Alt + Enter при ручном вводе.

Почему функция ТЕКСТСЦЕП не работает?

Вероятные причины:

  • У вас Excel 2016 или старше — обновите программу или используйте альтернативы (СЦЕП + ЕСЛИ).
  • Ячейки отформатированы как числа — измените формат на «Текст».
  • В формуле опечатка — проверьте синтаксис: =ТЕКСТСЦЕП(", ";ИСТИНА;A1:A5)
Как объединить текст с условием (например, только если ячейка не пустая)?

Используйте комбинацию ЕСЛИ + ДЛСТР:

=ЕСЛИ(ДЛСТР(A1)>0; A1 & " "; "") & ЕСЛИ(ДЛСТР(B1)>0; B1; "")

Или в Excel 2019+:

=ТЕКСТСЦЕП(" "; ИСТИНА; A1; B1)
Можно ли объединить текст из разных листов?

Да, укажите имя листа в ссылке. Пример для объединения A1 с листа Лист1 и B1 с листа Лист2:

=Лист1!A1 & " " & Лист2!B1

Если имя листа содержит пробелы, возьмите его в апострофы:

='Мой лист'!A1