edubun
Русский

Округление: ROUND и то, что показывает ячейка

Ячейка с форматом в два знака после точки может показывать 1.65, а хранить 1.649175. Хранимое число меняет только ROUND.

«Написано 1.65, значит, там 1.65»

У многих новичков есть одно убеждение об электронных таблицах, которое они никогда не произносят вслух: число, которое видно в ячейке, и есть число в ячейке. Возьмём налог с продаж 8.25% на цену 19.99. Налог равен 19.99 × 0.0825 = 1.649175. Задай ячейке формат с двумя знаками после точки, и она покажет 1.65. Хранит она по-прежнему 1.649175, и каждая формула, которая её использует, работает с полным значением. Формат меняет внешний вид числа. Значение под ним он не меняет никогда.

Убеждение рушится на итогах. Запиши =1/3 в три ячейки и задай формат с двумя знаками после точки: каждая покажет 0.33. Их SUM покажет 1.00, потому что хранимые значения в сумме дают ровно 1. Тот, кто сложит видимые числа вручную, получит 0.99 и решит, что лист сломан. В счетах и расчётных листках, где каждое видимое число должно сходиться, лекарство одно: округлять само хранимое значение в том месте, где считаются деньги.

Есть и вторая, менее заметная причина, по которой хранимое значение может удивить. Таблицы хранят числа в двоичном виде, а у многих десятичных дробей, например 0.1, точной двоичной записи нет. По данным Microsoft, точность Excel составляет 15 цифр, поэтому после длинной цепочки вычислений далеко за пятнадцатой цифрой могут появиться крошечные остатки. Обычно их не видно. Но они остаются частью хранимого значения, и из-за них сравнение с точным числом может дать FALSE. Округлять перед сравнением, как в =ROUND(A1,2)=0.3, полезная привычка.

Что ROUND делает с хранимым числом

ROUND(число, разряды) округляет до заданного числа знаков после точки и, в отличие от формата, меняет хранимое значение. Примеры Microsoft: =ROUND(2.15, 1) равно 2.2, =ROUND(2.149, 1) равно 2.1, а =ROUND(23.7825, 2) равно 23.78. Ровно половина округляется от нуля, поэтому =ROUND(-1.475, 2) равно −1.48. Справка Google описывает это как округление вверх и вниз по абсолютной величине, независимо от знака. При 0 разрядов получается целое число. Отрицательное значение округляет слева от десятичной точки: =ROUND(626.3, -3) равно 1000, а =ROUND(1.98, -1) равно 0.

ФормулаРезультат
=ROUND(2.15, 1)2.2
=ROUND(2.149, 1)2.1
=ROUND(-1.475, 2)−1.48
=ROUND(21.5, -1)20
=ROUND(626.3, -3)1000
=ROUND(-50.55, -2)−100

Здесь программы немного расходятся. В Excel второй аргумент, num_digits, обязателен. В Google Таблицах аргумент places необязателен и по умолчанию равен 0, поэтому =ROUND(2.5) в Таблицах даёт 3, а Excel просит дописать формулу. Если всегда указывать разряды, формула работает в обеих программах и читается яснее. Для округления всегда в одну сторону в обеих программах есть ROUNDUP и ROUNDDOWN; в этом практикуме используется только ROUND.

ROUND можно обернуть вокруг любого вычисления. =ROUND(SUM(B2:B9)/COUNT(B2:B9), 1) даёт среднее с одним знаком после точки, а =ROUND(A2*1.1, 0) прибавляет к цене 10% и округляет до целого. Такие формулы читай изнутри наружу: сначала вычисление, потом округление его результата.

Округляй там, где значение вычисляется, а не потом в итоге. =ROUND(A2*0.0825, 2) в столбце налога означает, что все видимые налоги в сумме дают видимый итог.
Загрузка

Перетащи, чтобы повернуть. Колёсико или щипок для масштаба.

B2 отформатирована с двумя знаками после точки. Выдели её, и на панели появится полное хранимое значение. A6:A8 каждая показывают 0.33, но B6 складывает их ровно в 1.
Частые ошибки
  • Нажать «Уменьшить разрядность» и считать число округлённым. Это формат числа. Ячейка выглядит округлённой, но формулы по-прежнему используют все цифры. Хранимое значение меняет только ROUND.
  • Округлять только общий итог. В каждой строке по-прежнему стоят неокруглённые суммы, поэтому видимые строки не дают видимого итога. Округляй каждую сумму там, где она вычисляется.
  • Писать в Excel =ROUND(A2). Excel требует num_digits. Таблицы принимают формулу и округляют до целого, поэтому лист, который работает в Таблицах, в Excel может застрять на этой формуле.
  • Ждать, что -1.475 округлится до -1.47. Половина округляется от нуля по абсолютной величине, поэтому результат равен −1.48.
Заметка для учителяРазница между показанным и хранимым незаметна, пока что-нибудь не перестанет сходиться, так что пусть оно не сойдётся нарочно. Начни с трёх третей, которые в сумме дают 1.00, и дай ученикам минуту поспорить. Затем выдели одну ячейку и покажи полное значение. Только после этого вводи ROUND. Отрицательные разряды поначалу путают. Свяжи их с разрядами числа (−1 означает десятки, −2 сотни, −3 тысячи) и тренируйся на ценах в целых рублях.
  1. Что возвращает =ROUND(2.15, 1)?
  2. Что возвращает =ROUND(2.149, 1)?
  3. Что возвращает =ROUND(-1.475, 2)?
  4. Что возвращает =ROUND(626.3, -3)?
  5. Что возвращает =ROUND(21.5, -1)?
  6. Что возвращает =ROUND(23.7825, 2)?
  7. В B2 хранится 1.649175 с форматом, который показывает 1.65. Что возвращает =B2*100?
  8. В трёх ячейках стоит =1/3, показано как 0.33. Что покажет их SUM с двумя знаками после точки?
    • 1.00
    • 0.99
    • 0.33
    • #VALUE!
  9. Что делает =ROUND(2.5)?
    • Google Таблицы дают 3; Excel просит недостающий аргумент
    • Обе дают 2
    • Обе дают 3
    • Обе показывают #N/A
  10. Где нужно округлять деньги, чтобы видимые числа сходились?
    • Там, где вычисляется каждая сумма
    • Только в общем итоге
    • Нигде; формата достаточно
    • На отдельном листе
Главное
  • Формат числа меняет то, что видно, а не то, что хранится.
  • ROUND(число, разряды): половина округляется от нуля; отрицательные разряды округляют слева от точки.
  • Excel требует аргумент разрядов; в Google Таблицах он по умолчанию равен 0.
  • Округляй деньги там, где они вычисляются, чтобы видимые числа сходились.
Источники курса (19)
  • Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
  • Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
  • Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
  • Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
  • Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
  • Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
  • Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
  • Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
  • Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
  • Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
  • Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
  • Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
  • Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
  • Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
  • Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
  • Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
  • Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
  • Ablebits (IF without value_if_false returns FALSE)
  • Spreadsheet Class (Sheets circular dependency shows #REF!)

Проверено: 2026-10-19