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

Объединение содержимого ячеек — одна из самых востребованных операций в Microsoft Excel и Google Таблицах. Новичку может показаться, что достаточно просто вручную скопировать данные из одной ячейки в другую, но при работе с большими массивами данных такой подход неэффективен. На практике задача "склеить две ячейки" решается минимум пятью разными способами — от элементарных функций до продвинутых инструментов вроде Power Query или VBA.

В этой статье мы разберём все актуальные методы с примерами, сравним их плюсы и минусы, а также покажем, как избежать типичных ошибок. Особое внимание уделим нюансам: что делать, если между склеиваемыми значениями нужно вставить разделитель (пробел, запятую, тире), как объединить ячейки с числами или датами, и почему иногда результат отображается как странный код вместо текста.

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

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

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

Основной синтаксис:

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

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

Пример: если в ячейке A1 у вас фамилия "Иванов", а в B1 — имя "Пётр", формула =СЦЕПИТЬ(A1; " "; B1) вернёт "Иванов Пётр". Обратите внимание на пробел в кавычках — это обязательный разделитель, иначе результат будет слитным: "ИвановПётр".

  • ✅ Простота: не требует знания сложных функций
  • ✅ Работает во всех версиях Excel (включая 2003)
  • ❌ Ограничение на 255 аргументов (маловероятно, но возможно)
  • ❌ Неудобно добавлять разделители между множеством ячеек

В Excel 2016 и новее появилась альтернатива — функция ОБЪЕДИНИТЬ (CONCAT), которая автоматически игнорирует пустые ячейки. Например, =ОБЪЕДИНИТЬ(A1:B1) склеит только непустые значения в диапазоне.

📊 Какой версией Excel вы пользуетесь?
Excel 2010 или старше
Excel 2013-2016
Excel 2019
Excel 365 (подписка)
Google Таблицы

2. Оператор "&" — самый быстрый способ

Для тех, кто предпочитает краткость, в Excel есть оператор амперсанд (&). Он делает то же самое, что и СЦЕПИТЬ, но записывается короче и работает немного быстрее при больших объёмах данных.

Пример той же задачи с фамилией и именем:

=A1 & " " & B1

Результат будет идентичен: "Иванов Пётр".

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

  • 🚀 Минимальный синтаксис — меньше шансов ошибиться
  • 📊 Лучшая производительность при обработке тысяч строк
  • 🔄 Легко комбинировать с другими функциями (например, ЕСЛИ)

А теперь — ключевой нюанс: если одна из ячеек содержит число или дату, Excel может интерпретировать её не так, как вы ожидаете. Например, если в A1 число 123, а в B1 текст "руб.", формула =A1 & B1 вернёт 123руб.. Но если в A1 дата 15.05.2023, результат будет выглядеть как число (например, 45047руб.) — это внутренний формат хранения дат в Excel.

3. Функция ТЕКСТСЦЕПИТЬ (TEXTJOIN) — для сложных разделителей

В Excel 2019 и Excel 365 появилась революционная функция ТЕКСТСЦЕПИТЬ (TEXTJOIN), которая решает две ключевые проблемы предыдущих методов:

  1. Автоматически игнорирует пустые ячейки
  2. Позволяет указать разделитель, который будет вставляться между всеми склеиваемыми значениями

Синтаксис:

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

Где:

  • разделитель — символ или текст, который будет вставлен между значениями (например, "," или " - ")
  • игнорировать_пустыеИСТИНА (игнорировать пустые ячейки) или ЛОЖЬ (включать их как пустые строки)

Пример: склеим фамилию, имя и отчество из ячеек A1, B1 и C1 с пробелами, даже если отчество пустое:

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

Если в C1 нет данных, результат будет "Иванов Пётр" (без лишнего пробела).

Функция Поддержка пустых ячеек Макс. аргументов Разделитель Доступна с версии
СЦЕПИТЬ Нет 255 Ручной Excel 2003
& Нет Неограничено Ручной Excel 2000
ТЕКСТСЦЕПИТЬ Да Неограничено Автоматический Excel 2019

4. Объединение с условиями: функция ЕСЛИ + склеивание

Часто требуется склеивать ячейки только при выполнении определённых условий. Например, добавлять слово "г." к названию города, только если ячейка не пустая, или формировать email из имени и фамилии, но только для активных клиентов.

Для этого комбинируют ЕСЛИ (IF) с оператором & или функциями склеивания. Рассмотрим два примера:

Пример 1. Добавить "г." к названию города (ячейка A1), если он не пустой:

=ЕСЛИ(A1<>""; A1 & " г."; "")

Пример 2. Сформировать email из имени (A1) и фамилии (B1), но только если есть домен в ячейке C1:

=ЕСЛИ(C1<>""; СТРОЧН(A1) & "." & СТРОЧН(B1) & "@" & C1; "")

Здесь СТРОЧН (LOWER) преобразует текст в нижний регистр для корректного email.

⚠️ Внимание: При склеивании текста с числами Excel может автоматически округлять значения. Например, если в ячейке A1 число 12.3456, а вы используете =A1 & " кг", результат будет "12.3456 кг". Но если ячейка отформатирована как "числовой формат с 2 знаками после запятой", формула вернёт "12.35 кг" — это особенность отображения, а не ошибка.

5. Power Query: объединение столбцов без формул

Если вам нужно склеить тысячи строк или регулярно обновлять данные, Power Query (вкладка Данные → Получить данные) станет спасением. Этот инструмент позволяет:

  • 🔄 Объединять столбцы с автоматическим обновлением
  • 📌 Добавлять любые разделители
  • 🧹 Очищать данные перед склеиванием (удалять пробелы, исправлять регистр)

Пошаговая инструкция:

  1. Выделите исходную таблицу и нажмите Данные → Из таблицы/диапазонаExcel 2016+).
  2. В открывшемся редакторе Power Query выделите столбцы, которые нужно объединить.
  3. На вкладке Преобразование (или Transform) выберите Объединить столбцы.
  4. Укажите разделитель (например, пробел) и подтвердите.
  5. Нажмите Закрыть и загрузить — данные склеятся в новом столбце.

Главное преимущество Power Queryдинамическая связь с источником. Если исходные данные изменятся, достаточно обновить запрос (Данные → Обновить все), и склеенный столбец пересчитается автоматически.

Удалить лишние пробелы (функция TRIM)|Привести текст к нижнему/верхнему регистру|Заменить ошибки (#Н/Д, #ЗНАЧ!) на пустые значения|Проверить формат дат и чисел-->

6. VBA-макрос: автоматическое склеивание для больших файлов

Когда нужно обработать десятки тысяч строк или выполнять склеивание по сложным правилам, VBA-макросы становятся незаменимы. Например, такой код объединит значения из столбцов A и B в столбец C с разделителем " - ":

Sub MergeCells()

Dim ws As Worksheet

Dim lastRow As Long

Dim i As Long

Set ws = ActiveSheet

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

For i = 1 To lastRow

ws.Range("C" & i).Value = ws.Range("A" & i).Value & " - " & ws.Range("B" & i).Value

Next i

End Sub

Чтобы запустить макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Закройте редактор и запустите макрос через Вид → Макросы (или Alt + F8).
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не выполнится. Также отключите защиту от макросов в Файл → Параметры → Центр управления безопасностью, если Excel блокирует выполнение.

Для продвинутых задач макрос можно модифицировать:

  • Добавить проверку на пустые ячейки
  • Обрабатывать ошибки (#Н/Д, #ЗНАЧ!)
  • Склеивать данные из нескольких листов
Как склеить ячейки с переносом строки?

Чтобы вставить перенос строки между склеиваемыми значениями, используйте функцию СИМВОЛ(10) (символ перевода строки) и не забудьте включить перенос текста в ячейке (Главная → Перенос текста). Пример:

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

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

Можно ли склеить ячейки без потери данных в исходных?

Да, все описанные методы (кроме Power Query в режиме замены) создают новый столбец с объединёнными данными, не затрагивая исходные ячейки. Если вам нужно заменить данные в исходных ячейках, используйте Копировать → Специальная вставка → Значения после склеивания.

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

Excel хранит даты как числа (количество дней с 1 января 1900 года). Чтобы склеивать даты корректно, преобразуйте их в текст функцией ТЕКСТ:

=ТЕКСТ(A1; "дд.мм.гггг") & " " & B1

Как объединить ячейки с сохранением форматирования?

Склеивание через формулы или Power Query не сохраняет форматирование (жирный текст, цвет и т.д.). Единственный способ — использовать VBA с обработкой формата каждой ячейки. Пример кода:

Код VBA для склеивания с форматированием

Sub MergeWithFormatting()

Dim rng1 As Range, rng2 As Range

Set rng1 = Range("A1")

Set rng2 = Range("B1")

rng1.Characters(Start:=Len(rng1.Value) + 1).Insert " " & rng2.Value

rng2.Font.Bold = rng1.Characters(Start:=Len(rng1.Value) - Len(rng2.Value), Length:=Len(rng2.Value)).Font.Bold

End Sub

Чем отличается СЦЕПИТЬ от ОБЪЕДИНИТЬ?

Функция ОБЪЕДИНИТЬ (CONCAT) появилась в Excel 2016 и, в отличие от СЦЕПИТЬ, автоматически игнорирует пустые ячейки. Например, =ОБЪЕДИНИТЬ(A1:B1) вернёт только непустые значения из диапазона, тогда как СЦЕПИТЬ добавит пустую строку.

Можно ли склеить ячейки в Google Таблицах?

Да, в Google Таблицах работают те же принципы:

  • Оператор &: =A1 & " " & B1
  • Функция СЦЕПИТЬ (CONCATENATE)
  • Функция ТЕКСТСЦЕПИТЬ (TEXTJOIN)

Отличие только в синтаксисе: вместо точек с запятой (;) используются запятые (,).