Я делаю математику средней точки, используя эту формулу

A1-MOD(A1+(Constants!$A$1/2),Constants!$A$1)

(Где значения в столбце A являются десятичными, а значения в Constants!$A$1 - точное целое число)

Затем сопоставление на вспомогательном листе со значениями, введенными точно с точностью до десятого места.

VLOOKUP(B1,Data!$A:$B,2,FALSE)

Но VLOOKUP мои ценности непоследовательно. Его результат (ради этого поста значения идентичны в обоих столбцах параметра table_array ):

Пример поиска данных

Согласно этому вопросу о числовой точности Excel, он поддерживает до 15 цифр, поэтому я увеличил десятичную точность, чтобы посмотреть, что он вычисляет:

Кажется, чтобы быть совершенно точным

Оборачивая мои значения в столбце "Band" с помощью ROUND(..., 2) он заработал, как и ожидалось, но почему?

PS Обратите внимание, я использую Excel 2013.

1 ответ1

0

Это видео имеет очень хорошее объяснение о двоичном хранилище и числах с плавающей запятой. https://www.youtube.com/watch?v=PZRI1IfStY0&t=1s

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

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