Как удалить сотые в Excel: от форматирования до макросов

При работе с финансовыми отчетами, бухгалтерскими ведомостями или техническими расчетами в Microsoft Excel часто возникает проблема: числа отображаются с лишними знаками после запятой — например, 12,3456 вместо нужных 12,35 или 12,3. Сотые доли (второй знак после запятой) не только портят визуальное восприятие таблицы, но и могут искажать результаты при копировании данных в другие системы. Проблема усугубляется, если эти значения были импортированы из внешних источников (1С, банковские выписки, CSV-файлы) или получены через формулы с высокой точностью вычислений.

В 80% случаев пользователи пытаются решить вопрос через обычное форматирование ячеек (Числовой формат → 2 десятичных знака), но это лишь маскирует проблему: сами данные остаются неизменными. Если скопировать такую ячейку в текстовый файл или использовать её в дальнейших расчетах, «спрятанные» сотые проявятся снова. Правильное решение зависит от цели: нужно ли округлить значения (изменив их математически) или просто отобразить без сотых (сохранив исходные данные). Ниже разобраны оба подхода с учетом нюансов разных версий Excel.

1. Быстрое решение: форматирование ячеек без изменения данных

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

Как это сделать:

  • 📌 Выделите диапазон ячеек (например, A1:D100).
  • 🖱️ Нажмите правой кнопкой мыши → Формат ячеек (или используйте горячие клавиши Ctrl+1).
  • 📊 В окне формата выберите категорию Числовой.
  • 🔢 В поле Число десятичных знаков укажите 1 (для десятых) или 0 (для целых чисел).

⚠️ Внимание: Этот способ визуально обрезает сотые, но при копировании ячейки в буфер обмена или экспорте в CSV полные данные сохранятся. Например, ячейка с числом 5,678 будет показана как 5,7, но при вставке в Notepad отобразится исходное значение.

2. Округление чисел с изменением данных

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

Функция Синтаксис Пример Результат для 3,1456
ОКРУГЛ =ОКРУГЛ(число; количество_знаков) =ОКРУГЛ(A1;1) 3,1
ОКРУГЛВВЕРХ =ОКРУГЛВВЕРХ(число; точность) =ОКРУГЛВВЕРХ(A1;0,1) 3,2
ОКРУГЛВНИЗ =ОКРУГЛВНИЗ(число; точность) =ОКРУГЛВНИЗ(A1;0,1) 3,1
ЦЕЛОЕ =ЦЕЛОЕ(число) =ЦЕЛОЕ(A1) 3

⚠️ Внимание: Функция ОКРУГЛ использует правила математического округления (5 и выше — вверх, меньше 5 — вниз). Если нужно всегда округлять в меньшую сторону (например, для финансовых расчетов), используйте ОКРУГЛВНИЗ или ЦЕЛОЕ.

Пример применения:

  1. В пустой столбец рядом с исходными данными введите формулу (например, =ОКРУГЛ(B2;1)).
  2. Протяните формулу на весь диапазон (двойной клик по маркеру автозаполнения).
  3. Скопируйте результаты (Ctrl+C) и вставьте их поверх исходных данных через Специальная вставка → Значения.
Как округлить до десятых с помощью Power Query

1. Выделите данные → Данные → Из таблицы/диапазона.

2. В редакторе Power Query выберите столбец → Преобразовать → Округлить → Округлить до десятых.

3. Нажмите Закрыть и загрузить.

3. Удаление сотых через «Текст по столбцам»

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

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

  • 📋 Выделите столбец с данными.
  • 🔧 Перейдите на вкладку Данные → Текст по столбцам.
  • 📌 Выберите С разделителями → Далее.
  • 🔳 Снимите все галочки с разделителей (запятая, точка с запятой и т.д.) → Далее.
  • 🔢 В окне Формат данных столбца выберите Текстовый и нажмите Готово.
  • 📊 Теперь в соседнем столбце появятся обрезанные значения. Скопируйте их и вставьте поверх исходных данных через Специальная вставка → Значения.

Этот способ работает только для чисел с фиксированным количеством знаков после запятой. Например, если все числа имеют вид XX,XXXX (4 знака), инструмент разобьет их на две части: XX,XX и XX.

📊 Какой метод вы используете чаще для удаления сотых в Excel?
Форматирование ячеек
Функции округления
Текст по столбцам
Макросы/VBA
Другой способ

4. Автоматизация: макрос для удаления сотых

Для обработки больших объемов данных (тысячи строк) целесообразно использовать VBA-макрос. Ниже приведен код, который округляет все выделенные ячейки до одного знака после запятой:

Sub RoundToOneDecimal()

Dim cell As Range

For Each cell In Selection

If IsNumeric(cell.Value) Then

cell.Value = Round(cell.Value, 1)

End If

Next cell

End Sub

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

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

⚠️ Внимание: Макрос необратимо изменяет данные. Перед запуском сохраните резервную копию файла. Для округления до целых чисел замените Round(cell.Value, 1) на Int(cell.Value).

Выделен правильный диапазон ячеек|Создана резервная копия файла|Включена поддержка макросов (файл с расширением .xlsm)|Проверено, что в выделенных ячейках нет текста (только числа)-->

5. Особенности работы с денежными форматами

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

Для денежных форматов рекомендуется:

  • 💰 Использовать функцию ОКРУГЛВНИЗ для сумм, где важна точность в меньшую сторону (например, налоги).
  • 📈 Для курсов валют или процентных ставок применяйте ОКРУГЛ с 4 знаками после запятой, даже если визуально отображаете 2.
  • 🔄 Перед округлением проверьте, не приведет ли это к накоплению погрешности в итоговых суммах (особенно актуально для больших таблиц).

Пример формулы для бухгалтерского округления до копеек:

=ОКРУГЛ(A1*100;0)/100

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

6. Проблемы и ошибки при удалении сотых

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

Проблема Причина Решение
После округления сумма строк не равна итогу Погрешность накапливается при округлении каждого числа отдельно Сначала сложите все числа, затем округлите итог
Функция ОКРУГЛ не работает Ячейка содержит текст, а не число Используйте =ЗНАЧЕН(ПОДСТАВИТЬ(A1;",";".")) для преобразования
После копирования снова появляются сотые Данные скопированы как формулы, а не значения Используйте Специальная вставка → Значения
Округление работает некорректно для отрицательных чисел Функции ОКРУГЛВВЕРХ/ВНИЗ учитывают знак числа Используйте =ОКРУГЛ(A1;1) или =ОТБР(A1*10)/10

🔹 Критичный нюанс: Если вы работаете с процентами, сначала преобразуйте их в десятичные дроби (разделите на 100), округлите, а затем верните обратно в проценты. Например:

=ОКРУГЛ(A1/100;2)*100

7. Альтернативные методы для опытных пользователей

Если стандартные способы не подходят, рассмотрите продвинутые инструменты:

  • 🛠️ Power Query: Позволяет округлить данные на этапе импорта. Подходит для регулярно обновляемых отчетов.
  • 📊 Условное форматирование: Можно скрыть сотые только для чисел, удовлетворяющих определенному условию (например, =A1>100).
  • 🤖 Office Scripts (Excel Online): Аналог макросов для веб-версии Excel. Код для округления:
    function main(workbook: ExcelScript.Workbook) {
    

    let sheet = workbook.getActiveWorksheet();

    let range = sheet.getUsedRange();

    range.getValues().forEach((row, i) => {

    row.forEach((cell, j) => {

    if (typeof cell === 'number') {

    sheet.getCell(i, j).setValue(Math.round(cell * 10) / 10);

    }

    });

    });

    }

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

1. Нужно ли сохранять исходные данные (форматирование vs округление).

2. Требуется ли округление в большую/меньшую сторону или по математическим правилам.

3. Будут ли данные использоваться в дальнейших расчетах (риск накопления погрешности).-->

Часто задаваемые вопросы

Можно ли удалить сотые только для конкретных чисел в столбце (например, больше 1000)?

Да, используйте формулу с условием:

=ЕСЛИ(A1>1000; ОКРУГЛ(A1;0); A1)

Эта формула округлит до целых только числа > 1000, остальные оставит без изменений.

Почему после округления в Excel появляются символы ####?

Это означает, что ширина столбца недостаточна для отображения числа. Растяните столбец или уменьшите размер шрифта. Также проверьте, не установлен ли в ячейке текстовый формат — в этом случае Excel не сможет отобразить число корректно.

Как удалить сотые в Google Таблицах?

Методы аналогичны Excel:

  • Форматирование: Формат → Числа → 1 десятичный знак.
  • Округление: функции =ROUND(A1;1), =ROUNDDOWN(A1;1).
  • Макросы: используйте Apps Script с кодом, аналогичным VBA.
Можно ли удалить сотые при экспорте в PDF?

Да, но только визуально. При экспорте в PDF Excel сохраняет текущее отображение ячеек. Если применить числовой формат с 1 десятичным знаком, в PDF попадут числа без сотых. Однако в исходном файле Excel данные останутся неизменными.

Как проверить, остались ли сотые в данных после округления?

Используйте функцию =ДЛСТР(ПОДСТАВИТЬ(ТЕКСТ(A1;"0,0000");",";""))-ДЛСТР(ПОДСТАВИТЬ(ТЕКСТ(A1;"0,00");",";"")). Если результат > 0, в числе есть скрытые сотые/тысячные.