Excel изменяет 3 десятичное число на полное число, несмотря на параметры форматирования и даже в формуле - PullRequest
1 голос
/ 20 марта 2020

Мой коллега прислал мне свой лист Excel и попросил меня взглянуть на него. Проблема в том, что с очень конкретным c числом (56136.598) Excel автоматически экстраполирует это число до 10 десятичных знаков полностью независимо от параметров форматирования.

В ячейке отображается число с точностью до 3 десятичных знаков, но если вы посмотрите на число в строке формул, то отобразятся все 10 десятичных знаков. Он даже меняет число на 10 десятичных знаков, если я напишу формулу от =round(56136.598,3) до =round(56136.5979999999,3).

К сожалению, учитывая отрасль, в которой я работаю, мне нужно некоторое объяснение, почему именно это конкретное число c вызывает это изменение. Недостаточно просто использовать функцию округления или усечения c, чтобы обрезать ее в 3 десятичных разрядах, тот факт, что это число и эта ячейка имеют другие настройки, чем остальные вычисления параллельной ячейки, вызывает некоторую критику. Кто-нибудь сталкивался с этим раньше? Я пробовал это в Excel 2010 и 2019 и в новых листах, та же проблема. Кажется, что Excel отказывается принимать число в 3 десятичных разрядах и заставляет самостоятельно расширяться до 10 десятичных разрядов.

1 Ответ

2 голосов
/ 20 марта 2020

Это нормальное поведение. См. Изображение ниже, где я только что ввел 56136,598 в ячейку.

enter image description here

Это происходит из-за того, что Excel является цифрой c Программа расчета, а не алгебра c один. Так что это проблема точности. Также см. Числовая c точность в Microsoft Excel .

Превышение результатов не является абсолютным, но очень близко к правильному. Разница между этими числами почти равна 0 (разница составляет 0,0000000001).

И на самом деле именно так будут действовать наиболее распространенные калькуляторы (вы просто этого не видите). Это просто природа работы калькуляторов (и компьютеров).

Так что беспокоиться не о чем.

Подробнее об этом: Понимание точности с плавающей запятой, или «Почему Excel дает мне, казалось бы, неправильные ответы?»

...