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

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

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

Почему стандартное объединение ячеек — плохая идея

Первое, что приходит в голову новичкам — выделить ячейки и нажать кнопку "Объединить и поместить в центре" на панели инструментов. Этот метод удаляет данные из всех ячеек, кроме верхней левой, оставляя только одно значение. Например, если в ячейках A1 и B1 были слова "Иван" и "Петров", после слияния останется только "Иван".

Другие подводные камни стандартного объединения:

  • 🔹 Потеря форматирования: жирный шрифт, цвета и границы исходных ячеек исчезают.
  • 🔹 Проблемы с сортировкой: объединённые ячейки мешают фильтрации и упорядочиванию данных.
  • 🔹 Необратимость: отменить слияние можно только через Ctrl+Z, но не всегда — если вы сохранили файл, данные потеряны навсегда.
⚠️ Внимание: Если в таблице уже есть объединённые ячейки, функции вроде ВПР или ИНДЕКС могут возвращать ошибки. Перед использованием таких формул рекомендуется разъединить все ячейки через Главная → Выравнивание → Разъединить ячейки.

Способ 1: Функция СЦЕПИТЬ (CONCATENATE) — классика жанра

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

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

Где текст1, текст2 — это ссылки на ячейки или текстовые строки в кавычках. Например, чтобы объединить содержимое A1 ("Привет") и B1 ("мир"), используйте:

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

Обратите внимание на " " — это пробел, который вставляется между словами. Без него результат будет "Приветмир".

  • Плюсы: работает везде, не требует дополнительных надстроек.
  • Минусы: ограничена 255 аргументами, не поддерживает диапазоны (надо перечислять каждую ячейку).

Проверьте, что все ячейки содержат текст (не числа)

Добавьте пробел или разделитель в кавычках ("; ", " - ")

Не превышайте лимит в 255 аргументов

Используйте $ для фиксирования ссылок при копировании формулы-->

Способ 2: Оператор & — быстрее и гибче

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

=A1 & " " & B1 & " (" & C1 & ")"

Эта формула объединит содержимое A1, B1 и C1, добавив пробел между первыми двумя ячейками и заключив третью в скобки. Например, если в ячейках "Иван", "Петров", "1990", результат будет: "Иван Петров (1990)".

Формула A1="Excel" B1="Про" Результат
=A1&B1 "Excel" "Про" "ExcelПро"
=A1&" "&B1 "Excel" "Про" "Excel Про"
=A1&" и "&B1&" — лучшие!" "Excel" "Про" "Excel и Про — лучшие!"

Оператор & особенно удобен, когда нужно добавить разделители (запятые, тире, слэши) или постфиксы/префиксы (например, "код: ", "№").

Функция СЦЕПИТЬ

Оператор &

Функция ОБЪЕДИНИТЬ (Excel 2019+)

Power Query

Не знаю, пользуюсь стандартным слиянием-->

Способ 3: Функции ОБЪЕДИНИТЬ и ТЕКСТСЦЕПИТЬ (Excel 2019 и новее)

В Excel 2019 и Microsoft 365 появились две мощные функции: ОБЪЕДИНИТЬ (TEXTJOIN) и ТЕКСТСЦЕПИТЬ (CONCAT). Они решают главные проблемы СЦЕПИТЬ:

  • 📌 ОБЪЕДИНИТЬ: позволяет указать разделитель и игнорировать пустые ячейки. Синтаксис:
    =ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; ...)

    Пример: =ОБЪЕДИНИТЬ("; "; ИСТИНА; A1:C1) объединит все непустые ячейки в A1:C1 через точку с запятой.

  • 📌 ТЕКСТСЦЕПИТЬ: аналогична СЦЕПИТЬ, но поддерживает диапазоны (например, A1:A10). Синтаксис:
    =ТЕКСТСЦЕПИТЬ(текст1; [текст2]; ...)

    Пример: =ТЕКСТСЦЕПИТЬ(A1:A5) склеит все ячейки диапазона в одну строку.

Критическое отличие: ОБЪЕДИНИТЬ автоматически добавляет разделитель между элементами, а ТЕКСТСЦЕПИТЬ — нет. Если вам нужно объединить 100 ячеек с запятыми, первая функция сэкономит часы ручной работы.

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

Функция ОБЪЕДИНИТЬ позволяет:

1. Задать разделитель (запятая, пробел, тире и т.д.).

2. Игнорировать пустые ячейки (параметр ИСТИНА/ЛОЖЬ).

3. Работать с диапазонами (например, A1:A100), но требует указания каждого диапазона как отдельного аргумента.

Функция ТЕКСТСЦЕПИТЬ просто склеивает всё подряд без разделителей, но поддерживает диапазоны напрямую (например, =ТЕКСТСЦЕПИТЬ(A1:A10)).

Способ 4: Power Query — для больших таблиц

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

  1. Импортировать данные из любого источника (Excel, CSV, базы данных).
  2. Объединять столбцы с гибкими разделителями.
  3. Автоматически обновлять результат при изменении исходных данных.

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

  1. Выделите вашу таблицу и нажмите Данные → Из таблицы/диапазона (или Получить данные → Из файла → Из книги).
  2. В открывшемся редакторе Power Query выделите столбцы, которые нужно объединить.
  3. Перейдите на вкладку Преобразовать → Столбец → Объединить столбцы.
  4. Выберите разделитель (пробел, запятая, табуляция и др.) и подтвердите.
  5. Нажмите Главная → Закрыть и загрузить.
⚠️ Внимание: При объединении через Power Query исходные данные не изменяются — результат загружается на новый лист. Если вам нужно обновить объединённые данные, кликните правой кнопкой по таблице и выберите Обновить.

Способ 5: VBA-макрос для автоматизации

Если вы регулярно объединяете ячейки по одним и тем же правилам, VBA-макрос сэкономит время. Например, этот код объединит выделенные ячейки в каждой строке через запятую:

Sub ОбъединитьЯчейки()

Dim rng As Range

Dim cell As Range

Dim result As String

For Each rng In Selection.Rows

result = ""

For Each cell In rng.Cells

If cell.Value <> "" Then

If result <> "" Then result = result & ", "

result = result & cell.Value

End If

Next cell

rng.Cells(1).Offset(0, rng.Columns.Count).Value = result

Next rng

End Sub

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

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Вставка → Модуль).
  3. Вернитесь в Excel, выделите ячейки для объединения.
  4. Запустите макрос через Вид → Макросы → ОбъединитьЯчейки → Выполнить.

Результат появится в ячейке справа от выделенного диапазона. Преимущество макроса: он игнорирует пустые ячейки и добавляет разделитель только между непустыми значениями.

Типичные ошибки и как их избежать

Даже опытные пользователи сталкиваются с проблемами при объединении текста. Вот самые распространённые ошибки и их решения:

Ошибка Причина Решение
#ИМЯ? Опечатка в названии функции (например, "СЦЕПТИТЬ" вместо "СЦЕПИТЬ") Проверьте синтаксис. В русскоязычном Excel используйте СЦЕПИТЬ, в англоязычном — CONCATENATE
#ЗНАЧ! Ссылка на ячейку с ошибкой (например, #ДЕЛ/0!) Используйте ЕСЛИОШИБКА: =ЕСЛИОШИБКА(A1; "") & B1
Лишние пробелы В исходных ячейках есть пробелы до/после текста Очистите данные функцией СЖПРОБЕЛЫ: =СЖПРОБЕЛЫ(A1)
Неправильный порядок Ячейки объединены не в той последовательности Поменяйте порядок аргументов в формуле: =B1 & ", " & A1 вместо =A1 & ", " & B1

Ещё одна частая проблема — объединение чисел и текста. Если в ячейке A1 число 123, а в B1 текст "кг", формула =A1&B1 вернёт "123кг". Чтобы добавить пробел, используйте:

=A1 & " " & B1

Или преобразуйте число в текст с помощью ТЕКСТ:

=ТЕКСТ(A1; "0") & " кг"

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

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

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

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

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

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

Не забудьте включить перенос текста в ячейке с результатом (Главная → Перенос текста).

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

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

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

Где A1 — ячейка с датой, а B1 — с текстом.

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

Стандартные функции (СЦЕПИТЬ, &) не сохраняют форматирование (жирный, цвет и т.д.). Решения:

  • Используйте Power Query (сохраняет базовое форматирование).
  • Объедините ячейки вручную через Копировать → Специальная вставка → Форматы.
  • Для сложных случаев напишите VBA-макрос, который копирует форматирование.

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

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

  • Оператор &: =A1 & " " & B1.
  • Функция СЦЕПИТЬ (CONCATENATE).
  • Функция ОБЪЕДИНИТЬ (TEXTJOIN) — аналогична Excel.

Стандартное слияние (Объединить ячейки) также удаляет данные, кроме верхней левой ячейки.