Если в вашей таблице Excel данные в одной ячейке перемешаны (например, ФИО в одном поле или адрес с индексом), а вам нужно разнести их по отдельным колонкам — проблема решается за 2-3 клика. Самый быстрый способ — использовать встроенный инструмент «Текст по столбцам», который автоматически разобьёт содержимое по разделителю (пробел, запятая, точка с запятой). Но если требуется визуально разделить ячейку на две части без изменения данных (например, для оформления формы), понадобятся другие методы: слияние ячеек, вставка таблиц или даже VBA-макросы.
В этой статье — 5 проверенных способов разделить ячейку на две части, включая решения для нестандартных разделителей (например, дефис в артикулах «АБ-123») и случаев, когда данные хранятся в одной колонке, но должны отображаться в двух соседних. Все методы протестированы в Excel 2019, Office 365 и Excel Online, но majority из них работают и в старых версиях (2010, 2013, 2016).
1. Разделение текста по столбцам (самый быстрый способ)
Инструмент Текст по столбцам — стандартное решение для случаев, когда в одной ячейке хранятся данные, которые логически относятся к разным колонкам. Например, у вас есть список email-адресов в формате имя_фамилия@домен.com, и нужно выделить домен в отдельный столбец. Алгоритм работает так:
- Выделите ячейки с данными, которые нужно разделить.
- Перейдите на вкладку
Данные→Текст по столбцам. - В первом окне мастера выберите
С разделителями(если данные разделены запятыми, точками с запятой и т.п.) илиФиксированная ширина(если текст выровнен по колонкам с пробелами). - На следующем шаге укажите разделитель (например,
пробел,точка с запятойилизнак табуляции). Для нестандартных символов (например,|или/) выберитеДругойи введите его вручную. - Нажмите
Готово— Excel автоматически создаст новые столбцы с разделёнными данными.
⚠️ Внимание: Если в исходных данных используются несколько типов разделителей (например, «Иванов, Иван; Москва»), сначала замените их на один символ через Найти и заменить (Ctrl+H), иначе мастер разобьёт текст некорректно.
Замените все двойные пробелы на одинарные|Убедитесь, что в тексте нет лишних символов (кавычки, скобки)|Проверьте, что разделитель одинаковый во всех строках|Сохраните резервную копию таблицы на случай ошибки-->
Пример работы инструмента для адреса «ул. Ленина, д. 5, кв. 12»:
| Исходная ячейка | После разделения (разделитель — запятая) |
|---|---|
| ул. Ленина, д. 5, кв. 12 | ул. Ленина | д. 5 | кв. 12 |
| пр-т Мира, 10/2 | пр-т Мира | 10/2 |
| пер. Садовый, дом 3 | пер. Садовый | дом 3 |
2. Разделение ячейки с помощью формул
Если инструмент Текст по столбцам не подходит (например, разделитель нестабильный или нужно выделить только часть текста), используйте формулы. Для извлечения подстрок пригодятся функции:
- 🔹
=ЛЕВСИМВ(A1;5)— возвращает первые 5 символов из ячейкиA1. - 🔹
=ПРАВСИМВ(A1;3)— возвращает последние 3 символа. - 🔹
=ПСТР(A1;4;6)— извлекает 6 символов, начиная с 4-го. - 🔹
=НАЙТИ(" ";A1)— находит позицию пробела (для динамического разделения).
Пример: разделим ФИО «Иванов Петр Сидорович» на фамилию, имя и отчество. Формулы для ячеек B1 (фамилия), C1 (имя), D1 (отчество):
=ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1) // Фамилия
=ПСТР(A1;НАЙТИ(" ";A1)+1;НАЙТИ(" ";A1;НАЙТИ(" ";A1)+1)-НАЙТИ(" ";A1)-1) // Имя
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(" ";A1;НАЙТИ(" ";A1)+1)) // Отчество
⚠️ Внимание: Формулы вернут ошибку #ЗНАЧ!, если в ячейке меньше символов, чем указано в аргументах. Чтобы избежать этого, добавьте проверку через ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A1;5);"")
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ("|";ПОДСТАВИТЬ(A1;"\";"|";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"\";"")))))
Замените \ на ваш разделитель.-->
3. Визуальное разделение ячейки на две части (без изменения данных)
Если задача — не разделять содержимое, а визуально разграничить ячейку (например, для создания формы с полями «Имя» и «Фамилия» в одной колонке), используйте:
- 📏 Слияние ячеек + границы: объедините две соседние ячейки (
Главная→Объединить и поместить в центре), затем добавьте вертикальную линию черезГраницы. - 🖼️ Вставка фигур: нарисуйте линию инструментом
Линия(вкладкаВставка→Фигуры). - 📊 Таблицы Excel: преобразуйте диапазон в таблицу (Ctrl+T), затем добавьте разделительную линию через стили таблицы.
Пример слияния с границей:
- Выделите две пустые ячейки (например,
A1:B1). - Нажмите
Объединить и поместить в центрена вкладкеГлавная. - Кликните по объединённой ячейке →
Границы→Другие границы→ нарисуйте вертикальную линию посередине.
Как сделать разделитель цветным
1. После добавления границы выделите ячейку.
2. Перейдите на вкладку Главная → Шрифт (в правой части ленты) → Цвет границы.
3. Выберите нужный цвет (например, красный для обязательных полей).
4. Разделение ячейки с помощью Power Query
Для обработки больших объёмов данных (тысячи строк) удобнее использовать Power Query — надстройку для преобразования данных, доступную в Excel 2016 и новее. Алгоритм:
- Выделите диапазон с данными → вкладка
Данные→Из таблицы/диапазона(в группеПолучить и преобразовать). - В открывшемся редакторе Power Query выделите столбец →
Преобразовать→Разделить столбец→По разделителю. - Укажите разделитель (например, запятую) и нажмите
ОК. - Нажмите
Закрыть и загрузить— данные разделятся в новой таблице.
Преимущества Power Query:
- 🔄 Сохраняет шаги преобразования: при обновлении исходных данных разделение применяется автоматически.
- 📊 Поддерживает сложные разделители (регулярные выражения).
- 📂 Можно объединять данные из нескольких файлов перед разделением.
Текст по столбцам|Формулы (ЛЕВСИМВ, ПРАВСИМВ)|Power Query|Слияние ячеек с границами|Другой вариант-->
5. Автоматизация через VBA-макросы
Если разделение ячеек нужно выполнять регулярно, запишите макрос. Например, этот код разобьёт текст в выделенных ячейках по первому пробелу и запишет результаты в соседние столбцы:
Sub SplitCellBySpace()
Dim rng As Range
Dim cell As Range
Dim splitText() As String
Dim i As Integer
Set rng = Selection
For Each cell In rng
If InStr(cell.Value, " ") > 0 Then
splitText = Split(cell.Value, " ")
cell.Offset(0, 1).Value = splitText(0) ' Первая часть
cell.Offset(0, 2).Value = splitText(1) ' Вторая часть
End If
Next cell
End Sub
Как использовать:
- Нажмите Alt+F11, чтобы открыть редактор VBA.
- Вставьте код в новый модуль (
Insert→Module). - Вернитесь в Excel, выделите ячейки и запустите макрос (Alt+F8 → выберите
SplitCellBySpace→Выполнить).
⚠️ Внимание: Макрос перезапишет данные в столбцах справа от выделенных ячеек. Перед запуском убедитесь, что там нет важной информации, или измените в коде смещение (Offset(0, 1)).
- Всегда тестируйте макросы на копии данных.
- Отключите автоматическое обновление связей (Файл → Параметры → Формулы) во время записи макроса.
- Для сложных разделителей (например, несколько пробелов подряд) модифицируйте функцию Split с использованием Regex.-->
6. Разделение ячеек в Excel Online и мобильной версии
В веб-версии Excel Online и мобильном приложении доступ не ко всем инструментам. Вот что работает:
- ✅ Текст по столбцам: доступен в Excel Online (вкладка
Данные), но отсутствует в мобильной версии. - ✅ Формулы:
ЛЕВСИМВ,ПРАВСИМВи другие функции поддерживаются полностью. - ❌ Power Query: недоступен в Excel Online и мобильной версии.
- ❌ VBA-макросы: не работают в браузере и на телефоне.
Для мобильной версии Excel (Android/iOS) альтернативный способ:
- Скопируйте данные из ячейки в буфер обмена.
- Вставьте текст в любое приложение (например, Заметки) и вручную разделите по строкам.
- Скопируйте каждую часть обратно в отдельные ячейки Excel.
Частые ошибки и как их избежать
При разделении ячеек пользователи сталкиваются с типичными проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
| Данные не разделяются | Неверно указан разделитель | Проверьте символ-разделитель через Найти и заменить (Ctrl+H) |
| Лишние пробелы в результатах | В исходном тексте двойные пробелы | Используйте =СЖПРОБЕЛЫ(A1) перед разделением |
Формулы возвращают #ЗНАЧ! | Ячейка пустая или текст короче указанной длины | Добавьте проверку ЕСЛИОШИБКА или ЕСЛИ |
| Данные в столбцах перемешались | Несоответствие количества разделителей | Выровняйте формат данных перед разделением |
⚠️ Внимание: Если после разделения в новых столбцах отображаются даты вместо текста (например, «01.01.2023» вместо «2023-01-01»), измените формат ячеек на Текстовый до применения инструмента Текст по столбцам.
FAQ: Ответы на частые вопросы
Можно ли разделить ячейку по нескольким разделителям одновременно?
Да. В инструменте Текст по столбцам на шаге выбора разделителя отметьте галочками все нужные символы (например, пробел и точка с запятой). Для сложных случаев (например, разделение по пробелу ИЛИ запятой) используйте Power Query или формулу с ПОДСТАВИТЬ:
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";",");",",";",");1;5)
Как разделить ячейку на две части, если разделитель — перенос строки (Alt+Enter)?
Переносы строк в ячейках (Alt+Enter) обрабатываются через Power Query или VBA. Вручную:
- Замените переносы на временный символ (например,
|) черезНайти и заменить(Ctrl+H): в полеНайтивставьте перенос (нажмите Ctrl+J), в полеЗаменить навведите|. - Используйте
Текст по столбцамс разделителем|.
Почему после разделения данные в новых столбцах отображаются как ########?
Символы ######## означают, что ширина столбца недостаточна для отображения данных. Растяните столбец двойным кликом по правой границе заголовка или через Формат → Автоподбор ширины столбца. Если проблема остаётся, проверьте формат ячеек: возможно, текстовые данные интерпретируются как даты.
Можно ли разделить ячейку на две части без потери данных?
Да, если использовать визуальное разделение (см. раздел 3): слияние ячеек с границами или вставку фигур. Альтернатива — создать связанные ячейки с формулами, которые динамически обновляются при изменении исходных данных. Например:
=ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1) // Левая часть
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(" ";A1)) // Правая часть
Как разделить ячейку с адресом на улицу, дом и квартиру?
Для адресов с нестандартным форматом (например, «ул. Пушкина, д.10 кв.5») используйте комбинацию функций:
=ПСТР(A1;1;НАЙТИ(",";A1)-1) // Улица
=ПСТР(A1;НАЙТИ("д.";A1);НАЙТИ(" ";A1;НАЙТИ("д.";A1))-НАЙТИ("д.";A1)) // Дом
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ("кв.";A1)) // Квартира
Для массовой обработки подходит Power Query с настройкой нескольких этапов разделения.