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

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

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

1. Базовое объединение с помощью символа «&» или функции CONCATENATE

Начнём с самого простого метода, который работает во всех версиях Excel — от Excel 2003 до Microsoft 365. Для объединения двух или более ячеек в одну достаточно использовать оператор & (амперсанд) или функцию CONCATENATE.

Пример формулы с оператором &:

=A2 & " " & B2 & " " & C2

Здесь мы объединяем содержимое ячеек A2, B2 и C2, добавляя между ними пробел. Если пробелы не нужны, просто убираем " " из формулы.

  • Плюсы: работает в любой версии Excel, не требует дополнительных надстроек.
  • Минусы: не игнорирует пустые ячейки (в результате могут появиться лишние пробелы).
  • ⚠️ Нюанс: если в ячейках содержатся числа, их нужно преобразовать в текст с помощью функции TEXT, иначе Excel проигнорирует форматирование (например, даты отобразятся как числа).

Альтернатива — функция CONCATENATE:

=CONCATENATE(A2, " ", B2, " ", C2)

В Excel 2016 и новее эту функцию заменили на CONCAT, но старая версия всё ещё поддерживается для совместимости.

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

Функция TEXTJOIN появилась в Excel 2019 и Microsoft 365 и стала настоящим спасением для работы с неструктурированными данными. Её главное преимущество — возможность пропускать пустые ячейки и задавать разделитель между значениями.

Синтаксис функции:

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

Пример:

=TEXTJOIN(" "; ИСТИНА; A2:C2)

Эта формула объединит содержимое ячеек A2, B2 и C2, разделяя их пробелом, и проигнорирует пустые ячейки. Если во второй аргумент передать ЛОЖЬ, пустые ячейки будут учитываться как пустые строки.

Формула Результат для ячеек: A2="Иван", B2="", C2="Петров"
=A2 & " " & B2 & " " & C2 Иван Петров
=CONCATENATE(A2, " ", B2, " ", C2) Иван Петров
=TEXTJOIN(" "; ИСТИНА; A2:C2) Иван Петров

TEXTJOIN также поддерживает объединение целых диапазонов (например, A2:A100), что удобно для обработки больших таблиц. Однако не рекомендуется использовать её для диапазонов с более чем 10 000 строк — это может замедлить работу файла.

📊 Какой версии Excel вы пользуетесь?
Excel 2010 или старше
Excel 2013-2016
Excel 2019
Microsoft 365 (Excel Online)

3. Объединение столбцов через Power Query (для больших данных)

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

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

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

Преимущества Power Query:

  • 🔹 Обрабатывает миллионы строк без замедления.
  • 🔹 Позволяет объединять данные с предварительной очисткой (например, удалять лишние пробелы).
  • 🔹 Сохраняет связь с исходными данными: при их изменении достаточно обновить запрос.
⚠️ Внимание: Если в исходных столбцах есть ячейки с ошибками (например, #Н/Д), Power Query может прервать загрузку. Перед объединением очистите данные с помощью функции IFERROR или фильтра.

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

4. Макросы VBA: автоматизация для повторяющихся задач

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

Пример макроса для объединения трёх столбцов (A, B, C) в столбец D с разделителем-пробелом:

Sub ОбъединитьСтолбцы()

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 = 2 To lastRow 'Пропускаем заголовок

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

Next i

End Sub

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

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

Для более гибкого решения можно модифицировать макрос, чтобы он:

  • 📌 Запрашивал у пользователя диапазоны для объединения.
  • 📌 Игнорировал пустые ячейки (как TEXTJOIN).
  • 📌 Сохранял результат в новом листе.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не будет работать. Также убедитесь, что в настройках безопасности разрешены макросы (Файл → Параметры → Центр управления безопасностью).

5. Объединение с сохранением форматирования (текст + числа + даты)

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

Решение: использовать функцию TEXT для явного указания формата каждого элемента. Пример:

=A2 & " " & TEXT(B2; "дд.мм.гггг") & " " & TEXT(C2; "# ##0.00")

Здесь:

  • A2 — текст (форматирование сохраняется автоматически).
  • TEXT(B2; "дд.мм.гггг") — дата в формате 01.01.2023.
  • TEXT(C2; "# ##0.00") — число с разделителем тысяч и двумя знаками после запятой (например, 1 234.56).

Если нужно объединить данные с условным форматированием (например, ячейки с цветом), придётся использовать VBA или копировать значения вручную через Специальная вставка → Значения, а затем применять форматирование заново.

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

Если в исходных ячейках есть переносы строк (сделанные через Alt+Enter), используйте функцию SUBSTITUTE с символом CHAR(10):

=SUBSTITUTE(A2 & CHAR(10) & B2; "  "; " ")

Здесь CHAR(10) — это символ переноса строки. Двойные пробелы заменяются на одинарные для чистоты результата.

6. Альтернативные методы: надстройка «Объединить и разделить», Google Таблицы

Если стандартные способы вас не устраивают, можно воспользоваться сторонними решениями:

  • 📊 Надстройка «Ablebits Merge Tables»: плагин для Excel, который позволяет объединять столбцы с гибкими настройками (разделители, игнорирование пустых ячеек, сохранение форматирования). Подходит для пользователей, которые часто работают с большими массивами данных.
  • 🔗 Google Таблицы: здесь также доступны функции CONCATENATE и &, но вместо TEXTJOIN используется JOIN (менее гибкая, но простая в использовании). Пример:
    =JOIN(" "; A2:C2)
  • 📎 Экспорт в CSV и обработка в Notepad++: если данных очень много, можно экспортировать таблицу в .csv, открыть в текстовом редакторе и заменить разделители столбцов (запятые) на пробелы с помощью функции замены.

Для корпоративных пользователей, работающих с Power BI или SQL, объединение столбцов можно выполнить на этапе загрузки данных в эти системы, используя операторы CONCAT (SQL) или Merge Columns (Power BI).

FAQ: Частые вопросы об объединении столбцов в Excel

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

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

Как объединить столбцы с сохранением формул, а не значений?

Если в исходных ячейках есть формулы, и вы хотите, чтобы в объединённом столбце они продолжали работать, используйте формулы объединения (например, =A2 & " " & B2). Если же вам нужны статичные значения, скопируйте результат и вставьте его через Специальная вставка → Значения.

Почему после объединения даты отображаются как числа?

Excel хранит даты в виде чисел (количество дней с 1900 года). Чтобы дата отобразилась корректно, используйте функцию TEXT:

=TEXT(A2; "дд.мм.гггг") & " " & B2

Или примените формат даты к результирующей ячейке после объединения.

Как объединить столбцы в Excel Online?

В веб-версии Excel доступны те же функции, что и в десктопной: &, CONCATENATE, TEXTJOINExcel Online с подпиской Microsoft 365). Однако Power Query и макросы VBA в браузерной версии недоступны.

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

Да, если вы используете формулы (=A2 & B2) или Power Query. В первом случае результат обновится автоматически, во втором — нужно нажать Обновить на вкладке Данные. Макросы обновляются только при повторном запуске.