【问题标题】:Timespan formatting in ExcelExcel中的时间跨度格式
【发布时间】:2018-05-13 14:30:23
【问题描述】:

我目前使用的是自定义格式,m:ss.00,它适用于任何超过一分钟的时间,例如1:02.47。但是,如果我输入的时间少于一分钟,例如57.66,转化为50:24.00。我可以通过输入 0:57.66 来解决这个问题,但我不想总是输入前导 0: 并且我不想要前导 0: 仍然显示。我想让它明白,如果我跳过后跟冒号部分的数字,将其解释为没有分钟并简单地显示 57.66

【问题讨论】:

  • 用 VBA 很容易做到。您可以接受宏观方法吗??
  • 希望有一些我可以使用的简单格式表达式,而不是进入 VBA 代码。我想这可能是我最后的选择。

标签: excel timespan cell-formatting


【解决方案1】:

在 Excel 日期时间中:

1   =   1 day

...因此:

1 / 24            =  1 hour    =  0.04166667  formatted as m:ss.00 is 0:00.00

1 / 24 / 60       =  1 minute  =  0.00069444  formatted as m:ss.00 is 1:00.00

1 / 24 / 60 / 60  =  1 second  =  0.00001157  formatted as m:ss.00 is 0:01.00

因此,如果您有像50.24 这样的秒数,您可以通过将其除以x/24/60/60(与x/86400 相同)将其转换为Excel DateTime

这会将其转换为秒。

如果超过一分钟,您的方法有效的原因基本上是通过消除过程。像50.24 这样的“实数”看起来就像一个数字,因为它没有: 冒号或其他任何东西来区分它作为日期时间。输入 intead 0:50.24 将强制 Excel 将其识别为日期时间。

同样,输入这些日期:

12/01/1999
01/12/1999

...可能会产生不同的结果(January 12, 1999December 1, 1999),具体取决于您的regional settings(您的国家/地区是否为uses M/D/Y or D/M/Y),但是,输入以下任何一个:

01/13/1999
13/01/1999

...将both解释为“1999 年 1 月 1 日”,因为 Excel 能够消除其他可能性(因为没有第 13 个月)。


更多信息:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    相关资源
    最近更新 更多