我正在尝试比较日期时间组(DTG)。如下所示,相同的DTG存储为稍微不同的双精度数。
13/11/2016 13:22:22 = 42687.5571990 741000000
13/11/2016 13:22:22 = 42687.5571990 162000000
在VBA中比较它们是不可能的。即如果A = B那么....不起作用。
有没有人遇到过这个?
答案 0 :(得分:0)
日期和时间存储为整数(日)和小数部分(时间)。时间是一天的比例。所以6小时是一天的1/4 = 0.15的十进制。请参阅answer on SO中的详情。
要将日期时间四舍五入到最接近的秒数,您可以使用MROUND function
。
返回四舍五入到所需倍数的数字 语法:MROUND(数字,多个)。
在下图中,您可以看到日期和时间的双倍值+其他一些示例。接下来是相同的,只是格式化为日期和时间与毫秒。接下来是Mround到秒的转换。
对于D4,公式为:=MROUND(B4;1/$B$1)
注意:由于您的语言设置,您可能需要使用,
和.
。
您可以在VBA代码中使用此知识和功能。