При попытке разделить число 12,75 на целую (12) и дробную (0,75) части в Excel многие пользователи сталкиваются с неожиданными результатами: функция =РАЗДЕЛИТЬ() отсутствует, а ручное разбиение через текстовые инструменты приводит к ошибкам формата. Проблема кроется в том, что Excel по умолчанию воспринимает ячейки с числами как единое значение, и для их разделения требуются специальные функции или преобразования.
Например, если в ячейке A1 хранится значение 8.42, и вам нужно перенести 8 в одну колонку, а 0.42 — в другую, простого копирования недостаточно. Система либо округлит данные, либо преобразует их в дату (если используется точка как разделитель). Решение зависит от цели: требуется ли сохранить числовой формат для дальнейших вычислений или достаточно текстового представления.
В этой статье разберём 5 рабочих методов — от стандартных функций ЦЕЛОЕ() и ОСТАТ() до текстовых формул и матричных вычислений, включая обработку отрицательных чисел и чисел с плавающей запятой. Все примеры протестированы в Excel 2019 и Office 365, но работают и в версиях с 2010 года.
1. Разделение с помощью функций ЦЕЛОЕ() и ОСТАТ()
Самый надёжный способ выделить целую и дробную части — использовать комбинацию математических функций. Функция =ЦЕЛОЕ(число) возвращает целую часть, а =ОСТАТ(число; 1) или =число-ЦЕЛОЕ(число) — дробную.
Пример для числа 15,89 в ячейке A1:
=ЦЕЛОЕ(A1) → вернёт 15
=A1-ЦЕЛОЕ(A1) → вернёт 0,89
- ✅ Плюсы: сохраняет числовой формат, работает с отрицательными числами.
- ⚠️ Минусы: для дробной части требуется отдельная ячейка или формула.
- 🔄 Альтернатива:
=ОКРВНИЗ(A1; 0)вместоЦЕЛОЕ()для округления вниз.
⚠️ Внимание: Если в настройках Excel в качестве разделителя целой и дробной части используется запятая (например,12,34), а вы вводите число с точкой (12.34), программа автоматически преобразует его в дату. Перед работой проверьте региональные настройки вФайл → Параметры → Дополнительно → Параметры редактирования.
2. Текстовые функции: ЛЕВСИМВ(), ПСТР() и НАЙТИ()
Если цель — разделить число как текст (например, для последующей конкатенации), используйте функции работы со строками. Этот метод подходит, когда исходные данные уже в текстовом формате или когда требуется сохранить ведущие нули в дробной части.
Формулы для числа "9.23" в ячейке A1 (в текстовом формате!):
=ЛЕВСИМВ(A1; НАЙТИ("."; A1)-1) → "9" (целая часть)
=ПРАВСИМВ(A1; ДЛСТР(A1)-НАЙТИ("."; A1)) → ".23" (дробная часть с точкой)
| Функция | Пример | Результат для "12.75" |
|---|---|---|
ЛЕВСИМВ() | =ЛЕВСИМВ(A1; 2) | "12" |
ПСТР() | =ПСТР(A1; 4; 2) | "75" |
ПОИСК() | =ПОИСК("."; A1) | 3 (позиция точки) |
Для преобразования результата обратно в число используйте =ЗНАЧЕН():
=ЗНАЧЕН(ЛЕВСИМВ(A1; НАЙТИ("."; A1)-1))
Как обработать числа с запятой вместо точки?
Если в ваших данных используется запятая как разделитель (например, "12,75"), замените в формулах точку (".") на запятую (","). Например:
=ЛЕВСИМВ(A1; НАЙТИ(","; A1)-1)
3. Разделение через формат ячейки (без формул)
Если задача носит визуальный характер (например, нужно отобразить целую и дробную части в одной ячейке, но разными цветами), используйте пользовательский формат. Этот метод не меняет само значение, а только его отображение.
Инструкция:
- Выделите ячейку с числом (например,
24.56). - Нажмите
Ctrl+1(или правая кнопка →Формат ячеек). - Вкладка
Число→Все форматы. - В поле
Типвведите:#.00 "целых и" ,00 "дробных".
Результат: ячейка будет отображать 24 целых и 56 дробных, но при использовании в формулах останется числом 24.56.
⚠️ Внимание: Пользовательский формат не разделяет данные на две ячейки — он только изменяет визуальное представление. Для реального разделения используйте методы из разделов 1 или 2.
4. Разделение с помощью Power Query (для больших данных)
Если вам нужно разделить тысячи строк дробных чисел, ручное применение формул займёт слишком много времени. В этом случае используйте инструмент Power Query (доступен в Excel 2016 и новее).
Пошаговая инструкция:
- Выделите диапазон с данными → вкладка
Данные→Из таблицы/диапазона. - В открывшемся редакторе
Power Queryвыделите столбец с числами. - Перейдите на вкладку
Добавить столбец→Извлечь→Текст перед разделителем(укажите.или,). - Повторите шаг 3 для
Текст после разделителя. - Нажмите
Закрыть и загрузить.
Преимущество метода: обработка миллионов строк без замедления Excel. Недостаток: дробная часть будет текстовой — для вычислений её нужно преобразовать обратно в число функцией =ЗНАЧЕН().
5. Разделение отрицательных чисел и чисел с плавающей запятой
Отрицательные числа (например, -17.34) и числа в научной нотации (например, 1.23E+05) требуют особого подхода. Стандартные функции ЦЕЛОЕ() и ОСТАТ() работают корректно, но текстовые методы могут давать сбои.
Примеры формул для отрицательных чисел:
=ЦЕЛОЕ(A1) → для -17.34 вернёт -17
=A1-ЦЕЛОЕ(A1) → вернёт -0,34 (дробная часть сохраняет знак!)
Для чисел в формате 1.23E+05 (123000) сначала преобразуйте их в стандартный вид с помощью =ЗНАЧЕН(ПОДСТАВИТЬ(A1; "E"; "*10^")), затем применяйте функции разделения.
✔ Проверьте формат ячеек (числовой или текстовый)
✔ Убедитесь, что разделитель (точка/запятая) совпадает с региональными настройками
✔ Для отрицательных чисел учитывайте знак дробной части
✔ Преобразуйте научную нотацию в стандартный формат-->
6. Автоматизация через VBA-макрос
Если разделение дробных чисел требуется выполнять регулярно, создайте макрос. Ниже приведён код, который разделяет выделенные ячейки на два столбца (целая и дробная части) и сохраняет числовой формат:
Sub SplitDecimal()
Dim rng As Range, cell As Range
Dim intPart As Double, decPart As Double
Set rng = Selection
' Добавляем два столбца справа
rng.Offset(0, 1).EntireColumn.Insert
rng.Offset(0, 2).EntireColumn.Insert
' Заголовки
rng.Offset(0, 1).Value = "Целая часть"
rng.Offset(0, 2).Value = "Дробная часть"
' Обработка каждой ячейки
For Each cell In rng
intPart = Int(cell.Value)
decPart = cell.Value - intPart
cell.Offset(0, 1).Value = intPart
cell.Offset(0, 2).Value = decPart
Next cell
End Sub
Чтобы использовать макрос:
- Нажмите
Alt+F11для открытия редактораVBA. - Вставьте код в новый модуль (
Insert → Module). - Выделите ячейки с числами и запустите макрос (
F5).
⚠️ Внимание: Макрос перезапишет данные в столбцах справа от выделенного диапазона. Перед запуском сохраните резервную копию файла.
1. Используйте ЦЕЛОЕ() и ОСТАТ() для числовых вычислений.
2. Применяйте ЛЕВСИМВ() и ПСТР() для текстовых данных.
3. Для больших массивов подходит Power Query.
4. Отрицательные числа и научная нотация требуют предварительной обработки.
5. Автоматизируйте задачу с помощью VBA, если она повторяется часто.-->
FAQ: Частые вопросы по разделению дробных чисел
Почему функция ОСТАТ(A1; 1) возвращает отрицательное значение для отрицательных чисел?
Функция ОСТАТ() сохраняет знак делимого. Например, для -12.75 формула =ОСТАТ(A1; 1) вернёт -0.75, а не 0.25. Чтобы получить положительную дробную часть, используйте:
=ABS(ОСТАТ(A1; 1))
Как разделить число, если целая и дробная части разделены запятой, а не точкой?
Если число хранится как текст с запятой (например, "3,14"), замените запятую на точку перед разделением:
=ЦЕЛОЕ(ПОДСТАВИТЬ(A1; ","; "."))
Или измените региональные настройки Excel (см. раздел 1).
Можно ли разделить дробное число на 3 части (например, 123.456 → 123, 45, 6)?
Да, используйте комбинацию текстовых функций:
=ЛЕВСИМВ(A1; НАЙТИ(","; A1)-1) → "123"
=ПСТР(A1; НАЙТИ(","; A1)+1; 2) → "45"
=ПРАВСИМВ(A1; 1) → "6"
Почему после разделения дробная часть отображается как 0,6 вместо 0,60?
Это связано с настройками отображения чисел в ячейке. Чтобы показать два знака после запятой, выделите ячейку → Ctrl+1 → выберите формат Числовой с 2 десятичными знаками.
Как разделить дробные числа в Google Таблицах?
В Google Sheets используйте те же функции, но с английскими названиями:
=INT(A1) → целая часть
=A1-INT(A1) → дробная часть
=LEFT(A1; FIND(","; A1)-1) → текстовая целая часть