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

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

В этой статье мы разберём 5 проверенных способов объединения строк — от элементарных до продвинутых, включая формулы, Power Query и даже макросы. Вы узнаете, как сохранять все данные при слиянии, объединять текст с разделителями, а также автоматизировать процесс для больших таблиц. Особое внимание уделим типичным ошибкам и нюансам, о которых не пишут в стандартных руководствах.

Если вы работаете с Excel 365 или Excel 2021, некоторые методы будут доступны в упрощённом виде благодаря новым функциям вроде TEXTJOIN. Для пользователей старых версий (Excel 2010–2016) мы приведём альтернативные решения. Готовы разобраться раз и навсегда? Начнём с самого простого — и самого коварного — способа.

1. Слияние ячеек: почему этот метод опасен для данных

Первое, что приходит в голову при словах "объединить строки" — кнопка Объединить и поместить в центре на вкладке Главная. Она действительно сливает выделенные ячейки в одну, но с серьёзным побочным эффектом: Excel сохраняет только значение из верхней левой ячейки, а остальные данные безвозвратно удаляет.

Допустим, у вас есть таблица с именами и фамилиями в отдельных столбцах, и вы хотите объединить их в одну ячейку. Если просто выделить две соседние ячейки (например, A1 и B1) и нажать "Объединить", в результате останется только содержимое A1. Фамилия из B1 исчезнет — и вернуть её можно будет только через отмену действия (Ctrl+Z).

  • 🔴 Минусы метода: потеря данных, невозможность разъединить ячейки без потери информации, проблемы с сортировкой и фильтрацией.
  • ⚠️ Когда можно использовать: только для оформления заголовков или пустых ячеек, где нет ценных данных.
  • 💡 Альтернатива: функции СЦЕПИТЬ или ОБЪЕДИНИТЬ (о них ниже).

Если вы всё же решили использовать слияние, запомните комбинацию клавиш для быстрой отмены: Ctrl+Z. А лучше сразу переходите к следующему разделу — там мы расскажем, как объединять строки без потери данных.

📊 Какой версии Excel вы пользуетесь?
Excel 365
Excel 2021
Excel 2019
Excel 2016 или старше

2. Функция СЦЕПИТЬ (CONCATENATE): базовый способ объединения текста

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

Синтаксис функции прост:

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

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

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

Обратите внимание на пробел в кавычках (" ") — он добавляет разделитель между словами.

  • 📌 Пример 1: Объединение имени и фамилии с пробелом:
    =СЦЕПИТЬ(A2; " "; B2)

    Результат для A2="Иван" и B2="Петров": Иван Петров.

  • 📌 Пример 2: Объединение с дополнительным текстом:
    =СЦЕПИТЬ("Клиент: "; A2; " "; B2)

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

  • ⚠️ Ограничение: функция не поддерживает диапазоны ячеек (например, A1:A10) — придётся указывать каждую ячейку отдельно.

Если вам нужно объединить более 2–3 ячеек, формула станет громоздкой. В таком случае лучше использовать функцию ОБЪЕДИНИТЬ (доступна с Excel 2016) или TEXTJOIN (только в Excel 365 и Excel 2021).

Выделите ячейку для результата|Проверьте, нет ли лишних пробелов в исходных данных|Решите, нужен ли разделитель (запятая, пробел, тире)|Убедитесь, что в ячейках нет ошибок (#Н/Д, #ЗНАЧ!)

-->

3. Функция ОБЪЕДИНИТЬ (CONCAT): улучшенная замена СЦЕПИТЬ

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

Синтаксис:

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

Где текст1 может быть как отдельной ячейкой, так и диапазоном (например, A1:A10).

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

Задача Формула Результат (для A1="Иван", B1="Петров")
Объединить имя и фамилию =ОБЪЕДИНИТЬ(A1; " "; B1) Иван Петров
Объединить все ячейки в строке A1:D1 =ОБЪЕДИНИТЬ(A1:D1; " ") Иван Петров 1985 Москва
Объединить с разделителем ";" =ОБЪЕДИНИТЬ(A1:B1; "; ") Иван; Петров

Важный нюанс: если в одной из ячеек диапазона содержится ошибка (например, #Н/Д), функция вернёт эту ошибку. Чтобы избежать этого, используйте комбинацию с ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ОБЪЕДИНИТЬ(A1:B1; " "); "")
=ОБЪЕДИНИТЬ(A1; CHAR(10); B1)

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

4. TEXTJOIN: объединение с игнорированием пустых ячеек

Функция TEXTJOIN — самое мощное средство для объединения строк в современных версиях Excel (Excel 365 и Excel 2021). Её ключевые преимущества:

  • 🔹 Поддержка произвольного разделителя (пробел, запятая, тире и т. д.).
  • 🔹 Возможность игнорировать пустые ячейки (опция истина/ложь).
  • 🔹 Работа с диапазонами (как и ОБЪЕДИНИТЬ, но с большей гибкостью).

Синтаксис:

=TEXTJOIN(разделитель; игнорировать_пустые; текст1; [текст2]; ...)

Где:

- разделитель — символ или текст, разделяющий значения (например, "," или " ").

- игнорировать_пустыеИСТИНА (игнорировать пустые ячейки) или ЛОЖЬ (включать их в результат).

- текст1, текст2... — ячейки или диапазоны для объединения.

Примеры:

=TEXTJOIN("; "; ИСТИНА; A1:C1)

Объединит ячейки A1, B1 и C1 через точку с запятой, пропуская пустые.

=TEXTJOIN(CHAR(10); ИСТИНА; A1:A10)

Объединит все непустые ячейки диапазона A1:A10 в одну строку с переносами.

⚠️ Внимание: Функция TEXTJOIN недоступна в Excel 2016 и более ранних версиях. Если вы работаете со старой программой, используйте комбинацию СЦЕПИТЬ с ЕСЛИ для игнорирования пустых ячеек:
=СЦЕПИТЬ(ЕСЛИ(A1<>""; A1 & "; "; ""); ЕСЛИ(B1<>""; B1; ""))

5. Объединение строк с помощью Power Query

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

Алгоритм действий:

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

Преимущества метода:

  • 🔹 Работает с миллионами строк (в отличие от формул, которые тормозят на больших данных).
  • 🔹 Сохраняет исходную структуру таблицы — можно обновить данные одним кликом.
  • 🔹 Поддерживает сложные разделители (например, табуляцию или кастомный текст).
⚠️ Внимание: После объединения столбцов в Power Query исходные данные в Excel не изменяются — результат загружается в новую таблицу. Если вам нужно заменить оригинал, сначала сделайте резервную копию файла.
Как объединить строки с условием в Power Query?

В редакторе Power Query можно использовать язык M для условного объединения. Например, чтобы объединить только строки, где столбец "Статус" равен "Активно", добавьте шаг с фильтром перед слиянием:

= Table.SelectRows(Источник, each [Статус] = "Активно")

После фильтрации объедините нужные столбцы стандартным способом.

6. Макросы для объединения строк: автоматизация рутины

Если вам регулярно приходится объединять строки по одним и тем же правилам, имеет смысл записать макрос. Это сэкономит время и исключит ошибки при повторяющихся действиях.

Пример макроса для объединения двух столбцов с разделителем:

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

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

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

Преимущества макросов:

  • 🔹 Гибкость: можно настроить любой разделитель, обработку пустых ячеек и т. д.
  • 🔹 Скорость: обрабатывает тысячи строк за секунды.
  • 🔹 Повторное использование: один раз написал — пользуйся вечно.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не выполнится. Также убедитесь, что в настройках Excel разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов).

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

Можно ли объединить строки без потери данных в старых версиях Excel (2003–2010)?

Да, но придётся использовать комбинацию функций. Например:

=ЕСЛИ(A1<>""; A1; "") & " " & ЕСЛИ(B1<>""; B1; "")

Эта формула объединяет A1 и B1 с пробелом, игнорируя пустые ячейки. Для большего количества ячеек формула станет громоздкой — в таком случае лучше обновить Excel или использовать Power Query (доступен как надстройка для старых версий).

Как объединить строки с переносом строки (каждая ячейка — новая строка)?

Используйте функцию TEXTJOIN с символом CHAR(10) (перенос строки):

=TEXTJOIN(CHAR(10); ИСТИНА; A1:C1)

Не забудьте включить перенос текста в ячейке результата (Главная → Перенос текста). В старых версиях Excel замените TEXTJOIN на комбинацию СЦЕПИТЬ с CHAR(10).

Почему после объединения формулой результат отображается как дата?

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

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

Или измените формат ячейки на Текстовый (Главная → Формат → Формат ячеек → Текстовый).

Как разъединить объединённые строки обратно?

Если строки были объединены через TEXTJOIN, СЦЕПИТЬ или ОБЪЕДИНИТЬ, используйте функцию ТЕКСТ.ПОСЛЕ (или TEXTBEFORE/TEXTAFTER в Excel 365) с указанием разделителя. Например, чтобы извлечь первую часть из строки "Иван Петров":

=ТЕКСТДО(" " & A1; " ")

Для сложных случаев (несколько разделителей, нерегулярный формат) используйте Power Query с разделением столбцов по разделителю.

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

Да, в Google Sheets доступны аналогичные функции:

  • =CONCATENATE(A1; " "; B1) — аналог СЦЕПИТЬ.
  • =TEXTJOIN(", "; TRUE; A1:C1) — работает так же, как в Excel.
  • =ARRAYFORMULA(JOIN("; "; A1:C1)) — альтернатива для объединения диапазонов.

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