Разбивка текста на две колонки в Microsoft Excel — одна из самых востребованных операций при работе с данными.hether вы импортировали CSV-файл с объединёнными полями, получили отчёт с неструктурированной информацией или просто хотите разделить ФИО на имя и фамилию — умение правильно дробить текст сэкономит часы ручной работы. Но почему-то даже опытные пользователи часто делают это вручную, не подозревая о встроенных инструментах.
В этой статье мы разберём 5 проверенных методов — от элементарного разделителя по символу до продвинутых формул и Power Query, которые работают в Excel 2010–2023 и Excel Online. Вы узнаете, как разбить:
- 📌 Текст по разделителю (запятая, пробел, тире)
- 📌 Даты на день/месяц/год
- 📌 ФИО на отдельные компоненты
- 📌 Данные с фиксированной шириной столбцов
- 📌 Сложные шаблоны с регулярными выражениями (через Power Query)
Каждый способ проиллюстрирован скриншотами, формулами и уникальными лайфхаками, которых нет в стандартных руководствах. Например, как автоматически разбивать данные при их добавлении в таблицу или как обработать 10 000 строк за 2 клика.
1. Разделение текста по разделителю (инструмент "Текст по столбцам")
Самый популярный метод — встроенная функция Текст по столбцам, которая спрятана в ленте Данные. Она подходит для 90% задач, где данные разделены однотипным символом (запятая, точка с запятой, пробел, табуляция).
Как это работает:
- Выделите столбец с данными (например,
A1:A100). - Перейдите на вкладку
Данные→Текст по столбцам. - Выберите
С разделителями→Далее. - Укажите разделитель (например,
ПробелилиЗапятая) и нажмитеГотово.
Пример: если в ячейке A1 написано "Иванов Иван Иванович", после разделения по пробелу вы получите три столбца с фамилией, именем и отчеством. Но что делать, если разделителей несколько или они нестандартные?
Выделите только нужный столбец (не всю таблицу)|
Проверьте, нет ли лишних пробелов перед/после разделителя|
Если разделитель — точка с запятой, убедитесь, что в настройках Windows она не используется как разделитель списка|
Для дат в формате "день.месяц.год" выбирайте разделитель "точка"|
Снимите галочку "Считать последовательные разделители одним", если нужно сохранить пустые ячейки-->
| Исходные данные | Разделитель | Результат в столбце B | Результат в столбце C |
|---|---|---|---|
| "Москва;Санкт-Петербург" | Точка с запятой | Москва | Санкт-Петербург |
| "2023-12-31" | Тире | 2023 | 12 |
| "user@example.com" | @ | user | example.com |
| "Алексеев П.С." | Пробел | Алексеев | П.С. |
⚠️ Внимание: Если после разделения в ячейках появляются знаки#ЗНАЧ!, проверьте, не содержат ли исходные данные непечатаемые символы (например, перенос строки). Используйте функцию=ЧИСТ(), чтобы их удалить.
2. Разделение с фиксированной шириной (для данных без разделителей)
Что делать, если данные не разделены символами, но имеют фиксированную структуру? Например, в ячейке "1234567890" первые 3 цифры — код региона, следующие 7 — номер телефона. Здесь поможет опция Фиксированная ширина в том же инструменте Текст по столбцам.
Алгоритм:
- Выделите столбец →
Данные→Текст по столбцам→Фиксированная ширина. - В окне предварительного просмотра кликните мышью в том месте, где должен быть разрыв (появится вертикальная линия).
- Повторите для всех нужных разрывов →
Далее→Готово.
Этот метод незаменим для:
- 📊 Лог-файлов с фиксированными позициями данных
- 📊 Старых баз данных (например, 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. Этот инструмент позволяет:
- 🛠 Разбивать текст по регулярным выражениям.
- 🛠 Обрабатывать многоуровневые данные (например, адреса с городом, улицей и домом).
- 🛠 Автоматизировать процесс для тысяч строк.
Пошаговая инструкция:
- Выделите данные →
Данные→Из таблицы/диапазона(в Excel 2016+). - В редакторе Power Query выделите столбец →
Преобразовать→Разделить столбец→По разделителю. - Выберите
Дополнительные параметры→ укажите разделитель (например,,или регулярное выражение[\s,;]+для пробелов/запятых/точек с запятой). - Нажмите
ОК→Закрыть и загрузить.
Пример для JSON-строки '{"name":"Иван","age":30}':
- В Power Query добавьте пользовательский столбец с формулой
=Json.Document([Column1]). - Разверните полученные поля (
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 недоступен.