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

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

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

Особое внимание уделим динамическому объединению, когда данные в исходных столбцах обновляются, а результат должен автоматически подстраиваться. Например, если у вас есть таблица с адресами, где улица, дом и квартира хранятся в отдельных колонках, а вам нужно получить единый адрес для отправки в CRM-систему. Или когда требуется сгенерировать email из имени и фамилии по шаблону имя.фамилия@домен.com.

Важно: методы отличаются не только синтаксисом, но и производительностью. Например, функция TEXTJOIN (доступна с Excel 2019) обрабатывает массивы данных в разы быстрее, чем классическое сцепление через &, но не работает в старых версиях программы. Мы подробно разберём плюсы и минусы каждого подхода, чтобы вы могли выбрать оптимальный вариант для своей задачи.

1. Базовый метод: оператор & (амперсанд)

Самый простой и универсальный способ — использовать символ амперсанда (&). Он работает во всех версиях Excel, включая Excel 2003, и не требует знания функций. Достаточно ввести в ячейку формулу вида:

=A2 & " " & B2

Где A2 и B2 — адреса ячеек с данными, а " " — разделитель (в данном случае пробел). Этот метод идеален для быстрого объединения двух-трех столбцов, но имеет ограничения:

  • 🔹 Нет автоматического игнорирования пустых ячеек — если в одной из ячеек нет данных, в результате появится лишний разделитель (например, "Иванов " вместо "Иванов").
  • 🔹 Сложно читаемая формула при объединении 4+ столбцов — приходится вручную добавлять разделители между каждым элементом.
  • 🔹 Нет поддержки диапазонов — нужно указывать каждую ячейку отдельно (нельзя написать =A2:A5 & " " & B2:B5).

Пример с тремя столбцами (фамилия, имя, отчество):

=A2 & " " & B2 & " " & C2
⚠️ Внимание: Если в ячейках содержатся числа или даты, Excel автоматически преобразует их в текст. Однако формат отображения может измениться! Например, дата 15.05.2026 после объединения станет числом 45423 (количество дней с 1900 года). Чтобы сохранить формат, используйте функцию ТЕКСТ():

=A2 & " " & ТЕКСТ(B2; "дд.мм.гггг")

2. Функция СЦЕПИТЬ (CONCATENATE) — классика с нюансами

Функция СЦЕПИТЬ (или CONCATENATE в английской версии) была основным инструментом для объединения данных до появления TEXTJOIN. Её синтаксис:

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

Где текст1, текст2 — это либо адреса ячеек, либо текстовые строки в кавычках. Например:

=СЦЕПИТЬ(A2; " "; B2; " "; C2)

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

  • 📌 Читаемость формулы — проще воспринимать, чем цепочку амперсандов.
  • 📌 Поддержка до 255 аргументов (в теории), хотя на практике редко требуется больше 10.

Недостатки те же, что и у амперсанда: нет обработки пустых ячеек и диапазонов. Более того, в Excel 2016 и старше функция CONCATENATE была заменена на CONCAT, которая поддерживает диапазоны, но всё равно не игнорирует пустые ячейки.

📊 Какую версию Excel вы используете?
Excel 2010 или старше
Excel 2013-2016
Excel 2019-2021
Excel 365 (подписка)
Google Таблицы

3. TEXTJOIN — революционное решение для динамических данных

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

  • 🌟 Игнорирует пустые ячейки — не оставляет лишних разделителей.
  • 🌟 Работает с диапазонами — можно указать целый столбец (например, A2:A100).
  • 🌟 Гибкие разделители — можно использовать запятую, точку с запятой, перевод строки (СИМВОЛ(10)) и т.д.

Синтаксис:

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

Примеры:

ЗадачаФормулаРезультат
Объединить имя и фамилию через пробел=TEXTJOIN(" "; ИСТИНА; A2; B2)Иванов Петр
Создать email из трёх частей=TEXTJOIN(".", ИСТИНА; A2; B2; "company.com")petr.ivanov@company.com
Объединить диапазон с запятой=TEXTJOIN(", "; ИСТИНА; A2:C2)Иванов, Петр, Сергеевич
Текст с переносом строки=TEXTJOIN(СИМВОЛ(10); ИСТИНА; A2; B2)Иванов
Петр

Обратите внимание на второй аргумент — ИСТИНА/ЛОЖЬ. Если указать ИСТИНА, пустые ячейки будут проигнорированы. Это решает главную проблему методов & и СЦЕПИТЬ.

⚠️ Внимание: В Google Таблицах функция TEXTJOIN работает аналогично, но для переноса строки используйте CHAR(10) вместо СИМВОЛ(10). Также в Google Sheets нет ограничения на количество аргументов (в отличие от Excel, где максимум 252).

Убедитесь, что ваша версия Excel не старше 2019 года

Проверьте, нет ли скрытых пробелов в ячейках (функция СЖПРОБЕЛЫ() поможет)

Если нужен перенос строки, включите в ячейке "Перенос текста" (Ctrl+1 → Выравнивание)

Для больших диапазонов используйте TEXTJOIN с указанием конкретного диапазона (например, A2:A1000), а не всей колонки (A:A)

-->

4. Power Query — объединение для больших данных

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

  • 📊 Обрабатывать миллионы строк без замедления.
  • 🔄 Обновлять данные одним кликом (без переписывания формул).
  • 🛠️ Применять сложные преобразования (например, добавлять префиксы/суффиксы).

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

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

Главное преимущество Power Query — неразрушающее редактирование. Исходные данные остаются нетронутыми, а все изменения фиксируются в "запросе", который можно обновить в любой момент. Это особенно ценно для отчётов, которые генерируются ежемесячно.

Как объединить столбцы с условием в Power Query?

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

1. Отфильтруйте таблицу по столбцу "Статус" (значение "Активно").

2. Добавьте пользовательский столбец с формулой вида [Столбец1] & " " & [Столбец2].

3. Удалите ненужные столбцы и загрузите результат.

5. Объединение с форматированием: TEXT и ДАТАВРЕМЯ

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

  • 📅 ТЕКСТ() — для преобразования чисел и дат в текст с заданным форматом.
  • 💰 ФИКСИРОВАННЫЙ() — для округления чисел до нужного количества знаков.
  • 🔤 ПРОПИСН() / СТРОЧН() — для изменения регистра текста.

Примеры:

=ТЕКСТ(A2; "дд ммм гггг") & ", " & B2  // Дата + текст (например, "15 мая 2026, Иванов")

=СЦЕПИТЬ(ФИКСИРОВАННЫЙ(C2; 2); " руб. за "; A2) // Число с 2 знаками + текст

=ПРОПИСН(СЦЕПИТЬ(A2; " "; B2)) // Фамилия и имя заглавными буквами

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

=ТЕКСТ(СЕГОДНЯ(); "ггггммдд") & "-" & ТЕКСТ(A2; "0000")  // Результат: "20260515-0042"
⚠️ Внимание: Функция ТЕКСТ() зависит от региональных настроек Excel! Например, формат даты "дд.мм.гггг" в английской версии Excel не сработает — нужно использовать "dd/mm/yyyy". Чтобы избежать ошибок, проверяйте формат в настройках системы (Файл → Параметры → Язык).

6. Ошибки и решения: почему формулы не работают

Даже в простых формулах объединения могут возникать ошибки. Рассмотрим типичные проблемы и способы их устранения:

ОшибкаПричинаРешение
#ИМЯ?Опечатка в названии функции (например, СЦЕПТИЬ вместо СЦЕПИТЬ)Проверьте синтаксис. В английской версии Excel используйте CONCAT или TEXTJOIN.
#ЗНАЧ!Указан диапазон вместо отдельных ячеек (например, =A2:A5 & B2:B5)Используйте TEXTJOIN для диапазонов или указывайте ячейки по одной.
Лишние пробелыВ исходных ячейках есть скрытые пробелы (например, после импорта данных)Примените СЖПРОБЕЛЫ(): =СЖПРОБЕЛЫ(A2) & " " & СЖПРОБЕЛЫ(B2).
Неправильный разделительВ TEXTJOIN указан неверный символ (например, "," вместо ";")Учитывайте региональные настройки Excel (в русской версии разделителем по умолчанию является ;).
Дата отображается как числоExcel преобразует дату в числовой формат (количество дней с 1900 года)Используйте ТЕКСТ(): =ТЕКСТ(A2; "дд.мм.гггг") & " " & B2.

Если формула работает, но результат отображается некорректно (например, вместо переноса строки виден символ ), проверьте:

  • Включён ли в ячейке Перенос текста (на вкладке Главная → Выравнивание).
  • Используется ли правильный символ переноса: СИМВОЛ(10) для Excel, CHAR(10) для Google Таблиц.

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

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

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

Как объединить столбцы с переносом строки, чтобы текст отображался в несколько строк?

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

=TEXTJOIN(СИМВОЛ(10); ИСТИНА; A2; B2; C2)

Затем включите в ячейке с результатом опцию Перенос текста (на вкладке Главная). В Google Таблицах замените СИМВОЛ(10) на CHAR(10).

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

Excel автоматически преобразует числа в текст при объединении. Чтобы сохранить числовой формат для дальнейших вычислений, используйте:

=ЗНАЧЕН(СЦЕПИТЬ(A2; B2))

Однако учтите, что ЗНАЧЕН() работает только если результирующая строка может быть интерпретирована как число (например, "123", но не "123abc").

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

В Excel Online и мобильном приложении доступны те же функции, что и в десктопной версии: &, СЦЕПИТЬ, TEXTJOIN (если версия поддерживается). Однако Power Query в мобильной версии отсутствует. Для сложных задач рекомендуем использовать десктопную версию или Google Таблицы (где TEXTJOIN работает стабильно).

Можно ли объединить столбцы с условием (например, только если ячейка не пустая)?

Да, есть несколько способов:

  1. С помощью ЕСЛИ():
    =ЕСЛИ(A2<>""; A2 & " " & B2; "")
  2. С помощью TEXTJOIN (игнорирует пустые ячейки автоматически):
    =TEXTJOIN(" "; ИСТИНА; A2; B2)
  3. С помощью Power Query (фильтрация перед объединением).