Столкнулся с проблемой неверного определения ранга экселем. Не могу понять причину ошибки. Имеются 2 значения (в примере помечены красным), полученные делением абсолютно одинаковых исходных данных (помечены желтым), но этим одинаковым значениям присваиваются почему то разные разные ранги. Одна группа исходных данных (показатели) берется из связанной таблицы, ссылки идут не на формулы а на обычные целые числа. Ранги становятся равными, если ссылку на второе исходное данное (расположено ниже) заменить значением. Таблица в оригинале состоит из ряда показателей, по каждому определяются места и в одном случае при равенстве значений ранг пляшет, но может также быть одинаковым... Читал про погрешности Эксель, связные с делением, но хвостиков не нашел. Странно что именно при округлении второго значения или замены показателя числом а не ссылкой все работает корректно, первое значение не при чем, хотя ссылки идут просто на два числовых значения равных 20. Буду благодарен за дельный совет.
Забавно. Пытаюсь разобраться. Пока не получается. Переделал табличку чуть-чуть (оставил только "странные" значения). Думаю, что проблема где-то в ячейках, выделенных красных. Если зайти в них и нажать Enter - результат меняется.
В B3 находится значение 20.000000000000004. Как его из Экселя увидеть - не знаю. Сохранил книгу в формате XLSX, переименовал в ZIP и смотрел уже на XML
наверное надо обезопаситься округлением во всей таблице, спасибо огромное за информацию, но откуда хвост 04 приклеился если ссылка идет просто на ячейку с числом это загадкой останется)
Надеюсь, кто-нить более опытный сможет ответить на этот вопрос. Мне тоже это очень интересно. Эксель и ВБА говорят, что в ячейке B3 стоит 20, а там на самом деле 20.000000000000004. Почему? Как это увидеть не черeз XML?!
Упростил файл до предела. Может быть в отдельный пост его выкину, правда не знаю, что спрашивать, кроме того, что как узнать что там 20.000000000000004. Меня удивило, что при умножении на 10^20 эксель всё-равно продолжает делать вид, что там 2E+21, но хранит как 2.0000000000000003E+21.
И самый прикол, что в таблице есть другой показатель там его значение равно 3, он аналогично берется с того же источника и считается также, но там никаких приколов со скрытыми хвостами нет и все считается правильно