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

Если в вашем файле Excel данные хранятся в одном столбце через запятую, пробел или другой разделитель (например, "Иванов Иван, Москва, ул. Ленина, 15"), а вам нужно перенести часть информации в отдельную колонку — задача решается за 2-5 минут. Ошибка многих пользователей — попытка вручную копировать и вставлять каждую ячейку, что занимает часы и чревато опечатками. На самом деле в Excel есть 7 встроенных инструментов для такого разбиения, и мы разберём каждый с примерами на реальных данных.

Проблема актуальна для 90% офисных задач: от разбора баз клиентов до обработки выгрузок из 1С или CRM. Например, когда ФИО, адрес и телефон слиты в одну колонку, а для анализа нужны отдельные поля. Или когда дата и время записаны вместе, а требуется разделить их для построения графиков. Даже если вы никогда не работали с формулами, способы №1–3 не потребуют знаний — только клики мышкой.

Важно: метод разбиения зависит от структуры данных. Если разделитель одинаковый (запятая, точка с запятой, пробел), подойдёт инструмент Текст по столбцам. Если данные не имеют чёткого разделителя (например, "ИвановИван55" вместо "Иванов Иван, 55 лет"), потребуются формулы с ПСТР или регулярные выражения. Ниже — пошаговые инструкции для всех случаев, включая автоматизацию через Power Query и VBA.

1. Разбиение по разделителю: инструмент "Текст по столбцам"

Самый быстрый способ — если данные в ячейке разделены однотипным символом: запятой, точкой с запятой, пробелом, тире или табуляцией. Например, "Смирнов;Пётр;Менеджер" или "12345, Москва, Тверская, 20". Инструмент Текст по столбцам справится за 3 клика:

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

  1. Выделите столбец с данными (например, колонку A).
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. В первом окне выберите С разделителямиДалее.
  4. Укажите разделитель (галочками отметьте Табуляция, Запятая, Пробел или другой символ). Для нестандартных разделителей (например, | или ;) выберите Другой и введите его в поле.
  5. Нажмите Готово — данные разделятся на соседние столбцы.

⚠️ Внимание: Если в ячейке несколько подряд идущих разделителей (например, "Иванов,,Петров"), Excel создаст пустые столбцы. Чтобы избежать этого, снимите галочку Считать последовательные разделители одним в окне выбора разделителей.

Пример работы:

Исходные данные (столбец A)Результат (столбец B)Результат (столбец C)
Иванов;Петр;35ИвановПетр
Смирнова;Анастасия;28СмирноваАнастасия
Кузнецов-Сидоров;Алексей;42Кузнецов-СидоровАлексей

Если после разбиения данные "съехали" (например, фамилии попали в один столбец, а имена — в другой), проверьте:

  • 🔹 Тип разделителя: возможно, в данных использовался не пробел, а неразрывный пробел (Alt+0160).
  • 🔹 Лишние символы: иногда перед разделителем стоит невидимый знак (например, CHAR(160)). Используйте функцию =ЧИСТ(А1), чтобы удалить их.
  • 🔹 Формат ячеек: если данные были в формате Текст, а нужно Общий, измените формат перед разбиением.

2. Разбиение по фиксированной ширине

Если данные в ячейке не имеют разделителей, но имеют постоянную структуру (например, "1234567890ИвановИ" — где первые 10 символов — телефон, следующие 7 — фамилия), используйте разбиение по фиксированной ширине. Этот метод подходит для:

  • 📄 Номеров документов с серией (например, "4509 123456" → разделить на серию и номер).
  • 📄 Кодов товаров (например, "ABC12345DEF" → разделить на префикс и номер).
  • 📄 Даты и времени в формате "202605151430" (15 мая 2026, 14:30).

Инструкция:

  1. Выделите столбец с данными.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите Фиксированная ширинаДалее.
  4. В окне предварительного просмотра кликните мышкой в том месте, где нужно разделить данные (появится вертикальная линия). Например, для "79123456789Иванов" поставьте разделитель после 11-го символа.
  5. Нажмите ДалееГотово.

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

Пример:

Исходные данные (A)Телефон (B)Фамилия (C)
79123456789Иванов79123456789Иванов
79219876543Петрова79219876543Петрова

1. Проверьте, что все ячейки имеют одинаковую длину символов.

2. Удалите лишние пробелы функцией =СЖПРОБЕЛЫ(А1).

3. Преобразуйте текст в верхний/нижний регистр, если нужно (=ПРОПИСН(А1)).

4. Создайте резервную копию данных (Ctrl+CВставить как значения).

-->

3. Разбиение с помощью функции "Флеш-заполнение" (Excel 2013 и новее)

Если у вас Excel 2013/2016/2019/365, используйте Флеш-заполнение — инструмент, который автоматически распознаёт шаблон и разбивает данные без формул. Подходит для случаев, когда разделитель непостоянный или данные имеют сложную структуру (например, "г. Москва, ул. Тверская, д. 10, кв. 5").

Как это работает:

  1. Добавьте справа от исходного столбца новый столбец (например, B).
  2. В первую ячейку нового столбца (B1) введите часть данных, которую нужно выделить. Например, если в A1 запись "Иванов Пётр 35", а вам нужна фамилия, введите в B1 только "Иванов".
  3. Нажмите Enter, затем вернитесь в B1 и начните вводить следующую фамилию (B2). Excel автоматически предложит заполнить остальные ячейки — нажмите Enter.

Преимущества метода:

  • 🔹 Работает даже с нестандартными разделителями (например, "Иванов (Менеджер)" → выделить должность).
  • 🔹 Не требует знания формул.
  • 🔹 Можно разбивать данные на 3+ столбца (например, ФИО → Фамилия, Имя, Отчество).

⚠️ Внимание: Если Excel не предлагает автозаполнение, проверьте:

  • 🔸 В настройках (ФайлПараметрыДополнительно) включена опция Автоматическое флеш-заполнение.
  • 🔸 Данные в исходном столбце имеют одинаковый шаблон (например, везде сначала фамилия, затем имя).

Текст по столбцам|Флеш-заполнение|Формулы|Power Query-->

4. Разбиение с помощью формул: ПСТР, ЛЕВСИМВ, ПРАВСИМВ

Если данные не имеют чёткого разделителя или требуется гибкое управление, используйте текстовые функции:

  • =ЛЕВСИМВ(А1;5) — возвращает первые 5 символов из ячейки A1.
  • =ПРАВСИМВ(А1;3) — возвращает последние 3 символа.
  • =ПСТР(А1;6;4) — возвращает 4 символа, начиная с 6-го.
  • =НАЙТИ(" ";А1) — находит позицию пробела в тексте.

Пример: Разделим "ИвановПетр35" (без пробелов) на фамилию (6 символов), имя (4 символа) и возраст (2 символа):

Исходные данные (A)Фамилия (B)Имя (C)Возраст (D)
ИвановПетр35=ЛЕВСИМВ(A1;6)=ПСТР(A1;7;4)=ПРАВСИМВ(A1;2)
СмирноваАнастасия28=ЛЕВСИМВ(A2;8)=ПСТР(A2;9;9)=ПРАВСИМВ(A2;2)

Для данных с разделителями комбинируйте функции:

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

⚠️ Внимание: Если в данных несколько одинаковых разделителей (например, "Иванов;Петр;Сергеевич;35"), используйте функцию =ТЕКСТДОСИМВ (Excel 365) или =ТЕКСТПОСЛЕ для извлечения частей после N-го символа.

Формула для извлечения текста между двумя разделителями

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

Где:

- НАЙТИ(";";A1) — позиция первого ";".

- НАЙТИ(";";A1;НАЙТИ(";";A1)+1) — позиция второго ";".

5. Разбиение через Power Query (для больших массивов данных)

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

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

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

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

  • 🔹 Обрабатывает миллионы строк без замедления.
  • 🔹 Сохраняет шаги преобразования — при обновлении исходных данных разбиение повторится автоматически.
  • 🔹 Можно разбивать по нескольким разделителям одновременно.

⚠️ Внимание: Если после загрузки данные отображаются как "#ЗНАЧ!", проверьте:

  • 🔸 Формат ячеек (должен быть Общий или Текст).
  • 🔸 Кодировку файла (при импорте из CSV выберите 1251 для кириллицы).

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

Если вам нужно разбивать данные по одному правилу постоянно, запишите макрос. Например, для разделения "Фамилия Имя Отчество" на 3 столбца:

Код макроса:

Sub SplitName()

Dim rng As Range

Dim cell As Range

Dim arr() As String

' Выделяем диапазон с данными (столбец A)

Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)

' Добавляем столбцы для результата

Range("B1:D1").Value = Array("Фамилия", "Имя", "Отчество")

' Обрабатываем каждую ячейку

For Each cell In rng

If cell.Value <> "" Then

arr = Split(cell.Value, " ")

cell.Offset(0, 1).Value = arr(0) ' Фамилия

cell.Offset(0, 2).Value = arr(1) ' Имя

cell.Offset(0, 3).Value = arr(2) ' Отчество

End If

Next cell

End Sub

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

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

⚠️ Внимание: Перед запуском макроса сохраните файл как .xlsm (с поддержкой макросов), иначе код не сработает.

7. Разбиение данных с регулярными выражениями (продвинутый уровень)

Если данные имеют сложную структуру (например, "Иванов П.С., г. Москва, ул. Ленина, д.5, кв.12"), а нужно выделить только адрес, используйте регулярные выражения через VBA или Power Query. Например, чтобы извлечь город из строки:

Пример кода VBA с RegExp:

Function ExtractCity(rng As Range) As String

Dim regex As Object

Set regex = CreateObject("VBScript.RegExp")

With regex

.Pattern = "г\. ([^,]+)" ' Ищем "г. [название города]"

.Global = False

End With

If regex.Test(rng.Value) Then

ExtractCity = regex.Execute(rng.Value)(0).SubMatches(0)

Else

ExtractCity = "Не найдено"

End If

End Function

Как применить:

  1. Вставьте код в модуль VBA.
  2. В ячейке используйте формулу =ExtractCity(A1).

Примеры шаблонов для RegExp:

ЗадачаШаблонПример
Извлечь email\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\bivanov@mail.ru
Извлечь телефон(\+7|8)\s?\(?\d{3}\)?\s?\d{3}-?\d{2}-?\d{2}+7 (912) 345-67-89
Извлечь дату\d{2}\.\d{2}\.\d{4}15.05.2026

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

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

1. Данные "съезжают" в соседние столбцы

  • 🔹 Причина: Неверно указан разделитель или фиксированная ширина.
  • 🔹 Решение: Проверьте данные на лишние пробелы (=СЖПРОБЕЛЫ(А1)) или невидимые символы (=ЧИСТ(А1)).

2. Пустые ячейки после разбиения

  • 🔹 Причина: В исходных данных несколько подряд идущих разделителей (например, "Иванов,,Петр").
  • 🔹 Решение: В окне Текст по столбцам снимите галочку Считать последовательные разделители одним.

3. Формулы возвращают ошибку #ЗНАЧ!

  • 🔹 Причина: В данных нет искомого разделителя (например, =НАЙТИ(";";A1), а в A1 нет ";").
  • 🔹 Решение: Добавьте проверку на ошибку: =ЕСЛИОШИБКА(НАЙТИ(";";A1);0).

4. Кириллица отображается как "?????"

  • 🔹 Причина: Неправильная кодировка при импорте данных (часто бывает в CSV-файлах).
  • 🔹 Решение: При открытии файла выберите кодировку 1251 (Кириллица Windows).

5. Макрос не работает

  • 🔹 Причина: В настройках безопасности отключены макросы.
  • 🔹 Решение: ФайлПараметрыЦентр управления безопасностьюПараметры центра...Включить все макросы (не рекомендуется для недоверенных файлов).

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

Можно ли разбить данные на 3 и более столбцов?

Да. Все описанные методы (кроме фиксированной ширины) поддерживают разбиение на любое количество столбцов. Например, в инструменте Текст по столбцам укажите несколько разделителей подряд (запятая + пробел). В Power Query можно разбивать данные на 10+ столбцов.

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

Используйте функцию =ПСТР с символом CHAR(10) (перенос строки):

=ПСТР(A1;1;НАЙТИ(CHAR(10);A1)-1)  

Или замените переносы на другой разделитель через Найти и заменить (Ctrl+H): в поле Найти вставьте Ctrl+J, в поле Заменить на укажите ";".

Как объединить данные обратно после разбиения?

Используйте функцию =СЦЕПИТЬ (Excel 2019 и старше) или =ОБЪЕДИНИТЬ (Excel 365):

=СЦЕПИТЬ("; "; A1; B1; C1)  

Или инструмент Текст по столбцам в обратном порядке: выделите столбцы → ДанныеТекст по столбцам → выберите разделитель для объединения.

Почему после разбиения числа отображаются как текст?

Excel автоматически присваивает формату ячеек тип Текст. Чтобы преобразовать в числа:

  1. Выделите столбец с данными.
  2. На вкладке Главная выберите формат Числовой или Общий.
  3. Если не помогла, используйте формулу =ЗНАЧЕН(А1).

Как автоматизировать разбиение для новых данных?

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

  1. Используйте Power Query (раздел 5) — при обновлении данных разбиение применится автоматически.
  2. Или запишите макрос (раздел 6) и назначьте его на кнопку.
  3. Для формул (раздел 4) преобразуйте их в значения (КопироватьСпециальная вставкаЗначения).