Работа с данными в Microsoft Excel часто требует разбиения информации из одной ячейки на несколько. Например, когда в одной колонке хранятся фамилия и имя через пробел, а вам нужно разделить их для дальнейшего анализа. Или когда в ячейке записаны дата и время вместе, а требуется выделить только дату. В этой статье мы разберём все возможные способы деления ячеек — от элементарных до малоизвестных, которые экономят часы ручной работы.
Многие пользователи ошибочно думают, что для разделения данных обязательно нужен текст по столбцам или формулы. На самом деле в Excel есть как минимум 5 альтернативных методов, включая горячие клавиши и Power Query. Мы покажем, какой способ выбрать в зависимости от задачи, и предостережём от типичных ошибок, из-за которых данные теряются или искажаются.
1. Разделение ячейки с помощью функции «Текст по столбцам»
Это самый популярный метод, который знают даже начинающие. Он работает, когда данные в ячейке имеют чёткий разделитель — запятую, точку с запятой, пробел или символ табуляции. Например, если у вас в одной колонке записаны город и индекс через запятую (Москва, 125009), инструмент автоматически распределит их по двум столбцам.
Как это сделать:
- Выделите ячейки или столбец, который нужно разделить.
- Перейдите на вкладку
Данные→Текст по столбцам. - В первом окне выберите
С разделителями(если данные разделены символами) илиФиксированная ширина(если текст выровнен по столбцам без разделителей). - Укажите символ-разделитель (пробел, запятая, точка с запятой и т.д.) или вручную проставьте линии разрыва для фиксированной ширины.
- Нажмите
Готово.
⚠️ Внимание: Если в исходных данных есть пустые ячейки или нестандартные разделители (например, несколько пробелов подряд), Excel может разбить текст неправильно. Перед использованием инструмента проверьте данные на однородность или воспользуйтесь функцией СЖПРОБЕЛЫ, чтобы убрать лишние пробелы.
Удалить лишние пробелы (функция СЖПРОБЕЛЫ)
Проверить единообразие разделителей (запятая/точка с запятой)
Создать резервную копию таблицы
Убедиться, что справа достаточно пустых столбцов для результата-->
2. Разделение текста с помощью формул
Когда инструмент «Текст по столбцам» не подходит (например, если разделитель нестандартный или данные нужно разделить по сложному правилу), на помощь приходят формулы. Основные функции для разбиения:
- 🔹
ЛЕВСИМВ,ПРАВСИМВ,ПСТР— для извлечения подстрок по позициям. - 🔹
НАЙТИилиПОИСК— чтобы определить позицию разделителя. - 🔹
РАЗДЕЛИТЬ.ТЕКСТ(в новых версиях Excel 365) — автоматически разбивает текст по разделителю.
Пример: если в ячейке A1 записано Иванов_Иван_Иванович, а нужно разделить по подчёркиванию, используйте:
=ЛЕВСИМВ(A1; НАЙТИ("_"; A1)-1) // Фамилия
=ПСТР(A1; НАЙТИ("_"; A1)+1; НАЙТИ("_"; A1; НАЙТИ("_"; A1)+1)-НАЙТИ("_"; A1)-1) // Имя
=ПРАВСИМВ(A1; ДЛСТР(A1)-НАЙТИ("_"; A1; НАЙТИ("_"; A1)+1)) // Отчество
Важно: в Excel 2019 и старше появилась функция РАЗДЕЛИТЬ.ТЕКСТ, которая упрощает задачу. Достаточно указать ячейку и разделитель: =РАЗДЕЛИТЬ.ТЕКСТ(A1; "_") — и данные автоматически распределятся по соседним ячейкам.
Текст по столбцам
Формулы (ЛЕВСИМВ, ПСТР и др.)
Power Query
Вручную (копирование и вставка)
Другой вариант-->
3. Разделение ячейки по фиксированной ширине
Этот метод полезен, когда данные выровнены по столбцам без явных разделителей. Например, в ячейке записано:
Смирнов Петр Васильевич 1985
Здесь пробелы используются для визуального разделения, но как разделитель их использовать нельзя (так как количество пробелов разное). В этом случае:
- Выделите столбец с данными.
- Перейдите в
Данные → Текст по столбцам → Фиксированная ширина. - В окне предварительного просмотра вручную проставьте линии разрыва между будущими столбцами (кликайте мышью в нужных местах).
- Нажмите
Далееи выберите формат для новых столбцов (общий, текстовый, дата и т.д.).
⚠️ Внимание: Если данные в столбце имеют разную длину (например, где-то фамилия из 5 букв, а где-то из 10), линии разрыва могут «съехать». В этом случае лучше использовать формулы или Power Query.
Что делать, если линии разрыва ставятся криво?
Если при фиксированной ширине линии разрыва не попадают на границы данных, попробуйте:
1. Преобразовать столбец в текстовый формат (CTRL+1 → Текстовый).
2. Добавить вспомогательный столбец с функцией =ДЛСТР(A1), чтобы увидеть длину каждой строки и скорректировать линии вручную.
3. Использовать Power Query (см. следующий раздел).
4. Продвинутое разделение с Power Query
Power Query (или Get & Transform в новых версиях Excel) — это инструмент для сложной обработки данных. Он позволяет разделять ячейки по нескольким критериям одновременно, очищать данные и даже объединять таблицы. Преимущество метода: все действия записываются в виде шагов, которые можно повторить для новых данных.
Пошаговая инструкция:
- Выделите исходный диапазон и перейдите на вкладку
Данные → Получить данные → Из таблицы/диапазона. - В открывшемся редакторе
Power Queryвыделите столбец, который нужно разделить. - На вкладке
Преобразоватьвыберите:- 🔸
Разделить столбец → По разделителю(указать символ). - 🔸
Разделить столбец → По количеству символов(указать фиксированную длину).
- 🔸
Закрыть и загрузить, чтобы вернуть данные в Excel.Пример: если в ячейке записано 23.05.2023 14:30, а нужно разделить дату и время, в Power Query выберите разделитель пробел. Инструмент автоматически создаст два столбца, которые затем можно преобразовать в форматы Дата и Время.
5. Разделение ячеек с помощью макросов (VBA)
Если вам регулярно приходится делить ячейки по одним и тем же правилам, имеет смысл автоматизировать процесс с помощью VBA-макроса. Например, следующий код разобьёт текст в выделенном диапазоне по запятой и распределит результаты по соседним столбцам:
Sub SplitCellsByComma()
Dim rng As Range
Dim cell As Range
Dim arr() As String
Dim i As Integer
Set rng = Selection
For Each cell In rng
If InStr(cell.Value, ",") > 0 Then
arr = Split(cell.Value, ",")
For i = LBound(arr) To UBound(arr)
cell.Offset(0, i).Value = Trim(arr(i))
Next i
End If
Next cell
End Sub
Как использовать:
- Нажмите
ALT + F11, чтобы открыть редакторVBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите нужный диапазон и запустите макрос (
ALT + F8 → SplitCellsByComma → Выполнить). - 📅 Использовать формулы:
=ЦЕЛОЕ(A1)— вернёт только дату.=A1-ЦЕЛОЕ(A1)— вернёт только время (в формате доли суток).
- 🔄 Применить
Текст по столбцамс разделителемпробел, но предварительно отформатировать ячейки какТекст(CTRL+1 → Текстовый). - ⚡ В
Power Queryразделить столбец по пробелу и преобразовать новые столбцы в форматыДатаиВремя. - Выделите ячейку →
Главная → Перенос текста(илиALT + H + W). - Либо вставьте ручной разрыв строки: поставьте курсор в нужное место и нажмите
ALT + ENTER. - Перед разделением отформатируйте столбец как
Текст(CTRL+1 → Текстовый). - Используйте
Power Queryи вручную укажите формат даты на этапе преобразования. - Если дата записана как текст (например,
15-07-2026), примените функцию=ДАТАЗНАЧ(A1). - Замените разделитель на один символ через
CTRL + H(например,=>→|), затем используйте «Текст по столбцам». - Используйте формулу с
ПОИСКиПСТР:=ЛЕВСИМВ(A1; ПОИСК(" => "; A1)-1)=ПРАВСИМВ(A1; ДЛСТР(A1)-ПОИСК(" => "; A1)-3)
- В
Power QueryвыберитеРазделить столбец → По разделителюи введите=>вручную.
⚠️ Внимание: Макросы могут безвозвратно перезаписать данные в соседних ячейках. Перед запуском сохраните резервную копию таблицы или протестируйте код на копии данных.
6. Разделение ячеек с датой и временем
Особый случай — когда в одной ячейке хранятся и дата, и время (например, 15.07.2026 18:45). Здесь стандартные методы вроде «Текст по столбцам» работают не всегда, так как Excel воспринимает такое значение как единое целое. Решения:
Если дата и время записаны в нестандартном формате (например, 2026/07/15 18:45:22), сначала приведите их к стандартному виду с помощью функции =ДАТАЗНАЧ() или Power Query.
Сравнение методов разделения ячеек
| Метод | Когда использовать | Плюсы | Минусы |
|---|---|---|---|
Текст по столбцам |
Простые разделители (запятая, точка с запятой) | Быстро, не требует формул | Не работает с нестандартными разделителями |
Формулы (ЛЕВСИМВ, ПСТР) |
Сложные правила разделения | Гибкость, динамическое обновление | Требует знания синтаксиса |
Power Query |
Большие объёмы данных, повторяющиеся задачи | Сохраняет шаги, очищает данные | Нужно изучать интерфейс |
Макросы (VBA) |
Автоматизация рутинных операций | Мгновенное выполнение, кастомизация | Риск ошибок, требует навыков программирования |
FAQ: Частые вопросы о делении ячеек в Excel
Можно ли разделить ячейку на несколько строк внутри одной ячейки?
Да, для этого используйте перенос текста:
Почему после разделения даты получаются ошибки #ЗНАЧ?
Это происходит, если Excel не распознаёт формат даты. Решения:
Как разделить ячейку, если разделитель — это несколько символов (например, " => ")?
Стандартный «Текст по столбцам» не поддерживает многосимвольные разделители. Альтернативы:
Можно ли разделить ячейку на несколько листов?
Прямого инструмента для этого нет, но есть обходные пути:
- Разделите данные на несколько столбцов (любым методом из статьи).
- Скопируйте каждый новый столбец и вставьте на отдельный лист (
CTRL + Nдля создания нового листа). - Используйте
VBA-макрос для автоматического распределения:Sub SplitToSheets()Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim i As Integer
Set rng = Selection
For i = 1 To rng.Columns.Count
Set ws = Sheets.Add(After:=Sheets(Sheets.Count))
ws.Name = "Столбец_" & i
rng.Columns(i).Copy ws.Range("A1")
Next i
End Sub
Как объединить обратно данные, которые были разделены?
Используйте функцию =СЦЕПИТЬ() (или =CONCAT() в новых версиях) или оператор &. Примеры:
- Объединение с пробелом:
=A1 & " " & B1. - Объединение с разделителем:
=СЦЕПИТЬ(A1; "; "; B1). - Для диапазона:
=ТЕКСТСОЕД(", "; ИСТИНА; A1:C1)(разделитель — запятая).
Power Query (операция Объединить столбцы).