Страницы: 1
RSS
Почему условие выполняется не корректно?
 
Условие выполняется некорректно и возвращает "ЛОЖЬ", вместо "ИСТИНЫ",хотя условие выполняется


=ЕСЛИ(И(ABS(E69)<=ABS(H69);ABS(F69)<=ABS(H69));"+";"Б")

В прикрепленном файле строка 69
Изменено: OTK76 - 18.06.2025 13:16:15
 
Кто виноват?
Знак равенства для действительных чисел лучше не применять из-за ограничения точности вычислений.

Что делать?
Код
=ЕСЛИ(И(ОКРУГЛТ(ABS(E69);0,0000001)<=ОКРУГЛТ(ABS(H69);0,0000001);ОКРУГЛТ(ABS(F69);0,0000001)<=ОКРУГЛТ(ABS(H69);0,0000001));"+";"Б")
 
Цитата
написал:
Кто виноват?Знак равенства для действительных чисел лучше не применять из-за ограничения точности вычислений.
Тобишь проблема решалась тупо функцией округления? Сколько работаю уже с подобными формулами(на примитивном уровне) с такой проблемой столкнулся впервые
 
Цитата
написал:
с такой проблемой столкнулся впервые
- О сколько нам открытий чудных
- Готовит просвещенья дух
:D  
 
OTK76, там в схеме такие данные сохранены:
<c r="E69" s="22"><f>(C69-B69)*1000</f><v>5.0000000000007816</v></c><c r="F69" s="23"><f>(D69-B69)*1000</f><v>5.0000000000007816</v></c>
 
Арифметические операции с плавающей запятой могут давать неточный результат в Excel
Согласие есть продукт при полном непротивлении сторон
 
так возможно:
=ЕСЛИ(ОКРУГЛ(МАКС(E69^2;F69^2);7)<=ОКРУГЛ(H69^2;7);"+";"Б")
 
Всем спаибо!
Страницы: 1
Читают тему
Наверх