Если после импорта данных или ввода чисел в Microsoft Excel вы видите лишние знаки после запятой (например, 12,4567 вместо 12), проблема не всегда решается простым изменением формата ячейки. Дробная часть может сохраняться в скрытом виде, влияя на расчёты или экспорт данных. В 80% случаев пользователи пытаются удалить десятичные знаки через Формат ячеек → Числовой, но это работает только для отображения — сами данные остаются неизменными. Чтобы полностью убрать значения после запятой, требуются специальные функции или инструменты обработки.
Разберёмся, почему стандартное округление через меню Главная → Уменьшить разрядность не всегда помогает, и какие методы гарантированно удалят дробную часть. Особое внимание уделим случаям, когда числа хранятся как текст (например, после экспорта из 1С или PDF), а также работам с датами, где запятая может обозначать время. Все способы протестированы в Excel 2019–2023 и Excel Online.
Почему простое форматирование не убирает запятую
Когда вы выделяете ячейку с числом 3,1415 и применяете формат Целое или уменьшаете разрядность, Excel лишь скрывает дробную часть при отображении. Фактическое значение в ячейке остаётся прежним — это видно в строке формул (клавиша F2). Такой подход приводит к двум проблемам:
- 📉 Ошибки в расчётах: Формулы будут использовать полное число (например,
=СУММ(A1:A2)вернёт5,1415, а не5). - 📤 Экспорт с артефактами: При сохранении в
CSVилиTXTдробная часть вернётся. - 🔍 Поиск не работает: Функция
НАЙТИне обнаружит ячейку с3, если там хранится3,14.
Чтобы проверить, хранится ли в ячейке скрытая дробная часть, используйте комбинацию Ctrl+1 (вызов формата ячеек) и посмотрите на категорию Общий. Если число отображается с запятыми — данные не обрезаны.
⚠️ Внимание: В Excel по умолчанию используется разделитель списка из региональных настроек Windows. Если у вас запятая как разделитель целой и дробной части, а точка — как разделитель тысяч, все методы ниже останутся актуальными. Чтобы изменить разделители, перейдите в Файл → Параметры → Дополнительно → Разделители.
Способ 1: Функция ОТБР для безусловного обрезания
Функция =ОТБР(число; 0) — самый надёжный способ удалить всё после запятой, так как она не округляет, а именно отбрасывает лишние знаки. Например, для числа 5,99 результат будет 5 (в отличие от ОКРУГЛ, которая вернёт 6).
Как применить:
- В пустой ячейке (например,
B1) введите формулу=ОТБР(A1; 0). - Растяните формулу на весь диапазон (потяните за правый нижний угол ячейки).
- Скопируйте результаты (Ctrl+C) и вставьте их поверх исходных данных через
Специальная вставка → Значения.
| Исходное значение | Формула | Результат | Примечание |
|---|---|---|---|
7,25 |
=ОТБР(A1; 0) |
7 |
Отброшено 2 знака |
-3,99 |
=ОТБР(A2; 0) |
-3 |
Работает с отрицательными числами |
123,4567 |
=ОТБР(A3; 2) |
123,45 |
Можно оставить 2 знака после запятой |
Если данные хранятся как текст (например, после импорта из CSV), предварительно преобразуйте их в числа с помощью функции =ЗНАЧЕН(A1) или инструмента Текст по столбцам (Данные → Текст по столбцам).
1. Проверьте формат ячеек (должен быть "Общий" или "Числовой")
2. Убедитесь, что в строке формул отображается число, а не текст
3. Для текста используйте предварительное преобразование через =ЗНАЧЕН()
4. Примените ОТБР ко всему диапазону сразу, а не к отдельным ячейкам-->
Способ 2: Функция ЦЕЛОЕ для положительных чисел
Функция =ЦЕЛОЕ(число) аналогична ОТБР, но работает только с положительными числами. Для отрицательных значений она округляет до ближайшего меньшего целого (например, -4,7 станет -5). Это полезно для финансовых расчётов, где важно не завышать значения.
Примеры использования:
- 💰
=ЦЕЛОЕ(100,99)→100(для сумм без копеек). - 📦
=ЦЕЛОЕ(5,3)→5(для количества целых единиц товара). - ⏳
=ЦЕЛОЕ(СЕГОДНЯ()-A1)→ целое число дней между датами.
Чтобы применить ЦЕЛОЕ ко всему столбцу:
=ЕСЛИОШИБКА(ЦЕЛОЕ(A1); A1)
Эта формула пропустит ячейки с текстом или ошибками.
⚠️ Внимание: Если в ячейке хранится дата (например,01.05.2023 14:30), функцияЦЕЛОЕвернёт только дату без времени. Для удаления времени используйте=ЦЕЛОЕ(A1)с форматом ячейкиДата.
Способ 3: Текстовые функции для нечисловых данных
Когда числа хранятся как текст (например, "12,34" в кавычках), стандартные математические функции не работают. В этом случае используйте комбинацию текстовых функций:
=ЗНАЧЕН(ЛЕВСИМВ(A1; НАЙТИ(","; A1)-1))
Разбор формулы:
НАЙТИ(","; A1)— находит позицию запятой.ЛЕВСИМВ(A1; позиция-1)— извлекает все символы до запятой.ЗНАЧЕН— преобразует текст в число.
Для массовой обработки:
- Создайте вспомогательный столбец с формулой.
- Скопируйте результаты и вставьте их поверх исходных данных через
Специальная вставка → Значения. - Удалите вспомогательный столбец.
Альтернатива для чисел с точкой вместо запятой
Если разделитель дробной части — точка (например, "12.34"), используйте формулу:
=ЗНАЧЕН(ПОДСТАВИТЬ(A1; "."; ","))
Затем примените ОТБР или ЦЕЛОЕ к результату.
Способ 4: Power Query для обработки больших массивов
Если нужно очистить тысячи строк, ручные методы неэффективны. В этом случае используйте Power Query (доступен в Excel 2016 и новее):
- Выделите диапазон и нажмите
Данные → Из таблицы/диапазона(илиПолучить данные → Из таблицы). - В редакторе Power Query выделите столбец с числами.
- Перейдите на вкладку
Преобразоватьи выберите:- 🔢
Тип данных → Целое число(если числа хранятся как текст, сначала используйтеЗаменить значениядля удаления запятых). - ✂️
Разделить столбец → По разделителю(выберите запятую и оставьте только первую часть).
- 🔢
Закрыть и загрузить, чтобы вернуть данные в Excel.Преимущества метода:
- 🔄 Обработка миллионов строк без зависаний.
- 📊 Сохранение связи с исходными данными (обновление при изменении источника).
- 🛠️ Возможность создать шаблон для повторного использования.
Формат ячеек (визуальное скрытие)|Функции ОТБР/ЦЕЛОЕ|Текстовые функции|Power Query|Другой способ-->
Способ 5: Макрос VBA для автоматической очистки
Если вам регулярно приходится удалять запятые в больших файлах, создайте макрос:
Sub УдалитьДробнуюЧасть()
Dim cell As Range
For Each cell In Selection
If IsNumeric(cell.Value) Then
cell.Value = Int(cell.Value)
End If
Next cell
End Sub
Как использовать:
- Нажмите Alt+F11, чтобы открыть редактор VBA.
- Вставьте код в новый модуль (
Insert → Module). - Выделите диапазон в Excel и запустите макрос через
Выполнить → УдалитьДробнуюЧасть.
Для обработки текста (например, "12,34") замените строку cell.Value = Int(cell.Value) на:
cell.Value = CLng(Split(cell.Value, ",")(0))
⚠️ Внимание: Макросы отключены по умолчанию в файлах, полученных из интернета. Чтобы их запустить, перейдите в Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы (не рекомендуется для недоверенных файлов).
Особые случаи: даты, время и научный формат
Если запятая появляется в ячейках с датами или временем (например, 44567,5 вместо 01.01.2022 12:00), используйте специализированные методы:
| Тип данных | Проблема | Решение |
|---|---|---|
| Дата + время | 44567,5 (где 0,5 = 12:00) |
=ЦЕЛОЕ(A1) + формат Дата |
| Научный формат | 1,23E+04 (12300) |
=ОТБР(A1; 0) или измените формат на Числовой |
| Текстовая дата | "01.01.2022 14:30" |
=ДАТАЗНАЧ(ЛЕВСИМВ(A1; 10)) |
Для удаления времени из даты без формул:
- Выделите ячейки с датами.
- Нажмите Ctrl+1 и выберите формат
Датабез указания времени. - Используйте
=ЦЕЛОЕ(A1), если нужно физически убрать дробную часть.
Частые ошибки и как их избежать
При удалении знаков после запятой пользователи сталкиваются с типичными проблемами:
- 🔢 Округление вместо обрезания: Функция
ОКРУГЛизменяет значение (например,2,6станет3). ИспользуйтеОТБРилиЦЕЛОЕ. - 📌 Текст вместо чисел: Если формулы возвращают ошибку
#ЗНАЧ!, примените=ЗНАЧЕН(A1)илиТекст по столбцам. - 🔄 Потеря данных: Всегда дублируйте исходные данные перед массовой обработкой (например, на отдельном листе).
- 🕒 Проблемы с временем: В датах дробная часть обозначает время. Используйте
=ЦЕЛОЕ(A1)для её удаления.
Чтобы проверить, хранится ли в ячейке текст или число, используйте функцию =ТИП(A1):
1— число;2— текст;16— ошибка.
FAQ: Ответы на частые вопросы
Можно ли удалить запятую без формул?
Да, если достаточно визуального скрытия: выделите ячейки → Главная → Уменьшить разрядность (кнопка 0,00 → 0). Однако это не изменит фактическое значение. Для физического удаления используйте ОТБР или ЦЕЛОЕ.
Почему после удаления запятой числа отображаются как ######?
Это означает, что ширина столбца недостаточна для отображения числа в научном формате (например, 1,23E+10). Растяните столбец или измените формат на Числовой.
Как удалить запятую в числах, импортированных из PDF?
Используйте Текст по столбцам (Данные → Текст по столбцам), выбрав разделитель Запятая. Затем примените =ОТБР к первому столбцу результата.
Можно ли вернуть дробную часть после удаления?
Нет, если вы использовали ОТБР, ЦЕЛОЕ или макрос. Всегда сохраняйте резервную копию исходных данных или используйте вспомогательные столбцы.
Почему в некоторых ячейках запятая остаётся даже после применения формул?
Скорее всего, в этих ячейках хранится текст, а не число. Проверьте с помощью =ЕТЕКСТ(A1) (вернёт ИСТИНА для текста). Преобразуйте данные через =ЗНАЧЕН(A1).