Работа с данными в Microsoft Excel часто требует объединения информации из нескольких ячеек в одну. Но стандартная функция объединения ячеек (Главная → Объединить и поместить в центре) сохраняет только значение из верхней левой ячейки, стирая остальные данные. Это создаёт проблемы, если вам нужно сохранить содержимое обеих ячеек — например, объединить имя и фамилию, адрес и индекс, или части кода.
В этой статье мы разберём 5 проверенных способов объединить данные из двух (или более) ячеек в одну без потери информации, включая формулы, инструменты Excel и даже макросы для автоматизации. Вы узнаете, как добавлять разделители (пробелы, запятые, тире), обрабатывать пустые ячейки и избегать типичных ошибок.
Если вы регулярно работаете с текстовыми данными — например, формируете отчёты, базы клиентов или каталоги товаров — эти методы сэкономят вам часы ручной работы. А для тех, кто предпочитает визуальные инструменты, мы покажем, как обойтись без формул с помощью встроенных функций Excel 365 и Excel 2019.
1. Формула CONCATENATE: классический способ объединения
Функция =CONCATENATE() (или её упрощённый аналог =ОБЪЕДИНИТЬ() в русской версии) — самый надёжный способ объединить текст из нескольких ячеек. Она работает во всех версиях Excel, включая Excel 2007 и новее.
Синтаксис:
=CONCATENATE(текст1; [текст2]; ...)
Где текст1, текст2 — это ссылки на ячейки или текстовые строки. Максимальное количество аргументов — 255.
Пример: чтобы объединить содержимое ячеек A1 ("Иван") и B1 ("Петров") с пробелом, используйте:
=CONCATENATE(A1; " "; B1)
Результат: "Иван Петров".
✅ Плюсы:
- 🔹 Работает во всех версиях Excel
- 🔹 Позволяет добавлять произвольные разделители (запятые, тире, скобки)
- 🔹 Можно объединять до 255 элементов
❌ Минусы:
- 🔸 Длинный синтаксис (в новых версиях есть более короткие альтернативы)
- 🔸 Не игнорирует пустые ячейки — если одна из ячеек пуста, появится лишний разделитель
2. Оператор & (амперсанд): быстрый и лаконичный метод
Если CONCATENATE кажется громоздкой, воспользуйтесь оператором & (амперсанд). Это самый короткий способ объединения, который поддерживается всеми версиями Excel.
Синтаксис:
=A1 & " " & B1
Пример: для объединения A1 ("Москва") и B1 ("ул. Ленина") с запятой:
=A1 & ", " & B1
Результат: "Москва, ул. Ленина".
🔹 Преимущества перед CONCATENATE:
- 📌 Короткий и интуитивно понятный синтаксис
- 📌 Быстрее вводится и редактируется
- 📌 Легко комбинируется с другими функциями (например,
=ЕСЛИ()или=ТЕКСТ())
⚠️ Внимание: Как и CONCATENATE, оператор & не игнорирует пустые ячейки. Если в A1 нет данных, формула вернёт ", ул. Ленина" (с запятой в начале). Чтобы этого избежать, используйте конструкцию:
=ЕСЛИ(A1<>""; A1 & ", "; "") & B1
3. Функция TEXTJOIN: объединение с игнорированием пустых ячеек
В Excel 2019 и Excel 365 появилась мощная функция =ТЕКСТСЦЕПИТЬ() (англ. TEXTJOIN), которая решает проблему пустых ячеек и упрощает работу с большими диапазонами.
Синтаксис:
=TEXTJOIN(разделитель; игнорировать_пустые; текст1; [текст2]; ...)
Где:
разделитель— символ между значениями (пробел, запятая и т.д.)игнорировать_пустые—ИСТИНА(игнорировать пустые ячейки) илиЛОЖЬ(учитывать)текст1, текст2— ячейки или диапазоны
Пример: объединить A1:A3 ("Иван", "", "Петров") с пробелами, игнорируя пустые ячейки:
=TEXTJOIN(" "; ИСТИНА; A1:A3)
Результат: "Иван Петров" (без двойного пробела).
🔥 Когда использовать TEXTJOIN:
- 📊 Объединение данных из нескольких строк/столбцов
- 📊 Работа с неструктурированными данными (где есть пустые ячейки)
- 📊 Создание списков через запятую (например, теги или категории)
⚠️ Внимание: Функция TEXTJOIN недоступна в Excel 2016 и более ранних версиях. Для них используйте комбинацию CONCATENATE + ЕСЛИ.
Проверьте версию Excel (должна быть 2019 или новее)
Определите разделитель (пробел, запятая, точка с запятой)
Убедитесь, что в диапазоне нет скрытых символов (например, неразрывных пробелов)
Тестируйте формулу на копии данных-->
4. Инструмент "Объединить столбцы" (Power Query)
Если вам нужно объединить данные в больших таблицах (тысячи строк), ручное прописывание формул займёт слишком много времени. В этом случае поможет Power Query — инструмент для преобразования данных, встроенный в Excel 2016 и новее.
Пошаговая инструкция:
- Выделите таблицу с данными.
- Перейдите на вкладку
Данные→Из таблицы/диапазона(в группеПолучить и преобразовать данные). - В открывшемся редакторе Power Query выделите столбцы, которые нужно объединить.
- Нажмите
Преобразовать→Объединить столбцы. - Выберите разделитель (например, пробел или запятая) и подтвердите.
- Нажмите
Закрыть и загрузить, чтобы вернуть данные в Excel.
✅ Преимущества Power Query:
- 🚀 Обрабатывает миллионы строк без замедления
- 🚀 Сохраняет историю преобразований (можно обновить данные later)
- 🚀 Поддерживает сложные разделители (например, " | ")
❌ Недостатки:
- 🛑 Требует навыков работы с Power Query
- 🛑 Не подходит для разовых задач (дольше настраивать, чем формулу)
Важно: Power Query создаёт новую таблицу, не изменяя исходные данные. Это безопасно для больших проектов, где нельзя рисковать потерять информацию.
5. Макрос VBA: автоматизация для повторяющихся задач
Если вам часто приходится объединять ячейки по одним и тем же правилам, имеет смысл написать макрос на VBA. Это сэкономит время и исключит ошибки при ручном вводе формул.
Пример макроса для объединения двух столбцов с пробелом:
Sub ОбъединитьСтолбцы()
Dim rng As Range
Dim i As Long
Dim lastRow As Long
' Определяем последний заполненный ряд в столбце A
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
' Объединяем данные из столбцов A и B в столбец C
For i = 1 To lastRow
Cells(i, 3).Value = Cells(i, 1).Value & " " & Cells(i, 2).Value
Next i
End Sub
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Запустите макрос нажатием
F5.
🔧 Настройка макроса:
- 🔧 Измените
Cells(i, 3)на другой столбец, если нужно вывести результат не вC. - 🔧 Замените
" "на другой разделитель (например,", "). - 🔧 Добавьте проверку на пустые ячейки с помощью
If Cells(i, 1).Value <> "" Then.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов) и убедитесь, что включена опция Разрешить выполнение макросов в настройках безопасности Excel.
Сравнение методов: какой способ выбрать?
Выбор метода зависит от вашей задачи, версии Excel и объёма данных. В таблице ниже — сравнение всех рассмотренных способов:
| Метод | Поддерживаемые версии | Обработка пустых ячеек | Скорость работы | Сложность |
|---|---|---|---|---|
CONCATENATE/& |
Все версии | Не игнорирует | Быстро | Низкая |
TEXTJOIN |
Excel 2019, 365 | Игнорирует (настраивается) | Быстро | Низкая |
| Power Query | Excel 2016+ | Игнорирует | Медленно (для больших данных) | Средняя |
| Макрос VBA | Все версии | Настраивается | Мгновенно | Высокая |
💡 Рекомендации:
- 📌 Для разовых задач в старых версиях Excel используйте
&. - 📌 В Excel 365 отдавайте предпочтение
TEXTJOIN. - 📌 Для больших таблиц (10 000+ строк) подходит Power Query.
- 📌 Если задача повторяется — автоматизируйте её с помощью VBA.
Типичные ошибки и как их избежать
При объединении ячеек пользователи часто сталкиваются с неожиданными результатами. Вот самые распространённые ошибки и способы их решения:
🔴 Проблема 1: Лишние пробелы или разделители
Если в исходных ячейках есть пробелы (например, " Иван " вместо "Иван"), они останутся после объединения. Чтобы их убрать, используйте функцию =СЖПРОБЕЛЫ():
=СЖПРОБЕЛЫ(A1) & " " & СЖПРОБЕЛЫ(B1)
🔴 Проблема 2: Объединение чисел и текста
Если в одной из ячеек число (например, 123), а в другой текст, Excel может преобразовать число в дату или научную нотацию. Чтобы этого избежать, используйте =ТЕКСТ():
=A1 & " " & ТЕКСТ(B1; "0")
🔴 Проблема 3: Ограничение на длину текста
В Excel длина текста в ячейке ограничена 32 767 символами. Если при объединении вы получаете ошибку 🔴 Проблема 4: Формулы не обновляются#ЗНАЧ!, разбейте данные на части или используйте Power Query>.
Если вы объединили ячейки с помощью формул, а затем изменили исходные данные, но результат не обновился, проверьте:
- 🔹 Включён ли автоматический пересчёт (
Формулы → Параметры вычислений → Автоматически) - 🔹 Нет ли в ячейках ошибок (например,
#ДЕЛ/0!)
Почему формула возвращает #ИМЯ?
Ошибка #ИМЯ! появляется, если вы используете функцию, недоступную в вашей версии Excel (например, TEXTJOIN в Excel 2016), или опечатку в названии функции. Проверьте регистр: в русской версии пишется ОБЪЕДИНИТЬ, а не CONCATENATE.
FAQ: Ответы на частые вопросы
Как объединить ячейки с переносом строки?
Используйте функцию =СЦЕПИТЬ() (или &) с символом переноса строки CHAR(10):
=A1 & CHAR(10) & B1
Не забудьте включить перенос строк в ячейке (Главная → Перенос текста).
Можно ли объединить ячейки без формул?
Да, с помощью инструмента Объединить и поместить в центр, но он сохраняет только значение из верхней левой ячейки. Чтобы сохранить все данные, используйте Power Query или макрос VBA.
Как объединить ячейки с условием (например, только если обе не пустые)?
Используйте комбинацию =ЕСЛИ() и &:
=ЕСЛИ(И(A1<>""; B1<>""); A1 & " " & B1; "")
Эта формула вернёт пустую строку, если хотя бы одна из ячеек пуста.
Почему после объединения появляются знаки # или ?
Это признак несовместимости кодировок. Попробуйте:
- 🔹 Сохранить файл в формате
.xlsx(не.csv) - 🔹 Использовать функцию
=ПОДСТАВИТЬ()для удаления непечатаемых символов
Как объединить данные из нескольких листов?
Ссылайтесь на ячейки с указанием листа:
=Лист2!A1 & " " & Лист1!B1
Или используйте 3D-ссылки для диапазонов:
=TEXTJOIN(" "; ИСТИНА; Лист1:Лист3!A1:A10)