使用不同的双打

时间:2016-12-26 10:44:09

标签: excel vba

我正在尝试比较日期时间组(DTG)。如下所示,相同的DTG存储为稍微不同的双精度数。

13/11/2016 13:22:22 = 42687.5571990 741000000
13/11/2016 13:22:22 = 42687.5571990 162000000

在VBA中比较它们是不可能的。即如果A = B那么....不起作用。
有没有人遇到过这个?

1 个答案:

答案 0 :(得分:0)

不匹配的说明

日期和时间存储为整数(日)和小数部分(时间)。时间是一天的比例。所以6小时是一天的1/4 = 0.15的十进制。请参阅answer on SO中的详情。

MRound到最近的第二个

要将日期时间四舍五入到最接近的秒数,您可以使用MROUND function

  

返回四舍五入到所需倍数的数字   语法:MROUND(数字,多个)。

在下图中,您可以看到日期和时间的双倍值+其他一些示例。接下来是相同的,只是格式化为日期和时间与毫秒。接下来是Mround到秒的转换。

对于D4,公式为:=MROUND(B4;1/$B$1)

注意:由于您的语言设置,您可能需要使用,.

enter image description here

您可以在VBA代码中使用此知识和功能。