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

Работа с числами в Microsoft Excel часто требует разделения целой и дробной части — будь то для финансовых расчётов, анализа данных или подготовки отчётности. Например, вам может понадобиться выделить только рубли из суммы в рублях и копейках, или отделить часы от минут в временных значениях. К сожалению, в Excel нет единой кнопки "разделить число", но существует как минимум 5 проверенных способов сделать это быстро и без ошибок.

Многие пользователи ошибочно пытаются решить задачу через форматирование ячеек или ручное копирование, что приводит к потере точности или лишним трудозатратам. На практике же достаточно знать несколько базовых функций (ЦЕЛОЕ, ОСТАТ, ДРОБЬ) и уловок с текстовыми формулами. В этой статье мы разберём все методы — от элементарных до автоматизированных с помощью VBA, — а также покажем, как избежать типичных ошибок при работе с отрицательными числами или датами.

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

1. Базовые функции Excel для разделения чисел

Начнём с самого простого и универсального способа — встроенных функций Excel. Они работают во всех версиях программы (начиная с Excel 2007) и не требуют дополнительных надстроек.

Для извлечения целой части числа используйте функцию ЦЕЛОЕ (или INT в английской версии). Её синтаксис предельно прост:

=ЦЕЛОЕ(число)

Например, формула =ЦЕЛОЕ(12,75) вернёт 12. Важно: функция всегда округляет вниз до ближайшего целого, даже для отрицательных чисел. Так, =ЦЕЛОЕ(-3,9) даст -4, а не -3.

Для дробной части подойдёт комбинация функций ОСТАТ (или MOD) и АБС:

=число-ЦЕЛОЕ(число)

Или более надёжный вариант (работает с отрицательными числами):

=ОСТАТ(АБС(число);1)
⚠️ Внимание: Если вам нужна именно дробная часть (например, 0,75 из 12,75), а не остаток от деления, используйте первую формулу. Вторая вернёт 0,25 для числа -3,75, так как ОСТАТ учитывает знак.
  • 📌 Плюсы: работает во всех версиях Excel, не требует макросов, сохраняет связь с исходными данными.
  • ⚠️ Минусы: для отрицательных чисел нужно использовать дополнительные функции.
  • 🔄 Альтернатива: функция УСЕЧ (TRUNC) — она обрезает дробную часть без округления.
📊 Какой версией Excel вы пользуетесь?
Excel 2010-2016
Excel 2019-2023
Office 365 (онлайн/десктоп)
LibreOffice Calc
Другой

2. Разделение с помощью текстовых функций

Если числа в вашей таблице хранятся как текст (например, "12,75" вместо 12,75), или вам нужно разделить целую и дробную часть по символу-разделителю (точка, запятая, пробел), на помощь придут текстовые функции. Этот метод также полезен, когда числа импортированы из внешних источников и Excel воспринимает их как строки.

Основные функции для работы:

  • ЛЕВСИМВ (LEFT) — извлекает символы с начала строки.
  • ПРАВСИМВ (RIGHT) — извлекает символы с конца.
  • ПОИСК (FIND) — находит позицию разделителя.

Пример формулы для числа в текстовом формате "12,75":

=ЛЕВСИМВ(A1;ПОИСК(",";A1)-1)  // целая часть (вернёт "12")

=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(",";A1)) // дробная часть (вернёт "75")

Если разделитель — точка ("12.75"), замените запятую на точку в формуле. Для автоматического определения разделителя используйте функцию ПОДСТАВИТЬ:

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

3. Использование функции ДРОБЬ и других математических инструментов

Функция ДРОБЬ (FRACTION) появилась в Excel 2013 и предназначена для работы с дробями. Однако её поведение не всегда интуитивно: она возвращает дробную часть числа в виде дроби (например, 0,75 как 3/4), а не десятичного значения. Для наших задач она мало полезна, но рассмотрим её наряду с другими математическими приёмами.

Более практичный подход — использование функции ОТБР (ROUNDDOWN), которая округляет число вниз до заданного количества знаков. Например:

=ОТБР(12,75;0)  // вернёт 12 (целая часть)

=12,75-ОТБР(12,75;0) // вернёт 0,75 (дробная часть)

Для работы с отрицательными числами подойдёт комбинация АБС и ЗНАК:

=ЗНАК(A1)*(АБС(A1)-ЦЕЛОЕ(АБС(A1)))

Эта формула корректно обработает -3,75, вернув -0,75 для дробной части.

Функция Пример Результат для 12,75 Результат для -3,75
ЦЕЛОЕ =ЦЕЛОЕ(A1) 12 -4
ОТБР =ОТБР(A1;0) 12 -3
АБС+ОСТАТ =ОСТАТ(АБС(A1);1) 0,75 0,25
ЗНАК+АБС =ЗНАК(A1)*(АБС(A1)-ЦЕЛОЕ(АБС(A1))) 0,75 -0,75

4. Разделение через формат ячеек (визуальный метод)

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

Выделите ячейку с числом, нажмите Ctrl+1 (или правой кнопкой → Формат ячеек), перейдите на вкладку Число → Все форматы и введите один из шаблонов:

  • # "целых" 0 "дробных" → отобразит 12 целых 75 дробных
  • [h]:mm → для временных значений (например, 5:30 из 5,5)
  • 0\.00 → принудительно покажет два знака после запятой

Главный недостаток метода — данные остаются связанными. Если вы скопируете значение такой ячейки в другую программу, оно будет перенесено целиком (например, 12,75, а не 12 или 0,75).

⚠️ Внимание: Пользовательский формат не работает с текстом. Если в ячейке хранится строка "12,75", а не число, метод не сработает.

Убедитесь, что ячейка содержит число, а не текст|Проверьте региональные настройки разделителя (точка/запятая)|Сохраните оригинальные данные в другой колонке|Протестируйте формат на копии данных-->

5. Автоматизация с помощью макросов VBA

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

Откройте редактор VBA (Alt+F11), вставьте новый модуль (Insert → Module) и скопируйте туда следующий код:

Sub SplitIntegerFraction()

Dim rng As Range

Dim cell As Range

Dim intPart As Double, fracPart As Double

Set rng = Selection

For Each cell In rng

If IsNumeric(cell.Value) Then

intPart = Int(cell.Value)

fracPart = cell.Value - intPart

cell.Offset(0, 1).Value = intPart

cell.Offset(0, 2).Value = fracPart

End If

Next cell

End Sub

Чтобы запустить макрос:

  1. Выделите диапазон с числами.
  2. Нажмите Alt+F8, выберите SplitIntegerFraction и нажмите Выполнить.
  3. Результаты появятся в двух столбцах справа от исходных данных.

Для обработки отрицательных чисел модифицируйте строку с fracPart:

fracPart = Abs(cell.Value - intPart) * Sign(cell.Value)
Как сохранить файл с макросом?

Чтобы макрос работал после сохранения, выберите формат .xlsm (Excel Macro-Enabled Workbook) при сохранении файла. Если сохранить как .xlsx, макрос будет удалён.

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

Числа с дробной частью в Excel часто представляют даты и время. Например, значение 44567,75 соответствует дате и времени: 44567 — количество дней с 1 января 1900 года, а 0,75 — время (18:00, так как 0,75 × 24 = 18 часов).

Для извлечения компонентов используйте функции:

  • ДЕНЬ, МЕСЯЦ, ГОД — для даты.
  • ЧАС, МИНУТЫ, СЕКУНДЫ — для времени.

Примеры:

=ЦЕЛОЕ(A1)  // дата без времени (например, 44567)

=A1-ЦЕЛОЕ(A1) // дробная часть (0,75)

=ЧАС(A1*24) // часы (18)

=МИНУТЫ((A1-ЦЕЛОЕ(A1))*1440) // минуты (0)

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

=A1*24  // вернёт 18,5 (18 часов 30 минут)

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

Выбор метода зависит от задачи, объёма данных и требуемой автоматизации. Ниже сводная таблица с плюсами и минусами каждого подхода.

Метод Когда использовать Плюсы Минусы
Функции ЦЕЛОЕ/ОСТАТ Для разовых расчётов, небольших таблиц Простота, нет нужды в макросах Требует коррекции для отрицательных чисел
Текстовые функции Если числа хранятся как текст или нужно разделить по символу Работает с нестандартными форматами Не подходит для математических операций
Пользовательский формат Для визуального отображения без изменения данных Не требует дополнительных столбцов Не разделяет данные физически
Макросы VBA Для обработки больших массивов, регулярных задач Автоматизация, гибкость Требует навыков программирования
Функции даты/времени Для работы с временными метками Точность, встроенные инструменты Ограничен специфическим форматом данных

Критическая ошибка: если вы используете функцию ОКРУГЛ (ROUND) вместо ЦЕЛОЕ или ОТБР, результаты для отрицательных чисел будут неверными. Например, =ОКРУГЛ(-3,75;0) вернёт -4, а не -3.

FAQ: Частые вопросы по разделению чисел в Excel

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

Да, с помощью текста по столбцам:

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

Метод работает, если числа хранятся как текст. Для числовых данных предварительно преобразуйте их в текст функцией =ТЕКСТ(A1;"0,00").

Почему функция ДРОБЬ возвращает не то, что я ожидаю?

Функция ДРОБЬ преобразует число в дробь с заданным знаменателем. Например, =ДРОБЬ(0,75;4) вернёт 3/4, а не 0,75. Для извлечения десятичной дробной части используйте =A1-ЦЕЛОЕ(A1).

Как разделить число, если дробная часть отделена пробелом (например, "12 75")?

Используйте функцию ПОИСК для нахождения пробела:

=ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)  // целая часть

=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1)) // дробная часть

Для преобразования в числа оберните результаты в ЗНАЧЕН.

Можно ли автоматически разделить числа при импорте из CSV?

Да, при импорте через Данные → Из текста/CSV на этапе выбора разделителя укажите символ, разделяющий целую и дробную часть (запятая, точка, пробел). Excel автоматически разобьёт данные по столбцам.

Как разделить число на разряды (например, получить отдельно единицы, десятки, сотни)?summary>

Используйте комбинацию функций ЦЕЛОЕ и деления на 10^n:

=ЦЕЛОЕ(A1/100)  // сотни

=ОСТАТ(ЦЕЛОЕ(A1/10);10) // десятки

=ОСТАТ(A1;10) // единицы

Для числа 1234 формулы вернут 12, 3 и 4 соответственно.