Как разъединить колонки в Excel: от простого к сложному

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

К счастью, в Excel есть несколько встроенных инструментов для этой задачи: от простого мастера текстов до продвинутых функций вроде Power Query или VBA-макросов. Выбор метода зависит от структуры ваших данных, версии программы и уровня ваших навыков. В этой статье мы разберём все актуальные способы — от базовых до профессиональных, — а также расскажем, как избежать типичных ошибок при разделении колонок.

Если вы никогда не сталкивались с этой задачей, начните с первого раздела — там описан самый простой метод, который работает во всех версиях Excel (включая Excel 2010 и Excel 365). Опытные пользователи могут сразу перейти к разделам про формулы или Power Query, где рассматриваются более гибкие подходы.

Прежде чем приступать, убедитесь, что ваши данные имеют чёткую структуру. Например, если вы разделяете ФИО, проверьте, что во всех ячейках используется одинаковый разделитель (пробел, запятая, точка с запятой). В противном случае результат может оказаться некорректным.

📊 Какой версией Excel вы пользуетесь?
Excel 2010-2016
Excel 2019
Excel 365 (онлайн/десктоп)
LibreOffice Calc
Другой

1. Разделение текста по столбцам с помощью мастера (самый простой способ)

Этот метод подходит для большинства пользователей, так как не требует знания формул или макросов. Инструмент "Текст по столбцам" автоматически распознаёт разделители (пробелы, запятые, табуляции) и разбивает данные по отдельным ячейкам.

Чтобы воспользоваться мастером:

  1. Выделите столбец с данными, которые нужно разъединить.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. В открывшемся окне выберите формат данных: С разделителями (если значения разделены запятыми, точками с запятой и т.д.) или Фиксированная ширина (если текст разбит по символам без явных разделителей).
  4. На следующем шаге укажите разделитель (например, Пробел, Запятая или Другой для пользовательского символа).
  5. При необходимости измените формат данных для новых столбцов (например, с Текстового на Дата).
  6. Нажмите Готово — данные будут разделены.

⚠️ Внимание: Если в исходных данных используются разные разделители (например, где-то запятая, а где-то точка с запятой), мастер может работать некорректно. В этом случае предварительно замените все разделители на один символ с помощью функции ЗАМЕНИТЬ или инструмента Найти и заменить (Ctrl + H).

Пример: если у вас есть ячейка с текстом "Иванов; Иван; Иванович", а в других строках используется запятая ("Петров, Пётр, Петрович"), сначала замените все ; на ,, а затем запустите мастер.

Выделите весь столбец с данными|Проверьте единообразие разделителей|Сохраните резервную копию файла|Убедитесь, что справа достаточно пустых столбцов-->

2. Разделение с помощью формул (для гибкости и автоматизации)

Если вам нужно разделить данные динамически (чтобы при изменении исходных значений автоматически обновлялись и разделенные), используйте формулы. Этот метод полезен, когда данные часто обновляются или когда мастер текста не справляется с задачей.

Основные функции для разделения:

  • 🔹 ЛЕВСИМВ, ПРАВСИМВ, ПСТР — для извлечения подстрок по позиции.
  • 🔹 НАЙТИ, ПОИСК — для определения позиции разделителя.
  • 🔹 РАЗДЕЛИТЬExcel 365) — автоматически разбивает текст по разделителю.
  • 🔹 ТЕКСТ.ПОСЛЕ, ТЕКСТ.ДО (в новых версиях) — извлекают текст до/после указанного символа.

Пример: разделим ФИО "Иванов Иван Иванович" на три столбца (фамилию, имя, отчество). Предположим, что данные находятся в ячейке A1:

=ЛЕВСИМВ(A1; НАЙТИ(" "; A1) - 1)  

=ПСТР(A1; НАЙТИ(" "; A1) + 1; НАЙТИ(" "; A1; НАЙТИ(" "; A1) + 1) - НАЙТИ(" "; A1) - 1)

=ПРАВСИМВ(A1; ДЛСТР(A1) - НАЙТИ(" "; A1; НАЙТИ(" "; A1) + 1))

В Excel 365 задача упрощается благодаря функции РАЗДЕЛИТЬ:

=РАЗДЕЛИТЬ(A1; " ")
Эта функция автоматически создаёт динамический массив, который "проливается" на соседние ячейки справа.
=РАЗДЕЛИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1; ";"; " "); ","; " "); " ")

-->

3. Разделение с помощью Power Query (для больших объёмов данных)

Power Query — это мощный инструмент для обработки данных, доступный в Excel 2016 и новее (а также в Excel 365 как Получить данные). Он позволяет разделять столбцы по разделителям, позициям или даже с использованием регулярных выражений.

Инструкция по разделению через Power Query:

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

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

  • 🔹 Обрабатывает миллионы строк без замедления.
  • 🔹 Сохраняет шаги преобразования — при обновлении исходных данных результат пересчитывается автоматически.
  • 🔹 Поддерживает сложные сценарии (например, разделение по нескольким символам или с использованием регулярных выражений).

⚠️ Внимание: Если ваши данные содержат много пустых ячеек или нестандартные разделители (например, несколько пробелов подряд), перед разделением очистите их с помощью функции ТРИМ или инструмента Заменить.

Как разделить столбец по нескольким разделителям в Power Query?

В редакторе Power Query выделите столбец → Разделить столбец → По разделителю → выберите Несколько разделителей → введите символы через запятую (например, ,;|).

4. Разделение с помощью VBA-макросов (для автоматизации)

Если вам часто приходится разделять данные по одним и тем же правилам, имеет смысл написать VBA-макрос. Это сэкономит время и исключит рутинные действия. Ниже приведён пример макроса, который разбивает текст в выделенном столбце по запятой и вставляет результат справа.

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

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте новый модуль: Вставка → Модуль.
  3. Скопируйте код ниже и вставьте его в окно модуля.
  4. Вернитесь в Excel, выделите столбец с данными и запустите макрос (Alt + F8 → выберите SplitColumnByCommaВыполнить).
Sub SplitColumnByComma()

Dim rng As Range

Dim cell As Range

Dim arr() As String

Dim i As Integer

' Проверяем, выделен ли диапазон

On Error Resume Next

Set rng = Selection

On Error GoTo 0

If rng Is Nothing Then

MsgBox "Выделите столбец с данными!", vbExclamation

Exit Sub

End If

' Отключаем обновление экрана для ускорения

Application.ScreenUpdating = False

' Проходим по каждой ячейке в выделенном диапазоне

For Each cell In rng

If Not IsEmpty(cell.Value) Then

' Разбиваем текст по запятой

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

' Записываем результаты в соседние ячейки справа

For i = LBound(arr) To UBound(arr)

cell.Offset(0, i + 1).Value = Trim(arr(i))

Next i

End If

Next cell

Application.ScreenUpdating = True

MsgBox "Столбец успешно разделён!", vbInformation

End Sub

Чтобы адаптировать макрос под другие разделители, замените запятую (",") в строке arr = Split(cell.Value, ",") на нужный символ (например, " " для пробела или ";" для точки с запятой).

⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не будет работать. Также убедитесь, что в настройках безопасности Excel разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов).

5. Разделение даты и времени на отдельные столбцы

Часто в Excel дата и время хранятся в одной ячейке (например, 15.05.2026 14:30). Чтобы разделить их, можно использовать как мастер текста, так и формулы.

Способы разделения:

Метод Пример Преимущества
Мастер текста Выделите столбец → Данные → Текст по столбцам → выберите Пробел как разделитель. Быстро, не требует формул.
Функция ДЕНЬ/МЕСЯЦ/ГОД
=ДЕНЬ(A1)

=МЕСЯЦ(A1)

=ГОД(A1)

Точное извлечение компонентов даты.
Функция ТЕКСТ
=ТЕКСТ(A1; "дд.мм.гггг")

=ТЕКСТ(A1; "чч:мм:сс")

Гибкое форматирование.
Функция ЦЕЛОЕ и ОСТАТ
=ЦЕЛОЕ(A1)  

=A1-ЦЕЛОЕ(A1)

Работает с числовыми форматами даты.

Если дата и время хранятся как текст (например, после импорта из CSV), сначала преобразуйте их в формат даты/времени с помощью функции ДАТАЗНАЧ:

=ДАТАЗНАЧ(ЛЕВСИМВ(A1; 10)) + ВРЕМЗНАЧ(ПРАВСИМВ(A1; 5))

6. Типичные ошибки и как их избежать

При разделении колонок пользователи часто сталкиваются с проблемами, которые ведут к потере данных или некорректным результатам. Вот самые распространённые ошибки и способы их решения:

Проблема 1: Данные в исходном столбце заменяются на даты (например, 01.05 превращается в 1 мая).

Решение: Перед разделением отформатируйте столбец как Текстовый (Главная → Формат → Формат ячеек → Текстовый).

Проблема 2: После разделения часть данных пропадает (например, отчества или вторые фамилии).

Решение: Проверьте, не обрезаются ли данные из-за ограничения на количество столбцов. Увеличьте число столбцов в результате или используйте Power Query, который поддерживает динамическое количество столбцов.

Проблема 3: Разделитель не распознаётся (например, табуляция или неразрывный пробел).

Решение: Замените нестандартные разделители на обычные с помощью ЗАМЕНИТЬ или ПОДСТАВИТЬ:

=ЗАМЕНИТЬ(A1; СИМВОЛ(160); " ")  

Проблема 4: При использовании формул появляется ошибка #ЗНАЧ!.

Решение: Проверьте, что все ячейки в столбце содержат текст. Если есть пустые ячейки, добавьте проверку с помощью ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ЛЕВСИМВ(A1; 5); "")

7. Альтернативные инструменты для разделения данных

Если встроенные средства Excel не справляются с задачей, можно воспользоваться сторонними инструментами или онлайн-сервисами. Это актуально для нестандартных форматов данных или когда нужно обработать файлы объёмом более 1 млн строк.

Популярные альтернативы:

  • 🔹 Google Sheets — функция SPLIT работает аналогично РАЗДЕЛИТЬ в Excel 365, но поддерживает регулярные выражения.
  • 🔹 OpenRefine — бесплатное ПО для очистки и преобразования данных (поддерживает сложные правила разделения).
  • 🔹 Notepad++ с плагином TextFX — подходит для предварительной обработки больших текстовых файлов.
  • 🔹 Онлайн-сервисы вроде ConvertCSV или Table Convert — позволяют разделять данные без установки ПО.

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

=SPLIT(A1; " ")  

=SPLIT(A1; ","; TRUE)

⚠️ Внимание: При работе с онлайн-сервисами убедитесь, что ваши данные не содержат конфиденциальной информации. Многие сервисы сохраняют загруженные файлы на своих серверах.

FAQ: Частые вопросы о разделении колонок в Excel

Можно ли разделить столбец по нескольким разделителям одновременно?

Да. В Power Query выберите опцию Несколько разделителей и укажите символы через запятую (например, ,;|). В формулах комбинируйте ЗАМЕНИТЬ с РАЗДЕЛИТЬ:

=РАЗДЕЛИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1; ";"; ","); "|"; ","); ",")
Как разделить текст, если разделитель — это пробел, но их количество разное?

Используйте функцию ПСТР с НАЙТИ для динамического определения позиций. Например, чтобы извлечь второе слово из ячейки A1:

=ПСТР(A1; НАЙТИ(" "; A1) + 1; НАЙТИ(" "; A1; НАЙТИ(" "; A1) + 1) - НАЙТИ(" "; A1) - 1)

В Excel 365 проще использовать ТЕКСТ.РАЗДЕЛИТЬ с указанием разделителя и номера элемента.

Почему после разделения часть данных отображается как ########?

Это означает, что ширина столбца недостаточна для отображения данных. Растяните столбец вручную или используйте автоподбор ширины (Главная → Формат → Автоподбор ширины столбца). Также проверьте формат ячеек — возможно, даты или числа отображаются некорректно.

Как разделить столбец, если разделитель — это перенос строки (Alt+Enter)?

В Excel перенос строки обозначается символом CHAR(10). Используйте мастер текста с пользовательским разделителем:

  1. Выделите столбец → Данные → Текст по столбцам.
  2. Выберите С разделителямиДругой.
  3. В поле введите Ctrl+J (это вставит символ переноса строки).
  4. Завершите мастер.

В формулах используйте РАЗДЕЛИТЬ с CHAR(10):

=РАЗДЕЛИТЬ(A1; СИМВОЛ(10))
Можно ли автоматизировать разделение для новых данных?

Да. Создайте таблицу Excel (Ctrl + T), затем:

  • Используйте Power Query — он обновляет данные при изменении источника.
  • Напишите VBA-макрос и назначьте его на кнопку или событие (например, при открытии файла).
  • В Excel 365 используйте динамические массивы с РАЗДЕЛИТЬ — они обновляются автоматически.