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

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

В этой статье мы разберём 5 проверенных способов разделения столбца — от элементарных (подойдут новичкам) до продвинутых (для обработки тысяч строк). Вы узнаете, как использовать встроенные инструменты Excel, формулы и даже Power Query, а также научитесь избегать типичных ошибок. Все методы протестированы на версиях Excel 2013–2026 и Excel Online.

⚠️ Важно: перед разделением столбца всегда дублируйте исходные данные на отдельный лист. Некоторые методы (например, "Текст по столбцам") перезаписывают оригинальные ячейки без возможности отмены через Ctrl+Z после сохранения файла.

Способ 1: Инструмент "Текст по столбцам" — быстро и без формул

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

Как это работает на практике:

  1. Выделите столбец, который нужно разделить.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите формат данных: С разделителями (если текст разделен символами) или Фиксированная ширина (если текст выровнен по колонкам).
  4. Укажите разделитель (например, пробел, запятую или точку с запятой) или настройте границы столбцов вручную.
  5. Нажмите Готово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).
  • 🔧 Нужно применить несколько трансформаций подряд (разделение, замена текста, фильтрация).

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

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

Преимущество: Если исходные данные изменятся, достаточно обновить запрос (Данные → Обновить все), и разделение применится автоматически.

Что делать, если Power Query не виден в меню?

В Excel 2013 и старше Power Query может быть отключен. Чтобы включить:

  1. Перейдите в Файл → Параметры → Надстройки.
  2. Внизу выберите Управление: Надстройки COMПерейти.
  3. Отметьте Microsoft Power Query for Excel и нажмите ОК.

После перезапуска 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

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

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

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). Если вы сохраните файл как .xlsx, код будет утерян.

Инструмент "Текст по столбцам"|Формулы (ТЕКСТ.РАЗД, ЛЕВСИМВ)|Power Query|Макросы VBA|Другой способ-->

Способ 5: Функция ФИЛЬТР.XML — для сложных разделителей

Мало кто знает, но в Excel есть функция ФИЛЬТР.XML, которая умеет извлекать данные по заданному шаблону. Это полезно, если текст в ячейке имеет сложную структуру с несколькими разделителями. Например, строка вида "Иванов И.П.; 1985; Москва".

📝 Пример: Разделим ФИО, год рождения и город из такой строки. Для этого:

  1. Создайте карту XML (можно в блокноте) с шаблоном:
    <root>
    

    <data>

    <fio>Иванов И.П.</fio>

    <year>1985</year>

    <city>Москва</city>

    </data>

    </root>

  2. Сохраните файл как template.xml.
  3. В Excel импортируйте XML (Данные → Получение данных → Из файла → Из XML) и свяжите с вашей таблицей.
  4. Используйте функцию =ФИЛЬТР.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). Чтобы разделить по нему:

  1. Используйте формулу: =ТЕКСТ.РАЗД(ПОДСТАВИТЬ(A1; СИМВОЛ(10); "|"); "|"; 1) (замените "|" на любой редкий символ).
  2. Или примените Текст по столбцам, выбрав в качестве разделителя другоезнак абзаца.
Почему после разделения даты превращаются в текст?

Инструмент Текст по столбцам по умолчанию преобразует даты в текстовый формат. Чтобы исправить:

  1. Выделите полученные столбцы с датами.
  2. Нажмите Ctrl + 1 (или правая кнопка → Формат ячеек).
  3. Выберите формат Дата и укажите нужный вид (например, 14.03.2026).

Если даты всё равно не распознаются, используйте формулу =ДАТАЗНАЧ(ячейка) для преобразования текста в дату.

Можно ли разделить столбец в Google Таблицах?

Да, в Google Sheets есть аналогичные инструменты:

  • 🔹 Данные → Разделить текст на столбцы (аналог Текст по столбцам).
  • 🔹 Функции =SPLIT (аналог ТЕКСТ.РАЗД), =LEFT/=RIGHT (аналоги ЛЕВСИМВ/ПРАВСИМВ).
  • 🔹 Apps Script (аналог VBA) для автоматизации.

📌 Нюанс: В Google Sheets нет Power Query, но есть QUERY — мощная функция для обработки данных.

Как объединить два столбца обратно в один?

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

  • 🔹 Формула: =A1 & " " & B1 (где " " — разделитель).
  • 🔹 Инструмент "Объединить и центрировать": выделите ячейки → Главная → Объединить и центрировать (но это удалит данные из правой ячейки!).
  • 🔹 Power Query: выберите столбцы → Преобразование → Объединить столбцы.