【发布时间】:2021-10-09 15:52:59
【问题描述】:
我正在尝试将用milliseconds(例如:600,2101,1110....)写入的一列中的持续时间转换为hh:mm:ss.000 格式(例如:00:00:00.600, 00:00 :02.101...) 在谷歌电子表格中使用以下公式:
=CONCATENATE(TEXT(INT(A1/1000)/86400,"hh:mm:ss"),".",A1-(INT(A1/1000)*1000))
它为几乎所有的值提供了正确的值,但一种类型的值是持续时间,其第二个数字为“0”(例如:2010,3056,1011)。
当 0 为第二位时,hh:mm:ss.000 中的小数点后的值将四舍五入到第三位并忽略 0(例如下表中的第 1 行和第 2 行)。但对于其他持续时间,它给出了正确的值(第 3 行)。
我需要一个适用于所有类型值的公式,即 1080 → 00:00:01.080 而不是 00:00:01.80 。
有人可以帮忙吗?
| Duration in milliseconds | hh:mm:ss.000 format |
|---|---|
| 1080 | 00:00:01.80 (wrong) |
| 2010 | 00:00:02.10 (wrong) |
| 1630 | 00:00:01.630 (correct) |
【问题讨论】:
-
为什么不只是
=A1/86400000并格式化单元格:hh:mm:ss.000?如果您希望输出是文本而不是数字:=TEXT(A1/86400000,"hh:mm:ss.000") -
C4中有什么? (您在公式中使用 A1 和 C4)。为什么不使用ROUND(A1,3)?您是否以错误的方式使用操作? -
抱歉已将 C4 更新为 A1。
标签: arrays datetime google-sheets google-sheets-formula number-formatting