TEXTJOIN в Excel — синтаксис, примеры и практические подсказки

К чему служит TEXTJOIN (коротко)
Функция TEXTJOIN позволяет объединять текстовые строки из отдельных ячеек или диапазонов в одну строку, вставляя между элементами заданный разделитель. Полезна при свёртке списков, создании читабельных сводок и подготовке данных для экспорта.
Важно: TEXTJOIN сохраняет порядок элементов, который вы указываете, и может игнорировать пустые ячейки.
Синтаксис и параметры
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)Кратко по аргументам:
delimiter— строка-разделитель между элементами (например “, “, “ - “, “” для отсутствия разделителя).ignore_empty— логическое значение:TRUEигнорирует пустые ячейки,FALSEвключает их (порождает пустые участки между разделителями).text1, text2, ...— отдельные ячейки, ссылки на диапазоны или текстовые литералы. Поддерживается до 252 аргументов; диапазоны тоже допустимы.
Примечание: функции и синтаксис здесь приведены в английской форме (TEXTJOIN, IF, SUBSTITUTE), как в исходной документации Excel; в локализованных версиях Excel имена функций могут отличаться.
Быстрые примеры (шаг за шагом)
1. Объединение имени и фамилии
Если в столбце A — имя, в столбце B — фамилия, формула в C2:
=TEXTJOIN(" ", TRUE, A2, B2)Скопируйте формулу вниз — получите полные имена, разделённые пробелом. Если одна из ячеек пустая, при TRUE разделитель для неё не добавляется.
2. Список городов через запятую из диапазона
=TEXTJOIN(", ", TRUE, A2:A7)Это самый удобный способ преобразовать вертикальный список в одну строку для отчёта или CSV.
3. Добавить префикс к значениям (например, к номерам курсов)
=TEXTJOIN("", TRUE, "MAT" & A2)Если нужно создать список кодов для нескольких строк, комбинируйте диапазон и оператор объединения & внутри массива.
4. Вставка переносов строк между элементами
=TEXTJOIN(CHAR(10), TRUE, A2:B2)Нажмите Ctrl+Shift+Enter для подтверждения (если версия Excel требует ввода массивной формулы). Включите «Перенос текста» (Wrap Text) для корректного отображения в ячейке.
Комбинация TEXTJOIN с другими функциями — практические шаблоны
TEXTJOIN + IF — условное включение элементов
Пример: получить список учеников с оценкой выше 80 и с буквой “A”:
=TEXTJOIN(", ", TRUE, IF((B2:B9>80)*(C2:C9="A"), A2:A9, ""))Это массивная формула: в старых версиях Excel подтверждается Ctrl+Shift+Enter, в новых (Office 365/Excel 2021 и позже) достаточно Enter.
TEXTJOIN + SUBSTITUTE — предварительная очистка текста
Удалить дефисы и объединить коды:
=TEXTJOIN(", ", TRUE, SUBSTITUTE(A2:A6, "-", ""))SUBSTITUTE позволяет очистить входные данные, убрав символы, прежде чем склеить их в строку.
Другие полезные сочетания
- TEXTJOIN + TRIM — убрать лишние пробелы перед объединением.
- TEXTJOIN + UNIQUE (в новых Excel) — получить уникальный список значений через разделитель.
- TEXTJOIN + FILTER (Office 365) — динамически объединять лишь отфильтрованные строки.
Когда TEXTJOIN не подходит (ограничения и обходы)
- Старые версии Excel (до Excel 2016) могут не поддерживать TEXTJOIN. Обходы: Power Query, VBA или использование функции CONCAT/CONCATENATE и сложных формул массива.
- Если нужно сложное форматирование (разные разделители, HTML/JSON-структуры), лучше формировать строку в Power Query, VBA или в целевом языке (Python, SQL).
- При очень больших объёмах данных объединение в одну ячейку ухудшает читаемость и может привести к длинным строкам, трудным для экспорта.
Альтернатива: Power Query — для преобразований на уровне импортированных таблиц; он более устойчив при больших наборах данных и удобнее для повторяемых ETL шагов.
Практическая методология: как выбрать разделитель и параметр ignore_empty
Мини-методология (3 шага):
- Определите контекст вывода: человек (читаемый список) или машина (CSV/парсер).
- Выберите разделитель, не встречающийся в исходных данных (например, “;” или “ | “ для сложных строк). Для экспорта в CSV используйте “, “ и экранирование по необходимости.
- Если в исходных данных встречаются пустые ячейки, обычно ставьте
TRUE— это предотвращает лишние разделители. Если позиция пустых элементов важна, используйтеFALSE.
Чек-лист по ролям (быстрые действия)
Аналитик данных:
- Проверьте, поддерживает ли ваш Excel TEXTJOIN.
- Определите формат вывода и тестовые строки.
- Используйте FILTER/UNIQUE по возможности.
Заполнитель данных / администратор:
- Нормализуйте пробелы и спецсимволы (TRIM, SUBSTITUTE).
- Убедитесь, что «Перенос текста» включён для отображения переносов.
BI-разработчик:
- Для повторяемых операций вынесите логику в Power Query.
- При больших массивах избегайте объединения в одну ячейку на этапе подготовки данных.
Тестовые случаи и критерии приёмки
Критерии приёмки для формул с TEXTJOIN:
- Тест 1: Обычные строки
- Вход: A2=”Иван”, B2=”Иванов”; Ожидаемый результат при
=TEXTJOIN(" ",TRUE,A2,B2)— “Иван Иванов”.
- Вход: A2=”Иван”, B2=”Иванов”; Ожидаемый результат при
- Тест 2: Пустая фамилия
- Вход: A3=”Мария”, B3=””; Ожидаемый — “Мария” (без лишних пробелов) при
ignore_empty=TRUE.
- Вход: A3=”Мария”, B3=””; Ожидаемый — “Мария” (без лишних пробелов) при
- Тест 3: Дефисы и очистка
- Вход в A2:A4 с кодами “12-34”, “56-78”, “”;
=TEXTJOIN(", ",TRUE,SUBSTITUTE(A2:A4,"-",""))→ “1234, 5678”.
- Вход в A2:A4 с кодами “12-34”, “56-78”, “”;
Если все тесты пройдены — формулу можно использовать в отчётах.
Шпаргалка: полезные формулы и примеры
- Соединить несколько отдельных ячеек:
=TEXTJOIN("; ", TRUE, A1, B1, C1)- Объединить значения диапазона, игнорируя пустые:
=TEXTJOIN(", ", TRUE, A2:A100)- Объединить уникальные значения (Office 365):
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A100))- Объединить только отфильтрованные строки (Office 365):
=TEXTJOIN(", ", TRUE, FILTER(A2:A100, B2:B100>0))Совместимость и миграция
- Office 365 / Excel 2019 и новее: TEXTJOIN поддерживается, доступны динамические массивы (
UNIQUE,FILTER). - Excel 2016 (частично): в некоторых сборках TEXTJOIN присутствует; если отсутствует — используйте Power Query или VBA.
- Excel 2013 и ранее: TEXTJOIN отсутствует — используйте
CONCATENATEили VBA-макросы для объединения.
Важно: при переносе файла между разными версиями Excel проверяйте корректность формул и, при необходимости, создавайте версии с эквивалентной логикой на базе доступных функций.
Советы по отладке
- Если получаете длинные пробелы или лишние разделители — проверьте
ignore_emptyи используйтеTRIM/SUBSTITUTEдля очистки. - Если функция возвращает ошибку в массивных формулах — убедитесь, что вы подтверждаете ввод правильно для вашей версии Excel (Ctrl+Shift+Enter в старых версиях).
- Для вывода в CSV учитывайте экранирование разделителя: если ваши данные содержат запятые, выбирайте другой разделитель или оборачивайте элементы в кавычки.
1‑строчный глоссарий
- TEXTJOIN — функция для объединения текстовых значений с разделителем.
- delimiter — разделитель между элементами.
- ignore_empty — опция пропуска пустых значений.
- CHAR(10) — символ переноса строки.
Когда лучше использовать Power Query или VBA
- Если вы выполняете повторяющиеся преобразования для больших наборов данных, выносите логику в Power Query — это надёжнее и легко автоматизируется.
- Для сложной логики форматирования или экспорта (HTML, JSON) — предпочтительнее скрипты на VBA или внешние инструменты.
Итог и рекомендации
- TEXTJOIN — простой и гибкий инструмент для склейки строк в Excel. Он эффективен для подготовки читаемых списков и базовой очистки данных.
- Используйте
TRUEдляignore_empty, если не хотите лишних разделителей, и комбинируйте сSUBSTITUTE,TRIM,UNIQUEиFILTERдля более надёжных результатов.
Ключевые рекомендации:
- Проверяйте совместимость версии Excel перед широким использованием TEXTJOIN.
- Для повторяемых задач отдавайте предпочтение Power Query.
- Тестируйте формулы на граничных случаях (пустые ячейки, спецсимволы).
Спасибо за внимание — примените эти шаблоны в своих таблицах и адаптируйте разделитель и очистку данных под конкретную задачу.
Похожие материалы
Ошибка 30016-22 при установке Office — исправление
Удаление застрявших файлов в macOS
Как отправить селфи-стикер в Instagram
Настройка Office: создание и управление конфигурациями
Безопасное хранение паролей для разработчиков