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

Почему разделение текста по столбцам — ключевая задача в Excel

Работа с данными в Microsoft Excel часто начинается с хаоса: имена и фамилии склеены в одну колонку, адреса записаны строчкой, а номера телефонов перемешаны с почтовыми индексами. Разделение текста по столбцам — это не просто косметическая операция, а основа для дальнейшего анализа. Без правильной структуры невозможно отсортировать клиентов по городам, отфильтровать заказы по датам или построить сводную таблицу по категориям товаров.

В этой статье мы разберём 7 способов разделения текста — от элементарного инструмента Текст по столбцам до автоматизации через Power Query и формулы. Вы узнаете, как справиться с нестандартными разделителями (например, "Иванов И.И.; Петров П.П."), почему иногда Excel неправильно распознаёт даты, и как избежать ошибок при работе с большими массивами данных. Особое внимание уделим скрытым символам (неразрывные пробелы, табуляции), которые ломают стандартные методы.

Важно: все инструкции актуальны для Excel 2010–2023 и Office 365. Если вы используете Google Таблицы, majority методов также применимы с минимальными адаптациями.

Метод 1: Инструмент "Текст по столбцам" — базовый способ

Самый популярный метод среди новичков — встроенный мастер Текст по столбцам. Он справится с 80% задач, если данные имеют чёткий разделитель (запятая, точка с запятой, пробел). Рассмотрим пошагово:

  1. Выделите столбец с данными, которые нужно разделить (например, колонку A с текстом "Иванов;Москва;+79123456789").
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите С разделителями (если текст разделен символами) или Фиксированная ширина (если данные выровнены по столбцам визуально).
  4. На втором шаге укажите разделитель: Табуляция, Точка с запятой, Запятая, Пробел или Другой (для нестандартных символов вроде "|" или "/").
  5. На третьем шаге выберите формат данных для каждого нового столбца (Общий, Текстовый, Дата).
  6. Нажмите Готово.

⚠️ Внимание: Если после разделения в ячейках появляются знаки #ЗНАЧ! или даты отображаются как числа (например, 44197 вместо "01.01.2021"), вернитесь на шаг 3 мастера и поменяйте формат столбца на Текстовый.

Удалите лишние пробелы в начале/конце ячеек (функция TRIM)

Замените двойные разделители на одинарные (например, ";;" → ";")

Проверьте, нет ли в данных переносов строк (CHAR(10))

Сохраните копию исходных данных на другом листе

-->

Метод 2: Разделение по фиксированной ширине — для неструктурированных данных

Когда данные не имеют явного разделителя, но визуально выровнены по "столбикам" (например, лог-файлы или экспорт из старых систем), поможет вариант Фиксированная ширина. Пример:


ИвановИван Москва 123456

ПетровПетр Санкт-Петербург 654321

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

  1. Выделите столбец с данными.
  2. Запустите Текст по столбцам → выберите Фиксированная ширина.
  3. На экране предварительного просмотра кликните мышью в местах, где должны быть границы столбцов (появится вертикальная линия). Чтобы удалить линию, дважды кликните по ней.
  4. Настройте формат данных для каждого нового столбца.

💡 Полезный совет: Если данные содержат пробелы разной длины (например, между именем и фамилией то 1 пробел, то 3), предварительно замените все пробелы на один символ (например, "|") с помощью функции SUBSTITUTE, а затем используйте метод с разделителем.

Что делать, если мастер "Текст по столбцам" не виден?

Если в вашей версии Excel отсутствует кнопка Текст по столбцам, проверьте:

1. У вас не установлен Excel Starter (урезанная версия).

2. Вы не работаете в режиме совместимости с Excel 97–2003 (пересохраните файл в формате .xlsx).

3. Вкладка Данные не скрыта настройками ленты (правый клик по ленте → Настройка ленты).

Метод 3: Формулы для разделения текста — гибкость и автоматизация

Когда данные обновляются регулярно или требуется динамическое разделение, формулы становятся незаменимы. Рассмотрим ключевые функции:

Задача Формула Пример
Разделить по первому пробелу =ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1) Из "Иванов Иван" → "Иванов"
Извлечь текст после разделителя =ПСТР(A1;НАЙТИ(";";A1)+1;30) Из "Москва;ул. Ленина" → "ул. Ленина"
Разделить по последнему пробелу =ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК("~";ПОДСТАВИТЬ(A1;" ";"~";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))))) Из "Иванов Иван Иванович" → "Иванович"
Разделить по нескольким разделителям =ТЕКСТПОСЛЕ(A1;{";";",";"|"};1)Excel 365) Из "Иванов; Москва, ул. Ленина" → "Москва"

⚠️ Внимание: Формулы ТЕКСТДО/ТЕКСТПОСЛЕ (англ. TEXTBEFORE/TEXTAFTER) появились только в Excel 365. Для старых версий используйте комбинации ЛЕВСИМВ/ПРАВСИМВ с НАЙТИ.

Пример динамического разделения имени и фамилии (работает в Excel 2019+):


=ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1)-1) // Фамилия

=ПСТР(A1;НАЙТИ(" ";A1;1)+1;30) // Имя

=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ("~";ПОДСТАВИТЬ(A1;" ";"~";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))))-1) // Отчество

Инструмент "Текст по столбцам"

Формулы (ЛЕВСИМВ, ПРАВСИМВ и др.)

Power Query

Макросы VBA

Другой способ

-->

Метод 4: Power Query — для больших объёмов данных

Power QueryExcel 2016+ называется Получить данные) — это инструмент для продвинутых пользователей, который позволяет обрабатывать миллионы строк без формул. Преимущества:

  • 🔄 Не разрушает исходные данные — все преобразования сохраняются в отдельном запросе.
  • 📊 Поддерживает сложные разделители (регулярные выражения, несколько символов подряд).
  • 🔗 Автоматически обновляется при изменении источника.

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

  1. Выделите диапазон с данными → вкладка ДанныеИз таблицы/диапазонаExcel 2016–2019 или Получить данные → Из таблицы/диапазона в Excel 365).
  2. В открывшемся редакторе Power Query выделите столбец → вкладка ПреобразоватьРазделить столбец → По разделителю.
  3. Выберите разделитель (например, Запятая или Несколько разделителей для комбинаций).
  4. Нажмите Закрыть и загрузить — данные появятся на новом листе.

💡 Скрытая возможность: В Power Query можно разделить текст по регулярным выражениям. Например, чтобы разбить строку "ИвановИ.И." на "Иванов", "И", "И", используйте разделитель с шаблоном [A-ZА-Я]\. (буква + точка).

Метод 5: VBA-макросы — для повторяющихся задач

Если вам приходится делить текст по одному и тому же правилу еженедельно, автоматизируйте процесс с помощью VBA. Пример макроса для разделения текста по последней точке:


Sub SplitByLastDot()

Dim rng As Range

Dim cell As Range

Dim lastDot As Integer

Dim arr() As String

Set rng = Selection ' Выделенный диапазон

For Each cell In rng

lastDot = InStrRev(cell.Value, ".")

If lastDot > 0 Then

arr = Split(cell.Value, ".")

cell.Offset(0, 1).Value = arr(UBound(arr)) ' Часть после последней точки

cell.Value = Left(cell.Value, lastDot - 1) ' Часть до последней точки

End If

Next cell

End Sub

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

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

⚠️ Внимание: Макросы отключают автоматическое сохранение (Автосохранение в Office 365). Перед запуском сохраните файл в формате .xlsm (с поддержкой макросов).

Метод 6: Разделение текста с нестандартными разделителями

Часто данные содержат неочевидные разделители: несколько пробелов подряд, неразрывные пробелы (CHAR(160)), символы табуляции (CHAR(9)) или даже комбинации из ";;". Стандартный инструмент Текст по столбцам с такими случаями не справится. Решения:

  • 🔍 Найдите скрытые символы: Используйте функцию =КОДСИМВ(СИМВОЛ(1;A1)), чтобы определить код первого символа в ячейке. Например, CHAR(160) — это неразрывный пробел.
  • 🔄 Замените разделители: Приведите данные к единому виду с помощью ПОДСТАВИТЬ:
    =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);";");"  ";" ")  // Замена неразрывных пробелов и двойных пробелов
  • 📏 Используйте фиксированную ширину: Если разделители не поддаются стандартизации, разделите данные визуально (см. Метод 2).

Пример: разделение строки "Иванов;;;Петр;;;Сергеевич" (с несколькими разделителями подряд):


=ТРИМ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;";;;";";");";;";";");"; ";";"))

Эта формула последовательно заменяет тройные, двойные и одинарные разделители на один символ ";", а затем удаляет лишние пробелы.

Метод 7: Разделение текста в Google Таблицах

В Google Таблицах алгоритм похож на Excel, но есть нюансы:

  1. Выделите данные → Данные → Разделить текст на столбцы.
  2. Выберите разделитель: Запятая, Пробел, Табуляция или Пользовательский (например, "|").
  3. Отметьте галочку Разделить по каждому символу, если нужно разбить текст по буквам (например, "ABC" → "A", "B", "C").

💡 Отличие от Excel: В Google Таблицах нет опции Фиксированная ширина, но можно использовать формулы:

  • 🔢 =SPLIT(A1; " ") — разделяет текст по пробелу (результат в несколько столбцов).
  • 🔢 =ARRAYFORMULA(IFERROR(SPLIT(A1:A10; ","))) — применяет разделение ко всему диапазону.

⚠️ Внимание: В Google Таблицах функция SPLIT автоматически удаляет пустые ячейки. Если вам нужны пустые значения (например, при разделении "Иванов,,Петр"), используйте комбинацию с REGEXEXTRACT.

Частые ошибки и как их избежать

Даже опытные пользователи сталкиваются с проблемами при разделении текста. Рассмотрим топ-5 ошибок и решения:

Ошибка Причина Решение
Дата отображается как число (например, 44197) Excel распознаёт дату как формат Общий В мастере Текст по столбцам на 3-м шаге выберите формат Дата и укажите образец (ДМГ или МДГ)
Текст "размазан" по нескольким столбцам В данных есть символы табуляции (CHAR(9)) Замените табуляции на другой разделитель: =ПОДСТАВИТЬ(A1;СИМВОЛ(9);";")
Появляется ошибка #ЗНАЧ! в формулах Формула ищет разделитель, которого нет в ячейке Добавьте проверку на ошибку: =ЕСЛИОШИБКА(ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1);A1)
После разделения пропадают ведущие нули (например, "00123" → "123") Excel интерпретирует числа с ведущими нулями как числовые значения Перед разделением отформатируйте столбец как Текстовый или используйте апостроф ('00123)
Макрос работает некорректно В данных есть переносы строк (CHAR(10)) Очистите данные от переносов: =ПОДСТАВИТЬ(A1;СИМВОЛ(10);" ")

🔹 Полезный лайфхак: Если после разделения данные "съехали" (например, фамилии попали в столбец с телефонами), проверьте исходный файл на наличие невидимых символов. Вставьте данные в Блокнот — он отображает все служебные символы как квадратики.

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

Можно ли разделить текст по нескольким разделителям одновременно (например, по запятой И точке с запятой)?

Да, есть три способа:

  1. В Power Query: Выберите опцию Несколько разделителей и укажите все нужные символы.
  2. Через формулы (Excel 365): Используйте =ТЕКСТРАЗД(A1;{";";","}) — вернёт массив разделенных значений.
  3. Через замену: Предварительно замените все разделители на один символ (например, "|") с помощью ПОДСТАВИТЬ, а затем разделите по нему.
Как разделить текст, если разделитель — это сочетание символов (например, "->")?

Используйте один из методов:

  • 📌 В Power Query: В окне разделения выберите Пользовательский разделитель и введите "->".
  • 📌 Через формулы:
    =ЛЕВСИМВ(A1;НАЙТИ("->";A1)-1)  // Часть до "->"
    

    =ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ("->";A1)-1) // Часть после "->"

Почему после разделения в некоторых ячейках появляются знаки "#Н/Д"?

Это происходит, если:

  1. В исходных данных есть пустые ячейки, а формула не обрабатывает такой случай. Добавьте проверку: =ЕСЛИ(A1="";"";ЛЕВСИМВ(A1;5)).
  2. Формула ищет разделитель, которого нет в тексте. Используйте ЕСЛИОШИБКА.
  3. В настройках Текст по столбцам указан неверный формат данных (например, Дата вместо Текст).
Как разделить текст на слова по пробелам, но сохранить двойные фамилии (например, "Иванов-Петров")?

Используйте Power Query с разделителем [ -] (пробел или дефис) или формулу с проверкой:


=ЕСЛИ(

НАЙТИ("-";A1)>0;

ТЕКСТПОСЛЕ(A1;"-");

ТЕКСТПОСЛЕ(A1;" ")

)

Для Excel 2019 и старше подойдёт комбинация ТЕКСТДО/ТЕКСТПОСЛЕ с учетом дефиса.

Можно ли автоматически разделить текст при импорте из CSV?

Да, при импорте CSV-файла:

  1. Используйте Получить данные → Из файла → Из текстового/CSVExcel 365).
  2. В окне предварительного просмотра выберите нужный разделитель (запятая, точка с запятой и др.).
  3. Нажмите Преобразовать данные, чтобы открыть Power Query и точнее настроить разделение.

Если CSV открывается "криво" (всё в одном столбце), проверьте кодировку файла (должна быть UTF-8) и разделитель (в Европе часто используется ";", а не ",").