При объединении данных из ячеек A1 ("Иванов") и B1 ("Иван") в Excel стандартное копирование через пробел даёт ошибку #ЗНАЧ! — программа воспринимает это как арифметическую операцию. Чтобы корректно соединить две строчки в одну ячейку, нужно использовать специальные функции или инструменты. Самый быстрый способ — =A1&B1, но он сольёт текст без пробела ("ИвановИван"). Для правильного форматирования потребуется добавить разделитель вручную или автоматизировать процесс через СЦЕПИТЬ, ТЕКСТСОЕДИНИТЬ, или даже Power Query для массовой обработки.
Проблема усложняется, если строки содержат числа, даты или спецсимволы — например, при объединении A1 ("Заказ №") и B1 (123) результат =A1&B1 вернёт "Заказ №123" вместо ожидаемого "Заказ № 123". В 90% случаев пользователи забывают про разделители, из-за чего данные слипаются в нечитаемый блок. Ниже разберём все методы — от базовых до продвинутых, — включая обработку ошибок и автоматизацию для тысяч строк.
1. Базовое объединение через амперсанд (&)
Оператор & — самый универсальный способ соединить две строки в Excel, так как работает во всех версиях программы (начиная с Excel 2003) и не требует знания функций. Синтаксис простой: =A1&B1. Однако у метода есть критические ограничения:
- 🔹 Нет автоматического пробела — результат "ИвановИван" вместо "Иванов Иван".
- 🔹 Не обрабатывает пустые ячейки — если в B1 нет данных, формула вернёт только содержимое A1 без разделителя.
- 🔹 Не работает с массивами — нельзя применить к диапазону ячеек без протягивания.
Чтобы добавить пробел или другой разделитель (запятую, тире), модифицируйте формулу:
=A1 & " " & B1
=A1 & ", " & B1
=A1 & " - " & B1
⚠️ Внимание: Если в ячейках есть числа, Excel автоматически преобразует их в текст. Но при объединении с датами (например, A1="Дата:" и B1=15.05.2026) результат будет "Дата:45415" — число вместо форматированной даты. Используйте ТЕКСТ(B1;"дд.мм.гггг") для корректного отображения.
=A1 & " " & B1 & ", " & C1-->
2. Функция СЦЕПИТЬ (CONCATENATE) — устаревший, но рабочий метод
Функция СЦЕПИТЬ (CONCATENATE в английской версии) была основным инструментом для объединения строк до появления ТЕКСТСОЕДИНИТЬ в Excel 2016. Её синтаксис:
СЦЕПИТЬ(текст1; [текст2]; ...)
Пример для ячеек A1 ("Отчёт") и B1 ("за май"):
=СЦЕПИТЬ(A1; " "; B1)
| Преимущества | Недостатки |
|---|---|
| Работает во всех версиях Excel | Максимум 255 аргументов (ограничение Excel) |
| Можно добавлять текстовые разделители | Не игнорирует пустые ячейки (останется лишний разделитель) |
| Поддерживает ссылки на ячейки и текст | В новых версиях заменена на ТЕКСТСОЕДИНИТЬ |
В Excel 365 и Excel 2021 функция СЦЕПИТЬ сохранена для обратной совместимости, но Microsoft рекомендует переходить на ТЕКСТСОЕДИНИТЬ или ОБЪЕДИНИТЬ (в английской версии — TEXTJOIN и CONCAT).
3. Функция ТЕКСТСОЕДИНИТЬ (TEXTJOIN) — современное решение
Функция ТЕКСТСОЕДИНИТЬ, появившаяся в Excel 2016, решает ключевые проблемы СЦЕПИТЬ:
- 🔹 Игнорирует пустые ячейки — не оставляет лишних разделителей.
- 🔹 Поддерживает диапазоны — можно объединить целый столбец.
- 🔹 Гибкие разделители — запятая, пробел, абзац и т.д.
Синтаксис:
ТЕКСТСОЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; ...)
Примеры:
=ТЕКСТСОЕДИНИТЬ(" "; ИСТИНА; A1:C1)
=ТЕКСТСОЕДИНИТЬ(", "; ИСТИНА; A1; B1)
⚠️ Внимание: В Excel 2013 и старшеТЕКСТСОЕДИНИТЬнедоступна. Альтернатива — пользовательская функция на VBA или макрос. Для Google Таблиц функция называетсяTEXTJOINи работает аналогично.
Как добавить ТЕКСТСОЕДИНИТЬ в Excel 2013?
1. Откройте редактор VBA (Alt+F11).
2. Вставьте новый модуль (Insert > Module).
3. Скопируйте код функции с [этого ресурса](https://support.microsoft.com/ru-ru/office).
4. Сохраните файл как .xlsm (с поддержкой макросов).
4. Объединение с переносом строки (символ CHAR(10))
Если нужно соединить строки так, чтобы каждая начиналась с новой строки (например, для адреса), используйте символ переноса CHAR(10). Важно: после ввода формулы включите перенос текста в ячейке (Ctrl+1 → вкладка Выравнивание → галочка "Переносить по словам").
Пример для ячеек A1 ("ул. Ленина"), B1 ("д. 10"), C1 ("кв. 5"):
=A1 & CHAR(10) & B1 & CHAR(10) & C1
Результат:
ул. Ленина
д. 10
кв. 5
Альтернатива для Excel 365:
=ТЕКСТСОЕДИНИТЬ(CHAR(10); ИСТИНА; A1:C1)
✔ Включен ли перенос текста в ячейке?
✔ Нет ли лишних пробелов перед/после символа?
✔ Корректно ли отображается при печати?
-->
5. Power Query для массового объединения строк
Если нужно объединить тысячи строк (например, ФИО из отдельных колонок), ручные методы неэффективны. Power Query (вкладка Данные → Получить данные) автоматизирует процесс:
- Выделите исходный диапазон и нажмите
Данные → Из таблицы/диапазона. - В редакторе Power Query выберите столбцы для объединения (зажмите Ctrl).
- Нажмите
Преобразовать → Объединить столбцы. - Укажите разделитель (пробел, запятая и т.д.) и подтвердите.
Преимущества метода:
- 🔹 Обрабатывает миллионы строк без тормозов.
- 🔹 Сохраняет связь с исходными данными (обновляется при изменении).
- 🔹 Поддерживает сложные разделители (например, " | ").
⚠️ Внимание: После объединения в Power Query данные загружаются в новую таблицу. Исходные столбцы остаются нетронутыми — их можно скрыть или удалить вручную.
6. Ошибки при объединении строк и их решения
Даже с правильными формулами результат может быть некорректным. Распространённые проблемы и фиксы:
| Ошибка | Причина | Решение |
|---|---|---|
| #ИМЯ? | Опечатка в названии функции | Проверьте регистр: СЦЕПИТЬ, а не СЦЕП |
| #ЗНАЧ! | Объединение текста с ошибкой (#Н/Д, #ДЕЛ/0!) | Используйте ЕСЛИОШИБКА(A1;"") |
| Лишние пробелы | Пробелы в исходных ячейках | Примените СЖПРОБЕЛЫ(A1) перед объединением |
| Дата отображается как число | Excel хранит даты как числа | Используйте ТЕКСТ(B1;"дд.мм.гггг") |
Для диагностики ошибок используйте ПРОВЕРКА ФОРМУЛ (Формулы → Зависимости формул → Вычислить формулу). Если проблема в пустых ячейках, добавьте проверку:
=ЕСЛИ(A1=""; ""; ЕСЛИ(B1=""; A1; A1 & " " & B1))
- Скрытые пробелы (СЖПРОБЕЛЫ).
- Непечатаемые символы (ЧИСТ).
- Ошибки (#Н/Д, #ЗНАЧ!).
-->
FAQ: Частые вопросы по объединению строк
Можно ли объединить строки без потери данных в исходных ячейках?
Да. Все методы (кроме Power Query) создают новую ячейку с объединённым текстом, не затрагивая исходные данные. Для резервной копии используйте Копировать → Специальная вставка → Значения.
Как объединить строки с условием (например, только если в B1 есть данные)?
Используйте ЕСЛИ:
=ЕСЛИ(B1<>""; A1 & " " & B1; A1)
Для нескольких условий подойдёт ЕСЛИМН (в Excel 365).
Почему после объединения числа отображаются как текст?
Excel автоматически конвертирует числа в текст при объединении. Чтобы сохранить числовой формат, используйте:
=A1 & " " & ТЕКСТ(B1; "0")
=A1 & " " & ТЕКСТ(B1; "0.00")
Как объединить строки в Google Таблицах?
Аналогично Excel, но с нюансами:
- 🔹
=A1&B1— работает. - 🔹
=CONCATENATE(A1; " "; B1)— вместоСЦЕПИТЬ. - 🔹
=TEXTJOIN(" "; TRUE; A1:B1)— какТЕКСТСОЕДИНИТЬ.
Можно ли объединить строки по вертикали (несколько ячеек в одну)?
Да, через ТЕКСТСОЕДИНИТЬ с указанием диапазона:
=ТЕКСТСОЕДИНИТЬ(CHAR(10); ИСТИНА; A1:A10)
Или с помощью Power Query (группировка данных).