Работа с данными в Microsoft Excel часто требует трансформации исходных таблиц — и одна из самых распространённых задач: разделение одного столбца на два. Например, когда в одной ячейке хранятся фамилия и имя через пробел, артикул и название товара через тире, или дата с временем в формате DD.MM.YYYY HH:MM. Без правильного разделения такие данные невозможно анализировать: сортировка сработает криво, сводные таблицы построятся некорректно, а формулы вернут ошибки.
В этой статье мы разберём 5 проверенных способов разделения столбца — от элементарных (подойдут новичкам) до продвинутых (для обработки тысяч строк). Вы узнаете, как использовать встроенные инструменты Excel, формулы и даже Power Query, а также научитесь избегать типичных ошибок. Все методы протестированы на версиях Excel 2013–2026 и Excel Online.
⚠️ Важно: перед разделением столбца всегда дублируйте исходные данные на отдельный лист. Некоторые методы (например, "Текст по столбцам") перезаписывают оригинальные ячейки без возможности отмены через Ctrl+Z после сохранения файла.
Способ 1: Инструмент "Текст по столбцам" — быстро и без формул
Это самый популярный метод среди пользователей Excel, потому что он не требует знания формул и работает даже с большими массивами данных. Инструмент Текст по столбцам умеет делить текст по фиксированной ширине (если символы всегда на одних и тех же позициях) или по разделителю (пробел, запятая, точка с запятой и т.д.).
Как это работает на практике:
- Выделите столбец, который нужно разделить.
- Перейдите на вкладку
Данные→Текст по столбцам. - Выберите формат данных:
С разделителями(если текст разделен символами) илиФиксированная ширина(если текст выровнен по колонкам). - Укажите разделитель (например, пробел, запятую или точку с запятой) или настройте границы столбцов вручную.
- Нажмите
Готово— Excel автоматически создаст новые столбцы с разделёнными данными.
✅ Плюсы метода:
- 🔹 Не требует знания формул.
- 🔹 Работает с любыми разделителями (даже с несколькими подряд).
- 🔹 Можно применить к выделенному диапазону или ко всему столбцу.
❌ Минусы:
- 🔸 Перезаписывает исходные данные (если не сделать копию).
- 🔸 Не подходит для динамически обновляемых таблиц (при изменении исходных данных придётся повторять процедуру).
Создайте резервную копию данных|Проверьте, есть ли пустые ячейки в столбце|Определите тип разделителя (пробел, запятая, табуляция)|Убедитесь, что справа достаточно свободных столбцов для результата-->
Способ 2: Формулы ТЕКСТ.РАЗД, ЛЕВСИМВ и ПРАВСИМВ — для гибкого разделения
Если вам нужно разделить столбец по конкретному символу (например, дефису или слэшу), но при этом сохранить возможность автоматического обновления данных, используйте формулы. Три ключевые функции:
=ТЕКСТ.РАЗД(ячейка; разделитель; номер_части)— делит текст по указанному символу и возвращает нужную часть.=ЛЕВСИМВ(ячейка; количество_символов)— извлекает заданное число символов слева.=ПРАВСИМВ(ячейка; количество_символов)— извлекает символы справа.
📌 Пример: Допустим, в ячейке A1 хранится текст "Иванов-Петр", и нужно разделить его на фамилию и имя. Формулы будут такими:
=ЛЕВСИМВ(A1; НАЙТИ("-"; A1)-1)
=ПРАВСИМВ(A1; ДЛСТР(A1)-НАЙТИ("-"; A1))
🔍 Нюанс: Если разделитель в тексте может повторяться (например, "Иванов-Петр-Сергеевич"), используйте ТЕКСТ.РАЗД с указанием номера части:
=ТЕКСТ.РАЗД(A1; "-"; 1)
=ТЕКСТ.РАЗД(A1; "-"; 2)
=ТЕКСТ.РАЗД(A1; "-"; 3)
Способ 3: Power Query — для обработки больших таблиц
Power Query (или Get & Transform в новых версиях Excel) — это инструмент для продвинутой обработки данных, который позволяет разделять столбцы без потери исходных данных и с возможностью обновления. Особенно удобен, если у вас:
- 📊 Десятки тысяч строк.
- 🔄 Данные регулярно обновляются (например, выгрузка из 1С или CRM).
- 🔧 Нужно применить несколько трансформаций подряд (разделение, замена текста, фильтрация).
🛠 Пошаговая инструкция:
- Выделите исходную таблицу и нажмите
Данные → Из таблицы/диапазона(в Excel 2016+). - В открывшемся редакторе Power Query выделите столбец, который нужно разделить.
- На вкладке
ПреобразованиевыберитеРазделить столбец → По разделителю. - Укажите разделитель (например, запятую или пробел) и нажмите
ОК. - После всех преобразований нажмите
Закрыть и загрузить— данные появятся на новом листе.
⚡ Преимущество: Если исходные данные изменятся, достаточно обновить запрос (
В Excel 2013 и старше Power Query может быть отключен. Чтобы включить: После перезапуска Excel инструмент появится на вкладке Данные → Обновить все), и разделение применится автоматически.
Что делать, если Power Query не виден в меню?
Файл → Параметры → Надстройки.Управление: Надстройки COM → Перейти.Microsoft Power Query for Excel и нажмите ОК.Данные.
Способ 4: Макрос VBA — автоматизация для повторяющихся задач
Если вам приходится разделять столбцы регулярно и по одним и тем же правилам, имеет смысл написать простой макрос на VBA. Например, следующий код разделит выделенный столбец по первому пробелу и запишет результаты в два новых столбца справа:
Sub SplitColumnBySpace()
Dim rng As Range
Dim cell As Range
Dim splitText() As String
' Выделяем первый столбец с данными
Set rng = Selection
' Проверяем, что выделен только один столбец
If rng.Columns.Count > 1 Then
MsgBox "Выделите только ОДИН столбец!", vbExclamation
Exit Sub
End If
' Добавляем два новых столбца справа
rng.Offset(0, 1).EntireColumn.Insert
rng.Offset(0, 2).EntireColumn.Insert
' Разделяем каждую ячейку по пробелу
For Each cell In rng
If Not IsEmpty(cell) Then
splitText = Split(cell.Value, " ")
cell.Offset(0, 1).Value = splitText(0) ' Первая часть
If UBound(splitText) > 0 Then
cell.Offset(0, 2).Value = splitText(1) ' Вторая часть
End If
End If
Next cell
End Sub
🔹 Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите столбец и запустите макрос (
Alt + F8→ выберитеSplitColumnBySpace→Выполнить).
⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). Если вы сохраните файл как .xlsx, код будет утерян.
Инструмент "Текст по столбцам"|Формулы (ТЕКСТ.РАЗД, ЛЕВСИМВ)|Power Query|Макросы VBA|Другой способ-->
Способ 5: Функция ФИЛЬТР.XML — для сложных разделителей
Мало кто знает, но в Excel есть функция ФИЛЬТР.XML, которая умеет извлекать данные по заданному шаблону. Это полезно, если текст в ячейке имеет сложную структуру с несколькими разделителями. Например, строка вида "Иванов И.П.; 1985; Москва".
📝 Пример: Разделим ФИО, год рождения и город из такой строки. Для этого:
- Создайте карту XML (можно в блокноте) с шаблоном:
<root><data>
<fio>Иванов И.П.</fio>
<year>1985</year>
<city>Москва</city>
</data>
</root>
- Сохраните файл как
template.xml. - В Excel импортируйте XML (
Данные → Получение данных → Из файла → Из XML) и свяжите с вашей таблицей. - Используйте функцию
=ФИЛЬТР.XML(ячейка; "template.xml#xpath"), гдеxpath— путь к нужному элементу (например,"//fio").
💡 Когда это актуально:
- 📌 Данные имеют строгую структуру с несколькими разделителями.
- 📌 Нужно извлечь только часть информации (например, только город).
- 📌 Работаете с XML/JSON-выгрузками (например, из API).
Сравнение методов: какой выбрать?
Чтобы вам было проще определиться, мы собрали ключевые характеристики каждого способа в таблице:
| Метод | Сложность | Подходит для больших данных | Сохраняет связь с исходными данными | Требует знания формул/кода |
|---|---|---|---|---|
Текст по столбцам |
⭐ | Да | Нет | Нет |
Формулы (ТЕКСТ.РАЗД, ЛЕВСИМВ) |
⭐⭐ | Да | Да | Да (базовые формулы) |
| Power Query | ⭐⭐⭐ | Да (оптимально) | Да | Нет (интуитивный интерфейс) |
| Макрос VBA | ⭐⭐⭐⭐ | Да | Да (при правильной настройке) | Да (знание VBA) |
ФИЛЬТР.XML |
⭐⭐⭐⭐⭐ | Да | Да | Да (знание XML/XPath) |
🔎 Совет: Если вы работаете с данными один раз, используйте Текст по столбцам. Если нужна динамическая таблица, которая будет обновляться — выбирайте Power Query или формулы. Для автоматизации рутинных задач подойдёт VBA.
Типичные ошибки и как их избежать
Даже в простой операции разделения столбца пользователи часто сталкиваются с проблемами. Вот самые распространённые из них — и как их решить:
🚨 Ошибка 1: Данные не разделяются или разделяются неправильно.
- 🔹 Причина: В качестве разделителя указан не тот символ. Например, в данных используется неразрывный пробел (код
Char(160)), а вы пытаетесь разделить по обычному пробелу (Char(32)). - 🔹 Решение: Используйте функцию
=КОДСИМВ(СИМВОЛ(позиция_в_тексте)), чтобы узнать код символа-разделителя. Или замените все пробелы на обычные через=ПОДСТАВИТЬ(ячейка; СИМВОЛ(160); " ").
🚨 Ошибка 2: После разделения появляются пустые ячейки.
- 🔹 Причина: В исходных данных есть строки, где разделитель отсутствует (например, только фамилия без имени).
- 🔹 Решение: Перед разделением проверьте данные на пустые значения или используйте формулу с проверкой:
=ЕСЛИОШИБКА(ТЕКСТ.РАЗД(A1; "-"; 1); A1)
🚨 Ошибка 3: Excel "завис" при разделении большого столбца.
- 🔹 Причина: Инструмент
Текст по столбцамили макрос VBA может тормозить при обработке десятков тысяч строк. - 🔹 Решение: Разбейте данные на части (например, по 10 000 строк) или используйте Power Query, который оптимизирован для больших объёмов.
⚠️ Внимание: Если в ваших данных используются кавычки (например, "Иванов, Петр"), инструмент Текст по столбцам может воспринять их как часть текста и разделить некорректно. В этом случае предварительно удалите кавычки через =ПОДСТАВИТЬ(ячейка; """"; "").
FAQ: Ответы на частые вопросы
Можно ли разделить столбец по нескольким разделителям одновременно?
Да, но не всеми методами:
- 🔹
Текст по столбцам: можно указать несколько разделителей подряд (например, " ,;-"). - 🔹 Формулы: используйте вложенные
ПОДСТАВИТЬ, чтобы заменить все разделители на один, а затем применитеТЕКСТ.РАЗД. - 🔹 Power Query: поддерживает разделение по нескольким символам в одном шаге.
Как разделить столбец, если разделитель — это перенос строки (Alt+Enter)?
Перенос строки в ячейке Excel обозначается символом Char(10). Чтобы разделить по нему:
- Используйте формулу:
=ТЕКСТ.РАЗД(ПОДСТАВИТЬ(A1; СИМВОЛ(10); "|"); "|"; 1)(замените "|" на любой редкий символ). - Или примените
Текст по столбцам, выбрав в качестве разделителя другое → знак абзаца.
Почему после разделения даты превращаются в текст?
Инструмент Текст по столбцам по умолчанию преобразует даты в текстовый формат. Чтобы исправить:
- Выделите полученные столбцы с датами.
- Нажмите
Ctrl + 1(или правая кнопка →Формат ячеек). - Выберите формат
Датаи укажите нужный вид (например,14.03.2026).
Если даты всё равно не распознаются, используйте формулу =ДАТАЗНАЧ(ячейка) для преобразования текста в дату.
Можно ли разделить столбец в Google Таблицах?
Да, в Google Sheets есть аналогичные инструменты:
- 🔹
Данные → Разделить текст на столбцы(аналогТекст по столбцам). - 🔹 Функции
=SPLIT(аналогТЕКСТ.РАЗД),=LEFT/=RIGHT(аналогиЛЕВСИМВ/ПРАВСИМВ). - 🔹 Apps Script (аналог VBA) для автоматизации.
📌 Нюанс: В Google Sheets нет Power Query, но есть QUERY — мощная функция для обработки данных.
Как объединить два столбца обратно в один?
Используйте один из методов:
- 🔹 Формула:
=A1 & " " & B1(где" "— разделитель). - 🔹 Инструмент "Объединить и центрировать": выделите ячейки →
Главная → Объединить и центрировать(но это удалит данные из правой ячейки!). - 🔹 Power Query: выберите столбцы →
Преобразование → Объединить столбцы.