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

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

В этой статье мы разберём 5 проверенных методов — от элементарного разделителя по символу до продвинутых формул и Power Query, которые работают в Excel 2010–2023 и Excel Online. Вы узнаете, как разбить:

  • 📌 Текст по разделителю (запятая, пробел, тире)
  • 📌 Даты на день/месяц/год
  • 📌 ФИО на отдельные компоненты
  • 📌 Данные с фиксированной шириной столбцов
  • 📌 Сложные шаблоны с регулярными выражениями (через Power Query)

Каждый способ проиллюстрирован скриншотами, формулами и уникальными лайфхаками, которых нет в стандартных руководствах. Например, как автоматически разбивать данные при их добавлении в таблицу или как обработать 10 000 строк за 2 клика.

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

Самый популярный метод — встроенная функция Текст по столбцам, которая спрятана в ленте Данные. Она подходит для 90% задач, где данные разделены однотипным символом (запятая, точка с запятой, пробел, табуляция).

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

  1. Выделите столбец с данными (например, A1:A100).
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите С разделителямиДалее.
  4. Укажите разделитель (например, Пробел или Запятая) и нажмите Готово.

Пример: если в ячейке A1 написано "Иванов Иван Иванович", после разделения по пробелу вы получите три столбца с фамилией, именем и отчеством. Но что делать, если разделителей несколько или они нестандартные?

Выделите только нужный столбец (не всю таблицу)|

Проверьте, нет ли лишних пробелов перед/после разделителя|

Если разделитель — точка с запятой, убедитесь, что в настройках Windows она не используется как разделитель списка|

Для дат в формате "день.месяц.год" выбирайте разделитель "точка"|

Снимите галочку "Считать последовательные разделители одним", если нужно сохранить пустые ячейки-->

Исходные данныеРазделительРезультат в столбце BРезультат в столбце C
"Москва;Санкт-Петербург"Точка с запятойМоскваСанкт-Петербург
"2023-12-31"Тире202312
"user@example.com"@userexample.com
"Алексеев П.С."ПробелАлексеевП.С.
⚠️ Внимание: Если после разделения в ячейках появляются знаки #ЗНАЧ!, проверьте, не содержат ли исходные данные непечатаемые символы (например, перенос строки). Используйте функцию =ЧИСТ(), чтобы их удалить.

2. Разделение с фиксированной шириной (для данных без разделителей)

Что делать, если данные не разделены символами, но имеют фиксированную структуру? Например, в ячейке "1234567890" первые 3 цифры — код региона, следующие 7 — номер телефона. Здесь поможет опция Фиксированная ширина в том же инструменте Текст по столбцам.

Алгоритм:

  1. Выделите столбец → ДанныеТекст по столбцамФиксированная ширина.
  2. В окне предварительного просмотра кликните мышью в том месте, где должен быть разрыв (появится вертикальная линия).
  3. Повторите для всех нужных разрывов → ДалееГотово.

Этот метод незаменим для:

  • 📊 Лог-файлов с фиксированными позициями данных
  • 📊 Старых баз данных (например, dBase или FoxPro)
  • 📊 Номеров документов (паспорт, ИНН, ОГРН)
Как разделить ИНН на части?

ИНН физического лица состоит из 12 цифр: первые 4 — код налогового органа, следующие 6 — номер записи, последние 2 — контрольное число.

Чтобы автоматически разбить ИНН 770712345678 на три части:

1. Используйте Текст по столбцамФиксированная ширина.

2. Установите разрывы после 4-й и 10-й цифр.

3. В результате получите столбцы: 7707, 123456, 78.

⚠️ Внимание: Если в данных есть пробелы, они будут восприняты как потенциальные разрывы. Предварительно замените их на другой символ (например, подчёркивание) функцией =ПОДСТАВИТЬ(A1;" ";"_").

3. Формулы для разделения текста (LEN, LEFT, MID, RIGHT)

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

Основные функции:

  • =LEFT(текст; количество_символов) — возвращает символы с начала строки.
  • =RIGHT(текст; количество_символов) — с конца.
  • =MID(текст; начальная_позиция; количество_символов) — из середины.
  • =FIND(искомый_текст; текст; [нач_позиция]) — находит позицию символа.

Примеры:

ЗадачаФормулаПример для A1="Смирнов_Иван_25"
Извлечь фамилию (до первого "_")=LEFT(A1; FIND("_"; A1)-1)Смирнов
Извлечь возраст (после последнего "_")=RIGHT(A1; LEN(A1)-FIND("~"; ПОДСТАВИТЬ(A1; "_"; "~"; LEN(A1)-LEN(ПОДСТАВИТЬ(A1; "_"; "")))))25
Извлечь имя (между первым и вторым "_")=MID(A1; FIND("_"; A1)+1; FIND("_"; A1; FIND("_"; A1)+1)-(FIND("_"; A1)+1))Иван

Для разделения по последнему разделителю (например, извлечь домен из email) используйте комбинацию RIGHT + LEN + FIND:

=RIGHT(A1; LEN(A1) - FIND("@"; A1))

Для A1="user@example.com" результат: example.com.

4. Функция ТЕКСТ.РАЗД (TEXTSPLIT) в Excel 365 и 2021

В новых версиях Excel (начиная с Microsoft 365 и Excel 2021) появилась революционная функция ТЕКСТ.РАЗД (TEXTSPLIT), которая заменяет десятки старых формул. Она умеет:

  • 🔹 Разбивать текст по нескольким разделителям одновременно (например, запятая или точка с запятой).
  • 🔹 Игнорировать пустые ячейки.
  • 🔹 Работать с регулярными выражениями (через параметр по_столбцам).

Синтаксис:

=ТЕКСТ.РАЗД(текст; разделитель_столбцов; [разделитель_строк]; [игнорировать_пустые], [соответствие_всему], [по_столбцам])

Примеры:

ЗадачаФормулаРезультат для A1="яблоки,груши;бананы"
Разделить по запятой или точке с запятой=ТЕКСТ.РАЗД(A1; {","; ";"})яблоки|груши|бананы (раскладывается по 3 столбцам)
Разделить по пробелу, игнорируя пустые ячейки=ТЕКСТ.РАЗД(A1; " "; ;ИСТИНА)яблоки|груши;бананы (если в A1 было "яблоки груши;бананы")
Разделить email на имя и домен=ТЕКСТ.РАЗД(A1; "@"; ;ЛОЖЬ; ИСТИНА)Для A1="user@example.com" → два столбца: user и example.com

Уникальный лайфхак: Чтобы разбить текст на слова (разделитель — пробел) и транслировать результат по строкам, а не по столбцам, используйте:

=ТРАНСП(ТЕКСТ.РАЗД(A1; " "))

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

Формулы (LEFT, MID, RIGHT)|

Функция ТЕКСТ.РАЗД (TEXTSPLIT)|

Power Query|

Не знаю, всегда делаю вручную-->

5. Power Query для сложных разделений (регулярные выражения, шаблоны)

Если данные имеют нестандартную структуру (например, лог-файлы, JSON-строки или текст с вложенными разделителями), на помощь придёт Power Query. Этот инструмент позволяет:

  • 🛠 Разбивать текст по регулярным выражениям.
  • 🛠 Обрабатывать многоуровневые данные (например, адреса с городом, улицей и домом).
  • 🛠 Автоматизировать процесс для тысяч строк.

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

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

Пример для JSON-строки '{"name":"Иван","age":30}':

  1. В Power Query добавьте пользовательский столбец с формулой =Json.Document([Column1]).
  2. Разверните полученные поля (name, age) в отдельные столбцы.
⚠️ Внимание: Если в Power Query не отображается кнопка Разделить столбец, обновите Excel до последней версии или установите надстройку Power Query для Excel 2010/2013 с официального сайта Microsoft.

6. Разделение дат и времени на компоненты

Дата и время в Excel хранятся как числа, но часто их нужно разбить на день, месяц, год или часы/минуты. Для этого есть специализированные функции:

  • =ДЕНЬ(дата) — возвращает день месяца.
  • =МЕСЯЦ(дата) — номер месяца.
  • =ГОД(дата) — год.
  • =ЧАС(время), =МИНУТЫ(время), =СЕКУНДЫ(время).

Пример: если в A1 содержится 15.05.2023 14:30, то:

=ДЕНЬ(A1)  → 15

=МЕСЯЦ(A1) → 5

=ГОД(A1) → 2023

=ЧАС(A1) → 14

Для извлечения названия месяца (не числа) используйте:

=ТЕКСТ(A1; "[$-ru-RU]mmmm")

Результат: май (на русском языке).

ФорматФормулаПример результата
День недели (полное название)=ТЕКСТ(A1; "dddd")понедельник
Квартал=ОКРУГЛВВЕРХ(МЕСЯЦ(A1)/3; 0)2 (для мая)
Номер недели в году=НОМНЕДЕЛИИСО(A1)20

Сравнение методов: какой выбрать?

Выбор способа зависит от структуры данных и требований к автоматизации:

| Метод | Плюсы | Минусы | Когда использовать |

|-------------------------|-------------------------------------------|--------------------------------------------|-----------------------------------------------|

| Текст по столбцам | Быстро, визуально, без формул | Не обновляется автоматически | Разовые задачи с простыми разделителями |

| Формулы (LEFT/MID) | Динамическое обновление | Сложные формулы для многократных разделителей | Данные часто меняются |

| ТЕКСТ.РАЗД (TEXTSPLIT) | Гибкость, поддержка регулярных выражений | Работает только в Excel 365/2021 | Современные версии Excel, сложные шаблоны |

| Power Query | Обработка больших объёмов, регулярные выражения | Требует изучения интерфейса | Лог-файлы, JSON, повторяющиеся задачи |

| Фиксированная ширина | Точность для структурированных данных | Не подходит для динамических данных | Старые базы данных, отчёты с фиксированным форматом |

Для одноразовых задач подойдёт Текст по столбцам, для автоматизации — формулы или Power Query, а для сложных шаблонов в новых версиях ExcelТЕКСТ.РАЗД.

FAQ: Частые вопросы

Можно ли разбить текст на 2 колонки без потери данных?

Да, все описанные методы сохраняют исходные данные. Рекомендуем дублировать столбец перед разделением или использовать формулы в новых столбцах (например, =LEFT(A1; 5) в столбце B).

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

Используйте функцию =ПОДСТАВИТЬ(A1; СИМВОЛ(10); "разделитель"), где СИМВОЛ(10) — это перенос строки. Затем примените Текст по столбцам с новым разделителем.

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

Это ошибка #ЗНАЧ!, которая возникает, если:

  • Формула ссылается на пустую ячейку.
  • В тексте нет указанного разделителя (например, ищете "@", а её нет).
  • Результат формулы превышает лимит символов (32 767 для ячейки).

Используйте =ЕСЛИОШИБКА(ваша_формула; ""), чтобы скрыть ошибки.

Как автоматически разбивать новые данные при добавлении?

Создайте умную таблицу (Ctrl+T) и используйте:

  • Формулы в соседних столбцах (они протянутся автоматически).
  • Power Query с настройкой обновления при изменении данных.
Можно ли разбить текст на 2 колонки в Excel Online?

Да, но с ограничениями:

  • Инструмент Текст по столбцам доступен.
  • Функция ТЕКСТ.РАЗД работает в Excel Online (если у вас Microsoft 365).
  • Power Query недоступен.