1

Это упрощенный случай проблемы, которую я вижу при использовании MS Excel 2007.

Отформатируйте свой лист, чтобы он был валютой с двумя десятичными знаками.

Ячейка А1 тип 25

Ячейка А2 тип 20.13

Ячейка А3 тип 4.87

Ячейка B3 введите формулу = A1-A2

В ячейку A4 введите формулу = IF(A1-A2 = A3, "ИСТИНА", "ЛОЖЬ")

В ячейку B4 введите формулу = IF(A3 = B3, "ИСТИНА", "ЛОЖЬ")

ОШИБКА - А4 отображает ЛОЖЬ, а В4 - ЛОЖЬ

ПРИМЕЧАНИЕ . Сначала я заметил ошибку точности в упрощенной версии. Итак, сначала я изменил точность вычисления с помощью этого руководства. Это исправило мою простую версию, но я все еще видел проблему на своей странице. Я изменил отображение десятичных разрядов на 12 знаков после запятой, все после второго знака после запятой равны нулю для всех значений на листе.

Есть ли у кого-нибудь предложения о том, что еще я могу попытаться исправить мою формулу / рабочий лист.

1 ответ1

1

При использовании арифметики с плавающей запятой и использовании результата для выполнения оценок или дальнейших расчетов часто лучше убедиться, что ваш результат имеет правильную / ожидаемую точность.

Лучший способ убедиться, что у вас правильная точность, - это использовать ROUND() в вашей формуле. В этом случае это будет =IF(ROUND(A1-A2,2)=ROUND(A3,2),"TRUE","FALSE") .

Второй метод посоветовал Microsoft здесь гарантирует только то , что клетки отображаются с правильными десятичными знаками. Внутренне они все еще могут быть немного выключены. Использование его для дальнейших перерасчетов, вероятно, приведет к большей неточности. Для оценок этот параметр не влияет.

Примечание. Использование параметра «Точность как отображаемое значение» может иметь кумулятивные эффекты расчета, которые со временем могут сделать ваши данные все более неточными. Используйте эту опцию, только если вы уверены, что отображаемое разрешение будет поддерживать точность ваших данных.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .