Ошибки при вычитании (Microsoft Excel)
Фред выразил некоторое замешательство и беспокойство по поводу результатов, полученных при вычитании определенных чисел. Например, когда он вычитает 3809717,98 из 3799904,94, он должен получить -9813,04, но вместо этого получит -9813,04000000003.
То, что видит Фред, является артефактом ограничений Excel. Проблема в конечном итоге связана с тем, как Excel работает с числами с плавающей запятой. Компьютеры должны хранить числа внутри как двоичные значения, а не как десятичные значения, которые мы видим на экране. Целые числа относительно легко можно сохранить как двоичные значения. Когда вы добавляете десятичную точку в смесь, то сохранение очень больших или очень маленьких чисел становится более проблематичным — Excel просто не может хранить их с абсолютной точностью. Вместо этого Excel предоставляет «приблизительный» результат до 15 цифр (пределы его точности). Таким образом, вы получите что-то вроде -9813.04000000003, которое содержит полные 15 цифр точности, возможные в Excel.
Полное обсуждение того, как числа с плавающей запятой поддерживаются в Excel и компьютерах в целом, может очень быстро стать чрезвычайно техническим. Для тех, кто хочет получить больше информации по теме, вот два места, где вы можете начать свое исследование:
http://support.microsoft.com/kb/78113 http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html
Суть в том, что единственный способ получить «точные» результаты, которые вы хотите, с нужным количеством десятичных знаков, — это использовать функцию ОКРУГЛ в ваших формулах, как показано здесь:
=ROUND(3799904.94 - 3809717.98, 2)
При желании вы также можете изменить точность всех формул, выполнив следующие действия:
-
Выберите «Параметры» в меню «Инструменты». Excel отображает диалоговое окно «Параметры».
-
Убедитесь, что отображается вкладка «Расчет». (См. Рис. 1.)
-
Убедитесь, что установлен флажок Precision As Displayed.
-
Щелкните ОК.
Теперь Excel использует точность, отображаемую на экране, во всех своих вычислениях, вместо того, чтобы выполнять вычисления с полной 15-значной точностью, которую он обычно поддерживает.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3354) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Errors_When_Subtracting [Ошибки при вычитании]
.