Объединение текста из нескольких ячеек в Microsoft Excel — задача, с которой сталкивается каждый второй пользователь. Кому-то нужно соединить имя и фамилию в одном столбце, кому-то — сформировать адрес из улицы, дома и квартиры, а кому-то — подготовить данные для дальнейшей обработки в других системах. Казалось бы, что может быть проще? Но уже на этапе выбора метода возникают вопросы: использовать ли функцию СЦЕПИТЬ, перейти на CONCAT или TEXTJOIN, или вообще задействовать Power Query?
В этой статье мы разберём все актуальные способы склеивания текста — от базовых до продвинутых, с учётом нюансов разных версий Excel (включая Excel 365 и Excel 2019). Вы узнаете, как избежать типичных ошибок (например, пропавших пробелов между словами), как работать с пустыми ячейками, и когда лучше отказаться от формул в пользу инструментов типа "Текст по столбцам". А в конце — сравнительная таблица методов, которая поможет выбрать оптимальный вариант для вашей задачи.
Если вы никогда не сталкивались с объединением данных в Excel, начните с первого раздела. Опытным пользователям рекомендуем сразу перейти к Power Query или TEXTJOIN — эти инструменты экономят часы работы при обработке больших массивов.
1. Функция СЦЕПИТЬ (CONCATENATE): классический метод
Функция СЦЕПИТЬ (или её английский аналог CONCATENATE) — самый старый и известный способ объединения текста. Она доступна во всех версиях Excel, включая Excel 2003, и до сих пор активно используется. Синтаксис прост: =СЦЕПИТЬ(текст1; [текст2]; ...), где в качестве аргументов можно указывать до 255 ячеек или текстовых строк.
Пример: если в ячейке A1 у вас имя ("Иван"), а в B1 — фамилия ("Петров"), формула =СЦЕПИТЬ(A1; " "; B1) вернёт "Иван Петров". Обратите внимание на пробел в кавычках — без него слова сольются в "ИванПетров".
- ✅ Плюсы: работает во всех версиях, интуитивно понятна.
- ❌ Минусы: не игнорирует пустые ячейки (если
B1пустая, результат будет "Иван "), не поддерживает диапазоны (приходится перечислять каждую ячейку). - ⚠️ Нюанс: в Excel 365 функция официально признана устаревшей (хотя ещё работает), вместо неё рекомендуют
CONCAT.
Если вам нужно склеить текст из диапазона (например, A1:A10), придётся вручную перечислять все ячейки: =СЦЕПИТЬ(A1; A2; A3; ...; A10). Это неудобно, поэтому для таких задач лучше использовать TEXTJOIN (см. следующий раздел).
2. TEXTJOIN: революция в объединении текста
Функция TEXTJOIN появилась в Excel 2016 и стала настоящим прорывом для работы с текстовыми данными. Её ключевое преимущество — умение обрабатывать диапазоны ячеек и игнорировать пустые значения. Синтаксис: =TEXTJOIN(разделитель; игнорировать_пустые; текст1; [текст2]; ...).
Разберём на примере: у вас есть таблица с адресами, где в столбцах A, B и C указаны город, улица и дом соответственно. Формула =TEXTJOIN(", "; ИСТИНА; A1:C1) вернёт "Москва, Арбат, 15". Первый аргумент — разделитель (здесь запятая с пробелом), второй — ИСТИНА (игнорировать пустые ячейки), третий — диапазон.
- 🔹 Пример с пробелом:
=TEXTJOIN(" "; ИСТИНА; A1:C1)→ "Москва Арбат 15". - 🔹 Пример с переносом строки:
=TEXTJOIN(СИМВОЛ(10); ИСТИНА; A1:C1)(не забудьте включить перенос текста в ячейке!). - 🔹 Пример с игнорированием пустых: если в
B1пусто, результат будет "Москва 15" (без лишних запятых).
Важно:
Для имитации TEXTJOIN в старых версиях Excel используйте массивную формулу:TEXTJOIN не работает в Excel 2013 и более ранних версиях. Если вам нужно решение для устаревших программ, используйте комбинацию СЦЕПИТЬ + ЕСЛИ (см. спойлер ниже).
Альтернатива TEXTJOIN для Excel 2013
Внимание! Это формула массива — после ввода нажмите =СЦЕПИТЬ(ЕСЛИ(A1:A10<>""; A1:A10 & ", "; ""))Ctrl+Shift+Enter. Она добавит запятую после каждого непустого значения, но не уберёт лишнюю запятую в конце.
Ещё один плюс TEXTJOIN — возможность использовать её для объединения текста по условию. Например, склеить только те ячейки, которые содержат слово "ургентно":
=TEXTJOIN(", "; ИСТИНА; ЕСЛИ(ЕОШИБКА(ПОИСК("ургентно"; A1:A10)); ""; A1:A10))
(не забудьте ввести как формулу массива).
3. CONCAT: упрощённая замена СЦЕПИТЬ
Функция CONCAT (в русскоязычной версии — ОБЪЕДИНИТЬ) появилась в Excel 2016 как замена устаревшей CONCATENATE. Её синтаксис проще: =CONCAT(текст1; [текст2]; ...), и она поддерживает диапазоны ячеек (в отличие от СЦЕПИТЬ). Однако, в отличие от TEXTJOIN, она не игнорирует пустые ячейки и не позволяет задавать разделитель.
Примеры:
- 📌
=CONCAT(A1:C1)→ "МоскваАрбат15" (без пробелов!). - 📌
=CONCAT(A1; " "; B1; " "; C1)→ "Москва Арбат 15". - 📌
=CONCAT(A1:A10)— объединит все ячейки диапазона в одну строку.
Когда использовать CONCAT? Если вам нужно просто склеить текст без разделителей и вы работаете в Excel 2016+. Для более сложных задач (с разделителями, игнорированием пустых ячеек) лучше брать TEXTJOIN.
=ПОДСТАВИТЬ(CONCAT(A1:C1); ""; " ")
Это заменит все "слипшиеся" части текста на варианты с пробелами.-->
4. Быстрое заполнение (Flash Fill): объединение без формул
Инструмент "Быстрое заполнение" (Flash Fill) — это магия Excel для ленивых. Он анализирует ваши действия и автоматически повторяет шаблон для остальных ячеек. Например, если в столбце Преимущества метода:
Ограничения:
Flash Fill идеален для разовых задач, когда нужно быстро привести данные к единому формату. Для постоянной работы с изменяющимися данными лучше использовать формулы.
1. Убедитесь, что исходные данные расположены в соседних столбцах. 2. Введите пример желаемого результата в первую ячейку столбца-результата. 3. Нажмите 4. Проверьте несколько строк на корректность (Flash Fill иногда ошибается с неочевидными шаблонами). --> Если вам нужно склеить текст в таблице с тысячами строк или объединить данные из разных источников, Power Query (вкладка "Данные → Получить данные") станет вашим лучшим другом. Этот инструмент позволяет:
Пошаговая инструкция:
Пример: если у вас в таблице отдельно указаны Преимущества перед формулами:
Даже в простой задаче по объединению текста начинающие пользователи допускают ошибки, которые портят данные. Рассмотрим самые распространённые:
1. Пропавшие пробелы между словами
Если вы используете 2. Лишние запятые или разделители
При использовании Если 3. Ошибка #ЗНАЧ! при объединении чисел и текста
Если одна из ячеек содержит число (например, 4. Переносы строк отображаются как символы
Если вы используете 5. Формулы не обновляются при изменении данных
Если вы склеили текст с помощью формул, но при изменении исходных ячеек результат не меняется, проверьте:
Чтобы облегчить выбор, мы собрали ключевые характеристики каждого способа в таблице:
Рекомендации по выбору:
Нет, все методы объединения текста в Excel работают только с значениями, а не с форматированием. Если нужно сохранить оформление, скопируйте данные в Word или используйте надстройки вроде Kutools for Excel (функция Используйте трёхмерные ссылки в формулах. Например, чтобы склеить Для диапазонов удобнее использовать Это происходит потому, что Excel хранит даты как числа (количество дней с 1900 года). Чтобы склеить дату в текстовом формате, используйте функцию Где Используйте инструмент "Текст по столбцам" ( Да, если вы используете формулы ( Чтобы формулы пересчитывались сразу, проверьте настройки: A у вас имена, а в B — фамилии, достаточно вручную ввести в C1 "Иван Петров", а затем нажать Ctrl+E (или Данные → Быстрое заполнение). Excel сам догадается, что нужно склеить A1 и B1 с пробелом, и продублирует это для всех строк.
Ctrl+E или выберите Данные → Быстрое заполнение.5. Power Query: объединение текста для больших данных
Данные → Из таблицы/диапазона (в Excel 2016+).Преобразовать → Объединить столбцы.Закрыть и загрузить — результат появится на новом листе.Имя, Фамилия и Отчество, Power Query за 2 клика создаст столбец с полным ФИО в формате "Иванов Иван Иванович".
Данные).6. Типичные ошибки и как их избежать
СЦЕПИТЬ или CONCAT без явного указания пробела, слова сольются. Например, =СЦЕПИТЬ(A1; B1) для "Иван" и "Петров" даст "ИванПетров". Решение: всегда добавляйте пробел вручную:
=СЦЕПИТЬ(A1; " "; B1)TEXTJOIN с разделителем (например, запятой) пустые ячейки игнорируются, но если вы вручную перечисляете ячейки в СЦЕПИТЬ, разделитель может остаться. Например:
=СЦЕПИТЬ(A1; ", "; B1; ", "; C1)B1 пустая, результат будет "Иван, , 15". Решение: используйте TEXTJOIN или проверяйте ячейки на пустоту через ЕСЛИ.15 в ячейке C1), а вы пытаетесь склеить его с текстом, Excel может выдать ошибку. Решение: преобразуйте число в текст с помощью ТЕКСТ:
=СЦЕПИТЬ(A1; " "; B1; " "; ТЕКСТ(C1; "0"))СИМВОЛ(10) для переноса строк в TEXTJOIN, но в ячейке не включаете перенос текста (Главная → Перенос текста), вместо разрыва строки вы увидите квадратик или значок. Решение: включите перенос текста или используйте другой разделитель.
Формулы → Параметры вычислений → Автоматически).$A$1 вместо A1).Копировать → Специальная вставка → Значения).7. Сравнение методов: какой выбрать?
Метод
Поддержка диапазонов
Игнорирует пустые ячейки
Разделитель
Динамическое обновление
Сложность
Лучше для...
СЦЕПИТЬ❌ Нет
❌ Нет
❌ Только вручную
✅ Да
⭐
Простых задач в старых версиях Excel
CONCAT✅ Да
❌ Нет
❌ Только вручную
✅ Да
⭐⭐
Простого объединения без разделителей
TEXTJOIN✅ Да
✅ Да
✅ Любой
✅ Да
⭐⭐⭐
Сложных шаблонов с разделителями
Flash Fill
✅ Да
✅ Да
✅ Любой (по шаблону)
❌ Нет
⭐⭐
Разовых преобразований без формул
Power Query
✅ Да
✅ Да
✅ Любой
✅ Да (при обновлении)
⭐⭐⭐⭐
Больших таблиц и сложных правил
СЦЕПИТЬ + ЕСЛИ для обработки пустых ячеек.CONCAT.TEXTJOIN.8. Частые вопросы
Можно ли склеить текст с сохранением форматирования (жирный, цвет и т.д.)?
Combine Rows, Columns or Cells without Losing Data).Как объединить текст из нескольких листов?
A1 с листов Лист1 и Лист2:=СЦЕПИТЬ(Лист1!A1; " "; Лист2!A1)Power Query: импортируйте данные с обоих листов и объедините столбцы в редакторе.Почему после объединения даты отображаются как числа (например, 44197 вместо 01.01.2021)?
ТЕКСТ:=СЦЕПИТЬ("Дата: "; ТЕКСТ(A1; "дд.мм.гггг"))A1 — ячейка с датой, а "дд.мм.гггг" — нужный формат.Как разделить обратно склеенный текст?
Данные → Текст по столбцам). Выберите разделитель (пробел, запятая и т.д.) и укажите, в какие столбцы разбивать данные. Для сложных шаблонов (например, "Иванов И.И.") может понадобиться Power Query или формулы с ЛЕВСИМВ, ПРАВСИМВ, ПСТР.Можно ли автоматически обновлять объединённый текст при изменении исходных данных?
СЦЕПИТЬ, TEXTJOIN и т.д.) или Power Query. Методы вроде Flash Fill или "Текст по столбцам" не обновляются автоматически — при изменении данных процедуру придётся повторять.Формулы → Параметры вычислений → Автоматически.