Excel 自定义格式秒为 dd:hh:mm:ss 但隐藏前导零值

Excel custom format seconds as dd:hh:mm:ss but hide leading zero values

是否有 Excel 自定义格式字符串以 dd:hh:mm:ss 格式显示秒数,但 隐藏任何前导零值

例如,将 dd:hh:mm:ss 中的 100,000 格式化为 01:03:46:40 很简单。但是,对于 50,000 秒,我想显示为 hh:mm:ss(即 13:53:20)而不是 dd:hh:mm:ss(00:13:53:20),对所有值使用单个格式字符串。

可以使用 TEXT 公式来实现,例如:

IF(A1<60, 
TEXT(A1/86400, "ss"), 
IF(A1<3600, 
TEXT(A1/86400, "mm\:ss"), 
IF(A1<86400, 
TEXT(A1/86400, "hh\:mm\:ss"), 
TEXT(A1/86400, "d\:hh\:mm\:ss"))))

但是 returns 所有值都是文本,不允许对值进行数字排序。

它也可以通过条件格式来实现,但我宁愿只在必要时才使用它。

我希望有人会告诉我可以完成这项工作的神奇自定义格式字符串!

日期存储为天数和一天的小数部分。

所以,无论如何,Excel中的50,000意味着50,000。在将其格式化以显示等效的 hrs/mins/sec 之前,您必须将其除以 86,400 以将值转换为 50,000 seconds

完成后,您可以使用自定义数字格式:[<1]hh:mm:ss;dd:hh:mm:ss

但是,您还应该注意 dd 只会在 1-31 的范围内。届时它将回滚到 1。因此,如果您的时间超过 31 天,您将无法使用自定义数字格式来完成您想要的。