【问题标题】:Formula to write milliseconds in hh:mm:ss.000 format gives wrong values以 hh:mm:ss.000 格式写入毫秒的公式给出了错误的值
【发布时间】: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


【解决方案1】:

尝试:

=INDEX(IF(A2:A="",,TEXT(A2:A/86400000, "hh:mm:ss.000")))

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2012-02-20
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多