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

Зачем разделять цифры в числах и когда это пригодится

Работа с числами в Microsoft Excel часто требует не только вычислений, но и манипуляций с их структурой. Разделение цифр в числе — задача, с которой сталкиваются бухгалтеры, аналитики данных и даже маркетологи. Представьте: у вас есть столбец с 12-значными артикулами, где первые 3 цифры — код категории, следующие 4 — подкатегория, а оставшиеся — уникальный идентификатор. Или нужно вытащить год из даты в формате ДДММГГГГ. Вручную это делать нереально, если речь идет о тысячах строк.

В этой статье мы разберем 5 способов разделения цифр — от элементарных функций до автоматизации через VBA. Вы узнаете, как:

  • 🔢 Извлечь отдельные цифры по их позиции в числе
  • 📊 Разбить число на группы (например, по 3 цифры для форматирования)
  • 🤖 Автоматизировать процесс для больших массивов данных
  • 🔄 Обработать числа с ведущими нулями (например, телефонные номера)

Важно: методы работают во всех современных версиях Excel (2010–2023) и Excel Online, но некоторые функции (например, TEXTSPLIT) доступны только в Excel 365.

📊 Как часто вы работаете с разделением чисел в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Метод 1: Функции ЛЕВСИМВ, ПРАВСИМВ и ПСТР — базовый подход

Это три кита, на которых держится большинство операций с текстом в Excel. Они преобразуют число в строку и возвращают нужные символы:

  • 📌 ЛЕВСИМВ(текст; количество_символов) — берет символы слева
  • 📌 ПРАВСИМВ(текст; количество_символов) — берет символы справа
  • 📌 ПСТР(текст; начальная_позиция; количество_символов) — берет символы с указанной позиции

Пример: у вас есть число 123456789, и нужно извлечь:

  • 🔹 Первые 3 цифры: =ЛЕВСИМВ(A1;3) → вернет 123
  • 🔹 Последние 4 цифры: =ПРАВСИМВ(A1;4) → вернет 6789
  • 🔹 Цифры с 4 по 6: =ПСТР(A1;4;3) → вернет 456

Нюанс: если число хранится как число (а не текст), Excel может автоматически удалить ведущие нули. Чтобы этого избежать, предварительно преобразуйте данные в текст с помощью функции ТЕКСТ или добавьте апостроф перед числом ('0012345).

Задача Формула Результат для 123456789
Первые 2 цифры =ЛЕВСИМВ(A1;2) 12
Цифры со 2 по 5 =ПСТР(A1;2;4) 2345
Последние 3 цифры =ПРАВСИМВ(A1;3) 789
Каждая вторая цифра (нечетные позиции) =ПСТР(A1;1;1)&ПСТР(A1;3;1)&ПСТР(A1;5;1) 13579
⚠️ Внимание: Функция ПСТР в английской версии Excel называется MID. Если у вас русскоязычная версия, но формулы не работают, проверьте язык функций в настройках (Файл → Параметры → Формулы → Работа с формулами → Язык формул).

Метод 2: Разделение числа на разряды с помощью формул массива

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

=--ПСТР(ТЕКСТ(A1;"0");СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)

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

  1. Функция ТЕКСТ(A1;"0") преобразует число в строку.
  2. ДЛСТР(A1) определяет длину числа (количество цифр).
  3. ДВССЫЛ("1:"&ДЛСТР(A1)) создает массив номеров позиций от 1 до длины числа.
  4. ПСТР извлекает каждую цифру по ее позиции.
  5. -- преобразует текстовые цифры обратно в числа.

Чтобы формула заработала, введите ее как формулу массива:

  1. Выделите диапазон ячеек, куда должны выводиться цифры (например, B1:J1 для 9-значного числа).
  2. Введите формулу в строку формул.
  3. Нажмите CTRL+SHIFT+ENTERExcel 365 достаточно просто ENTER).
Почему формула возвращает #ЗНАЧ!?

Ошибка #ЗНАЧ! появляется, если выделили меньше ячеек, чем цифр в числе. Например, для числа 12345 нужно выделить 5 ячеек. Если выделите 3, формула не сможет вернуть все цифры.

Этот метод — единственный способ разделить цифры в числе без VBA, если вам нужна каждая цифра отдельно (например, для построения гистограммы распределения цифр в большом датасете).

Метод 3: Функция ТЕКСТ для форматированного разделения

Если цель — не извлечь цифры, а отформатировать число с разделителями (например, добавить пробелы или дефисы каждые 3 цифры), используйте функцию ТЕКСТ с пользовательским форматом:

=ТЕКСТ(A1;"# ##0-00-00")

Примеры форматирования:

  • 📍 Разделить пробелами каждые 3 цифры: =ТЕКСТ(A1;"# ##0 ##0 ##0")123 456 789
  • 📍 Телефонный формат: =ТЕКСТ(A1;"+7 (###) ###-##-##")+7 (123) 456-78-90
  • 📍 Номер карты: =ТЕКСТ(A1;"#### #### #### ####")1234 5678 9012 3456

Ограничение: функция ТЕКСТ возвращает текстовое значение, поэтому дальнейшие математические операции с результатом будут невозможны. Если нужно сохранить числовой формат, используйте ПОДСТАВИТЬ:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ТЕКСТ(A1;"# ##0 ##0 ##0");" ";"");"";"")
⚠️ Внимание: При использовании функции ТЕКСТ с форматом "# ##0" для числа 12345 результат будет 12 345, а не 123 45. Формат всегда группирует цифры справа налево! Чтобы разделить число как 12-345, используйте =ЛЕВСИМВ(A1;2)&"-"&ПРАВСИМВ(A1;3).

Метод 4: Power Query — разделение чисел в больших таблицах

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

  • 🔄 Разделить столбец по количеству символов
  • 📂 Добавить префиксы/суффиксы к каждому фрагменту
  • 🔄 Применить преобразование ко всем файлам в папке

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

  1. Выделите исходные данные и нажмите Данные → Из таблицы/диапазона (или Данные → Получить данные → Из таблицы/диапазона в Excel 2016).
  2. В открывшемся окне Power Query выделите столбец с числами.
  3. Перейдите на вкладку Преобразовать → Разделить столбец → По количеству символов.
  4. Укажите количество символов для разделения (например, 3 для разделения каждые 3 цифры).
  5. Выберите направление разделения: Слева направо или Справа налево.
  6. Нажмите ОК и Закрыть и загрузить.

Power Query создаст новые столбцы с фрагментами чисел. Главное преимущество этого метода — независимость от формул: данные обновляются при изменении исходного столбца, но не пересчитываются при каждом открытии файла (как формулы).

Выделить исходный диапазон без пустых строк|Преобразовать в таблицу (CTRL+T)|Проверить формат ячеек (должен быть "Текстовый")|Удалить лишние символы (пробелы, дефисы) с помощью ПЕЧСИМВ и ЗАМЕНИТЬ

-->

Метод 5: VBA-макрос для автоматизации

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

Sub SplitDigits()

Dim rng As Range

Dim cell As Range

Dim i As Integer, j As Integer

Dim numStr As String

Set rng = Selection

Application.ScreenUpdating = False

For Each cell In rng

If IsNumeric(cell.Value) Then

numStr = CStr(cell.Value)

For i = 1 To Len(numStr)

cell.Offset(0, i).Value = Mid(numStr, i, 1)

Next i

End If

Next cell

Application.ScreenUpdating = True

MsgBox "Готово! Цифры разделены.", vbInformation

End Sub

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

  1. Нажмите ALT+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Вставка → Модуль).
  3. Вернитесь в Excel, выделите диапазон с числами.
  4. Запустите макрос (ALT+F8 → Выбрать SplitDigits → Выполнить).

Макрос создаст столько новых столбцов справа, сколько цифр в самом длинном числе выделенного диапазона. Преимущество: работает с числами любого размера (в отличие от формул массива, где нужно заранее знать максимальную длину).

⚠️ Внимание: Если в выделенном диапазоне есть ячейки с текстом (не числами), макрос пропустит их. Чтобы обработать и текстовые значения, замените строку If IsNumeric(cell.Value) Then на If Not IsEmpty(cell.Value) Then.

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

Даже в простых операциях с числами легко допустить ошибку. Вот самые распространенные проблемы и их решения:

Ошибка Причина Решение
Формула возвращает #ИМЯ? Опечатка в названии функции или английский язык формул Проверьте регистр и язык (Файл → Параметры → Формулы)
Ведущие нули исчезают Ячейка имеет числовой формат Измените формат на "Текстовый" или добавьте апостроф ('00123)
ПСТР возвращает пустоту Начальная позиция больше длины строки Проверьте аргументы: ПСТР(текст; позиция; длина)
Формула массива не работает Не нажали CTRL+SHIFT+ENTER (в старых версиях) Используйте F9, чтобы проверить выделенный диапазон

Еще одна типичная проблема — неверное определение длины числа. Например, если в столбце есть числа разной длины (например, 123 и 123456), формулы вроде =ЛЕВСИМВ(A1;3) будут работать корректно только для 3-значных чисел. Решение:

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

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

Можно ли разделить число на цифры без формул?

Да, есть три способа:

  1. Текст по столбцам: Выделите столбец → Данные → Текст по столбцам → С разделителями → Далее → Указать "Другой" и ввести разделитель (например, пробел, если его нет в числе) → Готово. Этот метод сработает, только если цифры в числе уже разделены символом (например, 123-456).
  2. Power Query: Как описано в Методе 4, позволяет разделить по фиксированному количеству символов.
  3. VBA: Макрос из Метода 5 разделит цифры без формул.
Как разделить число на группы по 2 цифры (например, для ИНН)?

Используйте комбинацию функций:

=ПСТР(ТЕКСТ(A1;"0000000000");1;2) & "-" & ПСТР(ТЕКСТ(A1;"0000000000");3;2) & "-" & ПСТР(ТЕКСТ(A1;"0000000000");5;2) & "-" & ПСТР(ТЕКСТ(A1;"0000000000");7;4)

Для 10-значного ИНН эта формула вернет формат 12-34-56-7890. Функция ТЕКСТ(A1;"0000000000") добавляет ведущие нули, если число короче 10 цифр.

Почему после разделения цифры отображаются как даты (например, 01.12)?

Это происходит, если Excel интерпретирует результат как дату. Решения:

  • 🔹 Предварительно отформатируйте ячейки результата как "Текстовый".
  • 🔹 Добавьте апостроф перед формулой: ='&ЛЕВСИМВ(A1;2).
  • 🔹 Используйте функцию ТЕКСТ для явного преобразования: =ТЕКСТ(ЛЕВСИМВ(A1;2);"00").
Как разделить цифры в числе, если оно хранится как текст с разделителями (например, "123,456")?

Сначала удалите разделители с помощью ПОДСТАВИТЬ:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;",";"");" ";"")

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

Можно ли разделить цифры в онлайн-версии Excel?

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

  • 🔹 Формулы (ЛЕВСИМВ, ПРАВСИМВ, ПСТР) работают полностью.
  • 🔹 Power Query доступен в Excel Online, но с урезанным функционалом (нет некоторых опций разделения).
  • 🔹 VBA в онлайн-версии недоступен.
  • 🔹 Текст по столбцам работает, но интерфейс упрощен.

Для сложных задач рекомендуем использовать десктопную версию Excel.