我需要转换一些十进制小时数(例如:4.96),并在 Excel 2003 电子表格中将其读为 4:57:36(4 小时 57 分钟 36 秒)。我已经有这个公式了,但它不显示秒数。它返回的结果为 4:58。
公式如下:
=TRUNC(A1)&":"&REPT("0",2-LEN(ROUND(60*(A1-TRUNC(A1)),0)))&ROUND(60*(A1-TRUNC(A1)),0)
我需要做什么改变才能显示秒数?
答案1
您不能只除以 24 并将结果单元格自定义格式为 [h]:mm:ss 吗?
=A1/24
答案2
尝试
=(INT(A1)/1440+MOD(A1,1)/1440)*60
编辑:如果您坚持使用文本输出(以及它带来的所有负面影响),只需将公式包装在 Text() 函数中。
=TEXT((INT(A1)/1440+MOD(A1,1)/1440)*60,"hh:mm:ss")
答案3
假设您的 H:M 工作正常,最简单的方法是将小时小数转换为秒,然后使用 MOD 检查除以 60 的差异。
因此公式如下:
=TRUNC(A1)&":"&REPT("0",2-LEN(ROUND(60*(A1-TRUNC(A1)),0)))&ROUND(60*(A1-TRUNC(A1)),0)&":"&REPT("0",2-LEN(ROUND(MOD(A1*60*60,60),0)))&ROUND(MOD(A1*60*60,60),0)
答案4
你可以使用下面的公式,
如果你想将十进制数(A2)转换为10.58
=TEXT(A2/24,"hh:mm:ss")
答案是 10:34:48