Excel 同一日期时间组以不同的双精度存储
我试图比较日期时间组(DTG)。如下图所示,相同的DTG存储为略有不同的双精度 2016年11月13日13:22:22=42687.5571990741000000Excel 同一日期时间组以不同的双精度存储,excel,vba,Excel,Vba,我试图比较日期时间组(DTG)。如下图所示,相同的DTG存储为略有不同的双精度 2016年11月13日13:22:22=42687.5571990741000000 2016年11月13日13:22:22=42687.5571990162000000 在VBA中比较它们是不可能的。如果A=B,那么。。。。不起作用。 以前有人遇到过这种情况吗?对不匹配的解释 日期和时间存储为整数(天)和小数部分(时间)。时间是一天的一部分。因此,6小时是一天的1/4=十进制的0,25。更多信息请参阅 M精确到最近
2016年11月13日13:22:22=42687.5571990162000000 在VBA中比较它们是不可能的。如果A=B,那么。。。。不起作用。
以前有人遇到过这种情况吗?对不匹配的解释 日期和时间存储为整数(天)和小数部分(时间)。时间是一天的一部分。因此,6小时是一天的1/4=十进制的0,25。更多信息请参阅 M精确到最近的秒 要将日期时间舍入到最接近的秒,可以使用 返回四舍五入到所需倍数的数字。
语法:MROUND(数字,多个) 在下图中,您可以看到日期和时间的双值+一些其他示例。下一步是相同的,只是格式化为带有毫秒的日期和时间。接下来是Mround到seconds的转换 对于D4,公式为:
=MROUND(B4;1/$B$1)
注意:由于您的语言设置,您可能需要使用、
和
您可以在VBA代码中使用此知识和函数。尝试使用
CDate()
值,以便在比较之前将其转换为日期。您希望比较的精确度如何?天?秒?毫秒?准确的数字的小数部分是一天24小时的小数部分。例:42687.5
is 13/11/2016 12:00:00不起作用,但谢谢你的提示。我不知道CDate是个东西。我认为我需要将我的值四舍五入到最接近的秒,因为它们被定义为ms。