Excel между временами возвращает различные значения в одном и том же диапазоне
Я использую excel для вычисления общего количества минут между временами.
Моя формула расчета выглядит так: =INT((M3-L3)*1440)
Time1 Time2 Minutes
5.1.2016 21:00:00 5.1.2016 22:00:00 59
5.1.2016 22:00:00 5.1.2016 23:00:00 60
Первый результат 59, но второй результат-60.
В чем здесь проблема?
1 ответ:
Excel внутренне представляет значения даты / времени в виде чисел с плавающей запятой двойной точности. Целая часть представляет день. Десятичная часть представляет время. Числа с плавающей запятой имеют конечную точность (около 15 значащих оснований-10 цифр). Это означает, что некоторые числа не могут быть представлены точно, что вносит небольшие ошибки аппроксимации, которые могут привести к неожиданным результатам.
В вашем примере первый расчет выполняется как...
=INT((5.1.2016 21:00 - 5.1.2016 22:00)*1440) =INT((42491.875-42491.9166666667)*1440) =INT(0.041666666664241*1440) =INT(59.9999999965975) =59
Второй расчет осуществляется как...
=INT((5.1.2016 22:00 - 5.1.2016 23:00)*1440) =INT((42491.9166666667-42491.9583333333)*1440) =INT(0.041666666664241*1440) =INT(60.0000000069849) =60
Это ограничение математики с плавающей точкой.
В этом конкретном случае вы можете получить желаемые результаты, заменив INT (число) на ROUND (число, 0) или MROUND(число,1)