Excel日期-8/11/2015 6:50:22.000=8/11/2015 6:50:22.000=FALSE?这里发生了什么?

Excel日期-8/11/2015 6:50:22.000=8/11/2015 6:50:22.000=FALSE?这里发生了什么?,excel,datetime,julian-date,Excel,Datetime,Julian Date,我有来自两个来源的数据,我试图在日期/时间上进行匹配。问题是我没有找到匹配的。因此,我将日期/时间转换为朱利安,并遇到了一些奇怪的事情 8/11/2015 6:50:22.000 42227.2849768518 8/11/2015 6:50:22.000 42227.2849768519 我以前从未见过这种情况,也不知道它是如何发生的。我唯一能想到的是,最初创建并输入到源excel文件中的日期/时间精确到了那个数字?如果是这种情况,我如何使excel表现为两个值相同?我是否需要将所有

我有来自两个来源的数据,我试图在日期/时间上进行匹配。问题是我没有找到匹配的。因此,我将日期/时间转换为朱利安,并遇到了一些奇怪的事情

8/11/2015 6:50:22.000   42227.2849768518
8/11/2015 6:50:22.000   42227.2849768519

我以前从未见过这种情况,也不知道它是如何发生的。我唯一能想到的是,最初创建并输入到源excel文件中的日期/时间精确到了那个数字?如果是这种情况,我如何使excel表现为两个值相同?我是否需要将所有日期/时间值转换为数字,并去掉右边的第十个数字,将值限制为右边的九个数字?要将精度保持在第二位,我需要存储多少位?

第三位小数位表示精度为1.15741e-8天,因此,如果它与比较值之间的差值的绝对值小于5.78705e-9,则这在您的精度要求范围内

差不多

=ABS(time1 - time2) < 5.78705e-9
=ABS(time1-time2)<5.78705e-9

应该做到这一点,如果这两个值被认为“足够接近,可以按我的目的归类为相同的值”,则返回TRUE,如果它们足够不同,则返回FALSE。

您忘记了毫秒。顺便说一句,不需要转换为数字。Excel中的DateTime值实际上只是应用了格式的浮点数。数字的整数部分是自1900年1月1日起的天数,小数部分是一天的小数部分(1秒=1天/24*60*60,或1/86400)。因此,您可以将它们作为数字使用,而不进行任何转换,并检查它们之间的差异,以确定其是否在可接受的差异范围内,从而确定相等性。