Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 四舍五入到最接近10毫秒的时间_Excel - Fatal编程技术网

Excel 四舍五入到最接近10毫秒的时间

Excel 四舍五入到最接近10毫秒的时间,excel,Excel,我有一些时间数据,如果没有VBA,我需要四舍五入到最接近的10毫秒。例如: input: 01:02:03.017 output: 01:02:03.020 input: 03:12:44.123 output: 03:12:44.120 当前的方法是转换为整数毫秒数;将其四舍五入至最接近的10;最后转换回时间: =ROUND(A1*86400000,10)/86400000 我一定是犯了个愚蠢的错误,只是看不出来 编辑: 公式返回的值与输入值相同 假设您的时间数据在A列中: =TEXT

我有一些时间数据,如果没有VBA,我需要四舍五入到最接近的10毫秒。例如:

input: 01:02:03.017 output:  01:02:03.020
input: 03:12:44.123 output:  03:12:44.120
当前的方法是转换为整数毫秒数;将其四舍五入至最接近的10;最后转换回时间:

=ROUND(A1*86400000,10)/86400000
我一定是犯了个愚蠢的错误,只是看不出来

编辑:


公式返回的值与输入值相同

假设您的时间数据在A列中:

=TEXT(A1,"hh:mm:ss.00")+0


将数字格式更改为
文本
,然后将结尾0添加为
+0

,假设时间数据位于A列:

=TEXT(A1,"hh:mm:ss.00")+0


将数字格式更改为
TEXT
,然后将结尾0添加为
+0
10
更改为
0

将要舍入的值乘以最接近的整数,然后再次除法。通过使用10,在创建整数时间后,您将舍入到小数点后第10位

=ROUND(A1*86400000,0)/86400000

10
更改为
0

将要舍入的值乘以最接近的整数,然后再次除法。通过使用10,在创建整数时间后,您将舍入到小数点后第10位

=ROUND(A1*86400000,0)/86400000

有什么错误?@PeterT没有错误,输出就像输入…………它的like ROUND()没有做任何事情!我认为A1中的值的粒度也是10毫秒。(我在A1中使用了
=NOW()
)有什么错误?@PeterT没有错误,输出就像输入…………它的like ROUND()没有任何作用!我认为A1中的值的粒度也是10毫秒。(我在A1中使用了
=NOW()
)我的计算表明一天有86400000毫秒。但是你下降了一个数量级因为。。。1000毫秒是一秒钟。所以除数应该是每天8640000秒。这样你就得到了十进制的秒数。啊!感谢Scott…………我对自己的错误视而不见…………我错过了ROUND()函数的用法。我的计算表明一天有86400000毫秒。但是你下降了一个数量级因为。。。1000毫秒是一秒钟。所以除数应该是每天8640000秒。这样你就得到了十进制的秒数。啊!谢谢Scott…………我对自己的错误视而不见…………我错过了使用ROUND()函数的机会。@Gary的学生级优雅解决方案,尽管我认为它可以微调。在公式中,0可以与
和“0”
一起添加(而不是
+0
)。您还可以使用
TIMEVALUE
将其包装,以在有效的Excel时间戳中再次转换。因此,公式将变成
=TIMEVALUE(TEXT(A1,“hh:mm:ss.00”)和“0”)
@PeterK.Great ideas!强烈建议您添加一个额外的答案来捕捉这个想法。@Gary的学生优雅的解决方案,尽管我认为它可以微调。在公式中,0可以与
和“0”
一起添加(而不是
+0
)。您还可以使用
TIMEVALUE
将其包装,以在有效的Excel时间戳中再次转换。因此,公式将变成
=TIMEVALUE(TEXT(A1,“hh:mm:ss.00”)和“0”)
@PeterK.Great ideas!强烈建议您添加一个额外的答案来捕获该想法。