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

Объединение ячеек в Excel: когда это нужно и какие подводные камни ждут новичков

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

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

В этой статье вы найдёте:

  • 🔹 7 рабочих методов объединения текста — от базовых до продвинутых (включая ПРОБЕЛ, & и TEXTJOIN)
  • 🔹 Пошаговые инструкции с картинками и примерами для Excel 2010–2026 и Google Таблиц
  • 🔹 Типичные ошибки и как их исправить (например, почему формула возвращает #ЗНАЧ!)
  • 🔹 Скрытые возможности: объединение с разделителями, игнорирование пустых ячеек, динамические массивы

Способ 1: Функция СЦЕПИТЬ (CONCAT) — классика, которая ещё работает

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

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

Например, чтобы объединить содержимое ячеек A1 ("Иванов") и B1 ("Иван"), используйте:

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

Обратите внимание на пробел в кавычках (" ") — без него слова сольются. Это самая распространённая ошибка новичков!

  • ✅ Плюсы: работает во всех версиях Excel, простой синтаксис.
  • ❌ Минусы: не игнорирует пустые ячейки (вернёт лишние пробелы), ограничена 255 аргументами.
⚠️ Внимание: В Excel 2016 и новее функция CONCAT заменяет СЦЕПИТЬ, но работает аналогично. Если вы используете русскоязычную версию, в формулах пишите =СЦЕПИТЬ, а не =CONCAT — иначе получите ошибку #ИМЯ?.
📊 Какую версию Excel вы используете?
Excel 2010-2013
Excel 2016-2019
Excel 2021/Office 365
Google Таблицы
Другая

Способ 2: Оператор & — самый быстрый метод для простых задач

Если вам нужно быстро склеить две ячейки без лишних функций, используйте символ амперсанда &. Это не функция, а оператор, и он работает во всех версиях Excel, включая Google Таблицы. Пример:

=A1 & " " & B1

Преимущество этого метода — скорость и лаконичность. Например, для объединения фамилии, имени и отчества в одну ячейку достаточно написать:

=A1 & " " & B1 & " " & C1

Но будьте осторожны: если хотя бы одна из ячеек пустая, результат будет выглядеть так: "Иванов Петрович" (двойной пробел). Чтобы избежать этого, добавьте функцию ЕСЛИ:

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

Способ 3: Функция TEXTJOIN — революция в объединении текста (Excel 2019+)

Функция TEXTJOIN (в русскоязычной версии — ОБЪЕДИНИТЬ) появилась в Excel 2019 и стала настоящим прорывом. Она решает две ключевые проблемы предыдущих методов:

  1. Автоматически игнорирует пустые ячейки.
  2. Позволяет указать разделитель (например, запятую, точку с запятой или пробел).

Синтаксис:

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

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

  • 📌 Объединение с пробелом (игнорируются пустые ячейки): =ОБЪЕДИНИТЬ(" "; ИСТИНА; A1:C1)
  • 📌 Создание списка через запятую: =ОБЪЕДИНИТЬ(", "; ИСТИНА; A1:A10)
  • 📌 Объединение адреса (улица, дом, квартира): =ОБЪЕДИНИТЬ(", "; ИСТИНА; B2; C2; D2)

Важно: TEXTJOIN — единственная функция, которая корректно обрабатывает массивы ячеек (например, A1:A10) без необходимости перечислять каждую ячейку отдельно. Это экономит время при работе с большими диапазонами.

Функция Игнорирует пустые ячейки Работает с массивами Макс. аргументов Версия Excel
СЦЕПИТЬ ❌ Нет ❌ Нет 255 2003+
& ❌ Нет ❌ Нет Неограничено Все
ОБЪЕДИНИТЬ ✅ Да ✅ Да 252 2019+
CONCAT (новая) ❌ Нет ✅ Да 252 2016+

Способ 4: Функция ПРОБЕЛ (SPACE) для точного контроля отступов

Иногда между словами нужно вставить не один, а несколько пробелов — например, для выравнивания текста или создания отступов. В этом поможет функция ПРОБЕЛ (англ. SPACE), которая добавляет указанное количество пробелов:

=A1 & ПРОБЕЛ(3) & B1

Эта формула вставит три пробела между содержимым ячеек A1 и B1. Полезно для:

  • 📄 Форматирования отчётов (например, выравнивание столбцов в текстовом виде).
  • 📄 Создания "воздуха" между частями адреса или ФИО.
  • 📄 Подготовки данных для экспорта в системы, где важны фиксированные отступы.

Сочетание ПРОБЕЛ с другими функциями позволяет создавать сложные шаблоны. Например, для формирования строки вида "Иванов_____Иван Петрович" (где подчёркивания — пробелы) используйте:

=A1 & ПРОБЕЛ(5 - ДЛСТР(A1)) & B1 & " " & C1
⚠️ Внимание: Функция ПРОБЕЛ добавляет неразрывные пробелы (если они поддерживаются шрифтом). Это значит, что текст не будет разбиваться на строки в этих местах при переносе. Если вам нужны обычные пробелы, используйте ПОВТОР(" "; 3).

Способ 5: Объединение с условиями (ЕСЛИ + СЦЕПИТЬ)

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

  • 🔸 Добавлять запятую только если есть отчество.
  • 🔸 Пропускать пустые ячейки в адресе.
  • 🔸 Форматировать телефон в виде +7 (XXX) XXX-XX-XX.

Для этого комбинируйте ЕСЛИ (или IF) с функциями объединения. Пример для ФИО:

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

Более сложный случай — формирование адреса, где некоторые поля могут быть пустыми:

=A1 & ЕСЛИ(B1<>""; ", д. " & B1; "") & ЕСЛИ(C1<>""; ", кв. " & C1; "")

Для телефонов (преобразование 9123456789 в +7 (912) 345-67-89):

="+7 (" & ПСТР(A1;1;3) & ") " & ПСТР(A1;4;3) & "-" & ПСТР(A1;7;2) & "-" & ПСТР(A1;9;2)

Убедитесь, что все ячейки имеют текстовый формат (не числа!)

Проверьте наличие скрытых пробелов функцией =ДЛСТР(A1)

Используйте =ЧИСТ(A1) для удаления непечатаемых символов

Тестируйте формулу на пустых ячейках

-->

Способ 6: Power Query — объединение для больших данных

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

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

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

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

  • 🚀 Обрабатывает миллионы строк без замедления.
  • 🔄 Автоматически обновляет результат при изменении исходных данных.
  • 📊 Позволяет объединять данные из разных источников (Excel, SQL, CSV).
⚠️ Внимание: Power Query создаёт связанную таблицу, а не статические данные. Если исходный диапазон изменится, обновите запрос через ДанныеОбновить все. Иначе результат останется прежним!
Как объединить данные из разных файлов?

С помощью Power Query можно загрузить несколько файлов Excel или CSV, а затем объединить их в один столбец. Для этого:

1. Создайте запрос для каждого файла (Данные → Получить данные → Из файла).

2. Используйте Добавить столбец → Настраиваемый столбец для объединения.

3. Объедините запросы с помощью Объединить запросы (аналог SQL JOIN).

Это особенно полезно для консолидации отчётов из разных отделов.

Способ 7: VBA-макрос для автоматизации рутинных задач

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

Sub ОбъединитьЯчейки()

Dim rng As Range

Dim cell As Range

Dim result As String

For Each cell In Selection

If cell.Row Mod 2 = 1 Then ' Обрабатываем только нечётные строки (настройте под свою задачу)

result = ""

For Each rng In Range(Cells(cell.Row, 1), Cells(cell.Row, 3)) ' Диапазон A:C

If rng.Value <> "" Then

result = result & rng.Value & " "

End If

Next rng

Cells(cell.Row, 4).Value = Trim(result) ' Результат в столбец D

End If

Next cell

End Sub

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

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

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

  • ⚡ Мгновенная обработка тысяч строк.
  • 🔧 Гибкая настройка под любую логику (например, объединение только чётных строк).
  • 📁 Возможность сохранения макроса в Персональной книге макросов для использования в других файлах.

Критичный нюанс: перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе Excel заблокирует выполнение кода.

Типичные ошибки и как их исправить

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

Ошибка Причина Решение
#ЗНАЧ! В одной из ячеек не текст, а ошибка (например, #ДЕЛ/0!) Используйте =ЕСЛИОШИБКА(A1; "") & " " & B1
Лишние пробелы Функция СЦЕПИТЬ не игнорирует пустые ячейки Замените на ОБЪЕДИНИТЬ или добавьте ЕСЛИ
Текст в одну строку Отсутствует разделитель между ячейками Добавьте пробел или другой символ: =A1 & " " & B1
Не обновляется результат Формулы рассчитываются вручную (Вручную в Формулы → Вычисления) Нажмите F9 или включите Автоматически
Символы #### Слишком длинный результат для ячейки Увеличьте ширину столбца или разбейте текст на части

Ещё одна частая проблема — скрытые символы (неразрывные пробелы, табуляции, переносы строк). Они могут попасть в данные при копировании из веб-страниц или PDF. Чтобы их удалить, используйте:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; СИМВОЛ(160); " "); СИМВОЛ(9); " "); СИМВОЛ(10); " ")

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

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

Да, но только с помощью формул (например, =A1 & B1) или Power Query. Если вы используете кнопку "Объединить и поместить в центре" на панели инструментов (Главная → Объединить и центрировать), данные из всех ячеек, кроме верхней левой, будут удалены! Чтобы избежать потерь, всегда дублируйте данные в другой столбец перед объединением.

Как объединить текст с датой (например, "Отчёт от 01.01.2026")?

Используйте функцию ТЕКСТ, чтобы преобразовать дату в строку:

="Отчёт от " & ТЕКСТ(A1; "dd.mm.yyyy")

Если дата в ячейке A1 отображается как число (например, 45309), Excel всё равно корректно преобразует её в формат даты.

Почему после объединения числа превращаются в даты (например, "1-янв")?

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

=ТЕКСТ(A1) & "-" & ТЕКСТ(B1)

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

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

Используйте функцию СИМВОЛ(10) для вставки переноса строки. Не забудьте включить перенос в ячейке (Главная → Перенос текста):

=A1 & СИМВОЛ(10) & B1

Для Windows в некоторых случаях может потребоваться СИМВОЛ(13) & СИМВОЛ(10).

Работают ли эти методы в Google Таблицах?

Да, но с поправками:

  • Вместо СЦЕПИТЬ используйте =CONCATENATE(A1; " "; B1) или =A1 & " " & B1.
  • Функция TEXTJOIN доступна как =JOIN(" "; A1:B1), но не игнорирует пустые ячейки.
  • Для игнорирования пустых ячеек используйте =ARRAYFORMULA(JOIN(" "; FILTER(A1:B1; A1:B1<>""))).