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

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

На первый взгляд задача кажется простой, но нюансов здесь больше, чем кажется. Как сохранить форматирование? Что делать, если между данными нужны разделители (запятая, пробел, тире)? Как избежать ошибки #ЗНАЧ!, когда одна из ячеек пустая? В этой статье разберём 7 способов объединения ячеек — от базовых функций до продвинутых приёмов с Power Query и VBA, а также покажем, как адаптировать решения для Google Таблиц.

Важно: методы отличаются по сложности и результату. Например, функция СЦЕПИТЬ (или CONCATENATE в английской версии) просто склеивает текст, а оператор & позволяет гибко добавлять разделители. Если вам нужно объединить ячейки с переносами строк или условным форматированием, потребуются другие подходы. Далее — детальный разбор каждого варианта с примерами и предупреждениями о типичных ошибках.

1. Базовый способ: функция СЦЕПИТЬ (CONCATENATE)

Самый простой метод — использовать встроенную функцию СЦЕПИТЬExcel 2016+ и Excel 365 её заменили на СЦЕП, но старая версия всё ещё работает). Она последовательно объединяет до 255 текстовых или числовых значений, но не добавляет автоматически разделители (их нужно прописывать вручную).

Синтаксис:

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

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

=СЦЕПИТЬ(A1; " "; B1; " "; C1)
  • Плюсы: работает во всех версиях Excel, простой синтаксис.
  • Минусы: не игнорирует пустые ячейки (вернёт лишние пробелы), ограничение на 255 аргументов.
⚠️ Внимание: Если в одной из ячеек содержится число, Excel может интерпретировать его как дату. Чтобы избежать ошибок, используйте функцию ТЕКСТ для преобразования: =СЦЕПИТЬ(ТЕКСТ(A1); " "; B1).
📊 Какой версии Excel вы пользуетесь?
Excel 2010-2013
Excel 2016-2019
Excel 365 (подписка)
Google Таблицы
Другая

2. Оператор & (амперсанд) — гибкое объединение с разделителями

Альтернатива функции СЦЕПИТЬ — использование символа & (амперсанд). Этот метод даёт больше контроля над разделителями и позволяет динамически добавлять текст (например, скобки, запятые или знаки препинания). Синтаксис интуитивно понятен:

Пример объединения ФИО с тире:

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

Чтобы добавить пробелы или другие символы, просто заключите их в кавычки:

=A1 & " " & B1 & " " & C1 & ", " & D1
  • 🔹 Когда использовать: если нужно объединить ячейки с разными разделителями в одной формуле (например, адрес: «ул. Ленина, д. 5, кв. 12»).
  • 🔹 Ограничение: как и СЦЕПИТЬ, не игнорирует пустые ячейки — вернёт лишние символы (например, «,,» вместо «ул. Ленина, д. 5»).

3. Функция ОБЪЕДИНИТЬ (TEXTJOIN) — современное решение для Excel 2016+

В Excel 2016 и новее появилась функция ОБЪЕДИНИТЬ (TEXTJOIN), которая решает две ключевые проблемы предыдущих методов:

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

Синтаксис:

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

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

=ОБЪЕДИНИТЬ(", "; ИСТИНА; A1:C1)
Аргумент Описание Пример
разделитель Символ или текст, разделяющий значения (может быть пустой строкой "") "; ", " - ", CHAR(10) (перенос строки)
игнорировать_пустые ИСТИНА — пропускать пустые ячейки, ЛОЖЬ — учитывать ИСТИНА
текст1; [текст2]... Диапазон ячеек или отдельные значения (до 252 аргументов) A1:C10, {A1; B1; C1}
⚠️ Внимание: Функция ОБЪЕДИНИТЬ недоступна в Excel 2013 и более ранних версиях. Для них используйте комбинацию СЦЕПИТЬ + ЕСЛИ (см. раздел 5).

4. Объединение с переносом строк (CHAR(10))

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

Пример с функцией ОБЪЕДИНИТЬ:

=ОБЪЕДИНИТЬ(CHAR(10); ИСТИНА; A1:C1)

Важно: после ввода формулы включите перенос текста в ячейке. Для этого:

  1. Выделите ячейку с результатом.
  2. Нажмите Ctrl + 1 (или правая кнопка → Формат ячеек).
  3. На вкладке Выравнивание поставьте галочку Перенос текста.
Что делать, если переносы не работают?

Если после применения CHAR(10) текст отображается в одну строку с квадратиками (¶), проверьте:

1. Включён ли перенос текста в настройках ячейки.

2. Не используется ли шрифт, не поддерживающий символы Unicode (например, Courier New вместо Arial).

3. В некоторых версиях Excel для макросов может потребоваться vbCrLf вместо CHAR(10).

5. Продвинутое объединение: игнорируем пустые ячейки без TEXTJOIN

В Excel 2013 и более ранних версиях функции ОБЪЕДИНИТЬ нет. Чтобы объединить ячейки, пропуская пустые, используйте комбинацию СЦЕПИТЬ + ЕСЛИ + ДЛСТР:

Формула для диапазона A1:C1 с разделителем запятая:

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

Как это работает:

  1. ДЛСТР проверяет длину текста в ячейке (если >0 — ячейка не пустая).
  2. ЕСЛИ добавляет разделитель только если предыдущая ячейка не пустая.
⚠️ Внимание: Такая формула громоздкая и сложно масштабируема. Для диапазонов больше 3–4 ячеек лучше использовать VBA (см. раздел 7) или Power Query (раздел 6).

Убедитесь, что в диапазоне нет скрытых символов (пробелов, неразрывных пробелов)|Проверьте формат ячеек (текст/число/дата)|Решите, нужны ли разделители между значениями|Определитесь с обработкой пустых ячеек (игнорировать/заменять)-->

6. Объединение через Power Query (для больших данных)

Power Query (вкладка Данные → Получение данных) — мощный инструмент для работы с большими наборами данных. Он позволяет объединять столбцы с гибкими настройками, включая:

  • 📌 Выбор разделителя (запятая, табуляция, пользовательский символ).
  • 📌 Игнорирование пустых ячеек.
  • 📌 Преобразование форматов (например, даты в текст).

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

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

Преимущество метода: не требует формул — данные обновляются при изменении исходного диапазона. Подходит для обработки тысяч строк.

7. Объединение с помощью VBA (для автоматизации)

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

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

Dim rng As Range, cell As Range

Dim result As String

Dim delimiter As String: delimiter = "; "

Set rng = Selection

result = ""

For Each cell In rng

If cell.Value <> "" Then

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

result = result & cell.Value

End If

Next cell

MsgBox "Результат: " & result, vbInformation, "Объединение ячеек"

' Альтернативно: вывести результат в активную ячейку:

' ActiveCell.Value = result

End Sub

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

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

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

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

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

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

Стандартные функции Excel (СЦЕПИТЬ, ОБЪЕДИНИТЬ) не сохраняют форматирование. Для этого потребуется:

  1. Использовать VBA с обработкой свойств Font и Interior.
  2. Либо вручную скопировать форматирование после объединения (кнопка Формат по образцу).
Почему функция ОБЪЕДИНИТЬ не работает в моём Excel?

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

  • У вас Excel 2013 или более ранняя версия (функция появилась в 2016 году).
  • Языковой пакет Excel не поддерживает русскую версию функции (попробуйте TEXTJOIN).
  • В настройках региональных стандартов используется запятая как разделитель аргументов (замените ; на , в формуле).
Как объединить ячейки в Google Таблицах?

В Google Sheets используйте функцию =JOIN (аналог ОБЪЕДИНИТЬ):

=JOIN(", "; A1:C1)

Для простого сцепления подходит =CONCATENATE или &, как в Excel.

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

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

  • Используйте VBA (для гиперссылок — свойство Hyperlinks).
  • Либо вручную скопируйте гиперссылки через Вставить специальную → Связать гиперссылки.

Картинки в ячейках Excel нельзя объединить программно — их придётся обрабатывать как объекты листа.