Объединение текста из двух ячеек в Excel: полное руководство с примерами

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

В этой статье мы разберём 5 рабочих методов объединения текста — от базовых функций СЦЕПИТЬ и ОБЪЕДИНИТЬ до продвинутых инструментов вроде Power Query и VBA. Вы узнаете, какой способ выбрать для статических данных, а какой подойдёт для динамически обновляемых таблиц. Особое внимание уделим типичным ошибкам (например, когда одна из ячеек пустая) и способам их обхода.

Материал актуален для всех версий Excel (2010–2023) и Excel Online, а также для Google Таблиц с учётом их особенностей. Если вы работаете с большими массивами данных или нуждаетесь в автоматизации, в конце статьи найдёте сравнительную таблицу методов по скорости и гибкости.

1. Базовый метод: функция СЦЕПИТЬ (CONCATENATE)

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

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

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

  • Плюсы: работает во всех версиях Excel, простой синтаксис.
  • Минусы: не игнорирует пустые ячейки (результат будет с лишними пробелами), ограничена 255 аргументами.
  • 🔄 Альтернатива: в Excel 2016+ и Excel Online можно использовать ОБЪЕДИНИТЬ (CONCAT).
⚠️ Внимание: Если одна из ячеек содержит число (например, номер дома), СЦЕПИТЬ преобразует его в текст без форматирования. Чтобы сохранить ведущие нули (например, в номере телефона), используйте функцию ТЕКСТ:
=СЦЕПИТЬ("Телефон: "; ТЕКСТ(C1; "0"))
📊 Какой версией Excel вы пользуетесь?
2010–2013
2016–2019
2021–2023
Excel Online
Google Таблицы

2. Функция ОБЪЕДИНИТЬ (CONCAT) и ТЕКСТСЦЕПИТЬ (TEXTJOIN)

В Excel 2016 и новее появились более гибкие функции для работы с текстом:

  • ОБЪЕДИНИТЬ (CONCAT) — аналог СЦЕПИТЬ, но поддерживает диапазоны ячеек (например, =ОБЪЕДИНИТЬ(A1:B1)).
  • ТЕКСТСЦЕПИТЬ (TEXTJOIN) — позволяет указать разделитель и игнорировать пустые ячейки:
=ТЕКСТСЦЕПИТЬ(" "; ИСТИНА; A1:B1)

В этом примере:

  • " " — разделитель (пробел).
  • ИСТИНА — пропускать пустые ячейки.
  • A1:B1 — диапазон для объединения.

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

Функция Поддержка диапазонов Игнорирует пустые ячейки Разделитель Версия Excel
СЦЕПИТЬ ❌ Нет ❌ Нет ❌ Только вручную Все
ОБЪЕДИНИТЬ ✅ Да ❌ Нет ❌ Только вручную 2016+
ТЕКСТСЦЕПИТЬ ✅ Да ✅ Да ✅ Настраиваемый 2016+

3. Объединение с помощью символа «&» (амперсанд)

Оператор & — альтернатива функциям, которая работает во всех версиях Excel и Google Таблиц. Он позволяет объединять текст без ограничений по количеству элементов. Пример:

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

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

  • 🔹 Не требует запоминания синтаксиса функций.
  • 🔹 Можно комбинировать с другими функциями (например, ЕСЛИ или ЛЕВСИМВ).
  • 🔹 Работает быстрее СЦЕПИТЬ при большом количестве операций.

Недостатки: как и СЦЕПИТЬ, не игнорирует пустые ячейки. Чтобы избежать лишних пробелов, используйте конструкцию с ЕСЛИ:

=A1 & ЕСЛИ(B1<>""; " " & B1; "")
⚠️ Внимание: При объединении дат или чисел с текстом Excel автоматически преобразует их в текстовый формат. Если нужно сохранить исходное форматирование (например, для дальнейших вычислений), используйте функцию ТЕКСТ с явным указанием формата:
=ТЕКСТ(D1; "дд.мм.гггг") & " — " & A1

4. Объединение с сохранением форматирования

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

  1. Объединение ячеек (Главная → Объединить и поместить в центре).

    Минус: теряется возможность редактировать данные по отдельности, формулы перестают работать.

  2. Надстройка Power QueryExcel 2016+).

    Плюс: сохраняет форматирование и позволяет обновлять данные.

Инструкция для Power Query:

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

☑️ Подготовка к объединению в Power Query

Выполнено: 0 / 4

Power Query особенно полезен для регулярно обновляемых отчётов, где данные подтягиваются из внешних источников (например, SQL или CSV). В отличие от формул, этот метод не замедляет работу книги при большом объёме данных.

5. Автоматизация через VBA (для продвинутых пользователей)

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

Sub ОбъединитьТекст()

Dim ws As Worksheet

Dim rng As Range, cell As Range

Dim lastRow As Long

Set ws = ActiveSheet

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

For Each cell In ws.Range("A1:A" & lastRow)

If cell.Offset(0, 1).Value <> "" Then

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

Else

cell.Offset(0, 2).Value = cell.Value

End If

Next cell

End Sub

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

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

VBA удобен для:

  • 📌 Однократной обработки больших массивов (тысячи строк).
  • 📌 Объединения с дополнительной логикой (например, добавление запятой перед фамилией).
  • 📌 Интеграции с другими действиями (сохранение результата в новый файл).
⚠️ Внимание: Макросы могут конфликтовать с защитой книги. Перед запуском сохраните резервную копию файла и временно отключите защиту листа (Рецензирование → Снять защиту листа).
Как ускорить работу VBA-кода?

Для обработки более 10 000 строк отключите автоматическое обновление экрана в начале макроса:

Application.ScreenUpdating = False

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

Application.ScreenUpdating = True

Это ускорит выполнение в 5–10 раз.

6. Объединение текста в Google Таблицах

В Google Таблицах доступны те же функции, что и в Excel, но с некоторыми особенностями:

  • =CONCATENATE(A1; " "; B1) — аналог СЦЕПИТЬ.
  • =TEXTJOIN(" "; TRUE; A1:B1) — аналог ТЕКСТСЦЕПИТЬ.
  • =ARRAYFORMULA(A1:A10 & " " & B1:B10) — позволяет применить объединение ко всему столбцу сразу.

Уникальная фишка Google Таблиц: функция JOIN, которая работает как ТЕКСТСЦЕПИТЬ, но только для одностолбцового диапазона:

=JOIN("; "; A1:A5)

Этот код объединит значения из A1:A5 в одну строку через точку с запятой.

Ограничения:

  • 🔸 ARRAYFORMULA может замедлять таблицу при большом количестве строк (>50 000).
  • 🔸 Нет аналога Power Query, но можно использовать Apps Script для сложной автоматизации.

Сравнение методов: какой выбрать?

Выбор способа объединения зависит от задачи:

Задача Рекомендуемый метод Причина
Объединение 2–3 ячеек без пустых значений & или СЦЕПИТЬ Простота и скорость
Объединение диапазона с пустыми ячейками ТЕКСТСЦЕПИТЬ (TEXTJOIN) Автоматическое игнорирование пустот
Сохранение форматирования Power Query Не преобразует данные в текст
Автоматизация для больших данных VBA или Apps Script Гибкость и производительность
Динамически обновляемые данные ТЕКСТСЦЕПИТЬ + Таблица Excel Автоматическое расширение диапазона

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

FAQ: Частые вопросы по объединению текста

Как объединить текст с переносом строки?

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

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

В Google Таблицах замените СИМВОЛ(10) на CHAR(10).

Почему после объединения появляются знаки «#ЗНАЧ!»?

Ошибка #ЗНАЧ! возникает, если:

  • 🔺 В одной из ячеек формула возвращает ошибку (например, #ДЕЛ/0!).
  • 🔺 Вы используете ТЕКСТСЦЕПИТЬ в Excel 2013 или старше (функция недоступна).
  • 🔺 В диапазоне есть ячейки с несовместимыми типами данных (например, текст + ошибка).

Решение: проверьте исходные данные на ошибки или используйте ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ТЕКСТСЦЕПИТЬ(" "; ИСТИНА; A1:B1); "")
Можно ли объединить текст без потери формул?

Нет, любое объединение через формулы или & преобразует результат в текст. Чтобы сохранить формулы:

  1. Скопируйте исходные ячейки с формулами.
  2. Вставьте их как Значения (Правка → Специальная вставка → Значения).
  3. Объединяйте уже текстовые копии.
Как объединить текст с условием (например, только если ячейка не пустая)?

Используйте функцию ЕСЛИ внутри объединения:

=A1 & ЕСЛИ(B1<>""; " " & B1; "") & ЕСЛИ(C1<>""; " " & C1; "")

Для Excel 2016+ удобнее ТЕКСТСЦЕПИТЬ:

=ТЕКСТСЦЕПИТЬ(" "; ИСТИНА; A1:C1)
Почему после объединения числа отображаются как даты?

Excel автоматически преобразует числа в формат даты, если они соответствуют этому формату (например, 12.05 становится 12-май). Чтобы избежать этого:

  1. Предварительно отформатируйте ячейки как Текстовый (Главная → Формат → Формат ячеек → Текстовый).
  2. Используйте функцию ТЕКСТ:
=ТЕКСТ(B1; "0") & " " & A1