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

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

В этой статье мы разберём 5 проверенных способов объединения строк — от элементарных функций до продвинутых инструментов вроде Power Query. Вы узнаете, как избежать типичных ошибок (например, когда после объединения пропадают ведущие нули в артикулах), как автоматизировать процесс для тысяч строк и даже как объединить данные с условиями. Все методы протестированы на Excel 2007–2026 и Excel Online, поэтому вы точно найдёте решение под свою версию.

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

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

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

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

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

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

Результат: Иван Петров.

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

2. Функция ОБЪЕДИНИТЬ (CONCAT) — современная замена СЦЕПИТЬ

Функция ОБЪЕДИНИТЬ (CONCAT в английской версии) появилась в Excel 2016 и стала улучшенной версией СЦЕПИТЬ. Её ключевое преимущество — автоматическое игнорирование пустых ячеек. Синтаксис аналогичный:

=ОБЪЕДИНИТЬ(текст1; [текст2]; ...)

Например, если в A1 есть текст "Москва", а B1 пустая, то:

  • СЦЕПИТЬ(A1; " "; B1) вернёт "Москва " (с пробелом в конце).
  • ОБЪЕДИНИТЬ(A1; " "; B1) вернёт "Москва" (без лишнего пробела).

Также ОБЪЕДИНИТЬ поддерживает диапазоны ячеек. Например, чтобы объединить все ячейки в диапазоне A1:A5 через запятую:

=ОБЪЕДИНИТЬ(A1:A5; ", ")
Функция Игнорирует пустые ячейки? Поддерживает диапазоны? Работает в Excel 2010?
СЦЕПИТЬ ❌ Нет ❌ Нет ✅ Да
ОБЪЕДИНИТЬ ✅ Да ✅ Да ❌ Нет (только с 2016)
ТЕКСТСОЕДИНИТЬ ✅ Да (с параметром) ✅ Да ❌ Нет (только с 2019)

3. Продвинутое объединение: функция ТЕКСТСОЕДИНИТЬ (TEXTJOIN)

Функция ТЕКСТСОЕДИНИТЬ (TEXTJOIN) — это "суперверсия" ОБЪЕДИНИТЬ, которая появилась в Excel 2019 и Excel 365. Её ключевые фишки:

  • 🔹 Разделитель между элементами (можно указать запятую, точку с запятой и т. д.).
  • 🔹 Игнорирование пустых ячеек (опционально).
  • 🔹 Поддержка диапазонов и массивов.

Синтаксис:

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

Примеры использования:

  1. Объединить A1:A3 через запятую, игнорируя пустые ячейки:
    =ТЕКСТСОЕДИНИТЬ(", "; ИСТИНА; A1:A3)
  2. Создать строку из имен и фамилий с разделителем " | ":
    =ТЕКСТСОЕДИНИТЬ(" | "; ИСТИНА; A1; B1; C1)
⚠️ Внимание: Если в ячейках есть ошибки (например, #Н/Д), функция ТЕКСТСОЕДИНИТЬ вернёт ошибку. Чтобы этого избежать, оберните диапазон в ЕСЛИОШИБКА:
=ТЕКСТСОЕДИНИТЬ(", "; ИСТИНА; ЕСЛИОШИБКА(A1:A3; ""))

Удалите лишние пробелы функцией СЖПРОБЕЛЫ|Проверьте формат ячеек (текст/число)|Замените ошибки (#Н/Д) на пустые значения|Убедитесь, что ведущие нули сохранены-->

4. Объединение с условиями: функция ЕСЛИ + СЦЕПИТЬ

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

Пример 1: Объединить A1 ("Иван") и B1 ("Иванович"), но только если B1 не пустая:

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

Пример 2: Добавить префикс "+7" к телефону в A1, только если телефон начинается с "8":

=ЕСЛИ(ЛЕВСИМВ(A1;1)="8"; СЦЕПИТЬ("+7"; ПСТР(A1;2;10)); A1)

Для более сложных условий используйте ЕСЛИМНExcel 365):

=СЦЕПИТЬ(

A1;

ЕСЛИМН(B1<>""; " " & B1; ИСТИНА; "");

ЕСЛИМН(C1<>""; " " & C1; ИСТИНА; "")

)

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

По умолчанию СЦЕПИТЬ не изменяет регистр, но если вам нужно привести текст к единому формату, используйте функции ПРОПИСН, СТРОЧН или ПРОПНАЧ. Пример:

=СЦЕПИТЬ(ПРОПНАЧ(A1); " "; ПРОПНАЧ(B1))

Результат: "Иван Петров" вместо "иван петров" или "ИВАН ПЕТРОВ".

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

Если вам нужно объединить строки в таблице с тысячами записей или применить сложные правила (например, склеивать данные из разных столбцов с разными разделителями), обычные функции Excel будут тормозить. В таких случаях используйте Power Query — инструмент для обработки больших данных, встроенный в Excel 2016+ и Excel 365.

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

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

Power Query создаст новый столбец с объединёнными данными, а все изменения будут сохранены в виде запроса. При обновлении исходных данных (например, при добавлении новых строк) достаточно нажать Данные → Обновить все (Data → Refresh All), и объединённый столбец обновится автоматически.

6. Объединение строк через макрос VBA (для автоматизации)

Если вам нужно регулярно объединять строки по одним и тем же правилам, имеет смысл написать макрос на VBA. Это сэкономит время, особенно если формат объединения сложный (например, склеивать данные с проверкой условий, добавлением префиксов и т. д.).

Пример макроса, который объединяет столбцы A и B в столбец C с разделителем " - ":

Sub CombineColumns()

Dim ws As Worksheet

Dim lastRow As Long

Dim i As Long

Set ws = ActiveSheet

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

For i = 1 To lastRow

ws.Cells(i, 3).Value = ws.Cells(i, 1).Value & " - " & ws.Cells(i, 2).Value

Next i

End Sub

Чтобы запустить макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код выше в новый модуль (Insert → Module).
  3. Закройте редактор и нажмите Alt + F8, выберите макрос CombineColumns и нажмите Выполнить.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе Excel заблокирует выполнение кода. Также проверьте, что в Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов выбрано Включить все макросы (только для доверенных файлов!).

Частые ошибки и как их избежать

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

  • 🔴 Лишние пробелы: Если в исходных ячейках есть пробелы до или после текста, используйте СЖПРОБЕЛЫ:
    =СЦЕПИТЬ(СЖПРОБЕЛЫ(A1); " "; СЖПРОБЕЛЫ(B1))
  • 🔴 Потеря ведущих нулей: Преобразуйте числа в текст с помощью ТЕКСТ или добавьте апостроф перед числом в ячейке.
  • 🔴 Символы ####: Это означает, что ячейка слишком узкая для результата. Растяните столбец или уменьшите шрифт.
  • 🔴 Ошибка #ИМЯ?: Проверьте, правильно ли написано название функции (например, СЦЕПИТЬ, а не СЦЕПИТ).
  • 🔴 Неправильная кодировка: Если вместо кириллицы отображаются кракозябры, измените шрифт на Arial или Times New Roman.

Ещё одна распространённая проблема — объединение ячеек с датами. По умолчанию Excel преобразует даты в числа (например, 44197 вместо 01.01.2021). Чтобы этого избежать, используйте функцию ТЕКСТ:

=СЦЕПИТЬ(ТЕКСТ(A1;"дд.мм.гггг"); " - "; B1)

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

Можно ли объединить строки без формул?

Да, есть два способа:

  1. Через "Специальную вставку":
    1. Скопируйте ячейку с текстом (Ctrl + C).
    2. Выделите ячейку, к которой нужно добавить текст.
    3. Правой кнопкой → Специальная вставка → Значения → Сложить.
  2. Через "Объединить и поместить в центре" (не рекомендуется): Эта функция (Главная → Объединить и поместить в центре) физически объединяет ячейки, а не их содержимое. Она подходит только для оформления заголовков, но не для работы с данными.
Как объединить строки с переносом на новую строку?

Используйте символ CHAR(10) для переноса. Пример:

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

После этого не забудьте включить перенос текста в ячейке: Главная → Перенос текста.

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

Это происходит потому, что Excel по умолчанию преобразует числа в текст без ведущих нулей. Решения:

  • Перед объединением отформатируйте ячейки как текст (Главная → Формат → Формат ячеек → Текстовый).
  • Используйте функцию ТЕКСТ:
    =СЦЕПИТЬ(ТЕКСТ(A1;"00000"); " - "; B1)

    Здесь "00000" — маска, которая добавит ведущие нули до 5 знаков.

Как объединить строки в Google Sheets?

В Google Sheets работают те же функции, но с английскими названиями:

  • =CONCATENATE(A1; " "; B1) — аналог СЦЕПИТЬ.
  • =CONCAT(A1:A3) — аналог ОБЪЕДИНИТЬ.
  • =TEXTJOIN(", "; TRUE; A1:A3) — аналог ТЕКСТСОЕДИНИТЬ.

Также в Google Sheets есть уникальная функция =JOIN, которая упрощает объединение диапазонов:

=JOIN(", "; A1:A3)
Можно ли объединить строки с сохранением форматирования (цвета, шрифта)?

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

  • Объедините ячейки физически (Главная → Объединить и поместить в центре), но это удалит данные из исходных ячеек.
  • Используйте VBA-макрос, который копирует форматирование из исходных ячеек в объединённую.
  • Вручную скопируйте текст и примените форматирование к новой ячейке.