我需要转换小时数,例如156.90
在156:54
Excel 2003 中。
我发现的所有转换都不正确。小时数不应更改,而应更改小数。
答案1
=TRUNC(A1)&":"&REPT("0",2-LEN(ROUND(60*(A1-TRUNC(A1)),0)))&ROUND(60*(A1-TRUNC(A1)),0)
其中 A1 是十进制值。
答案2
请注意,Excel 中的日期和时间在内部以天数形式存储。您可以利用这一事实来简化时间量的转换。
如果 A1 中有小时数,则可以使用计算天数,=A1/24
然后使用自定义数字格式将其显示为小时和分钟[h]:mm
。请按以下步骤操作:
- 在所需单元格中输入公式
=A1/24
- 右键单击单元格并选择“设置单元格格式”。
- 在“数字”选项卡上,选择“自定义”类别,然后输入
[h]:mm
有关自定义格式的详细信息,请参阅创建或删除自定义数字格式和数字格式代码(查看最后一节“显示小时、分钟和秒”)。[
]
格式代码中的括号告诉 Excel 将金额视为期间而不是一天中的时间。如果您忽略它们,25 小时将显示为 1:00,因为 Excel 会将其解释为“第二天凌晨 1:00”。
您可以使用这种方法将其他时间量(秒、分钟或小时量)转换为显示格式,如[h]:mm
、等。只需使用公式将数量转换为天数,然后使用自定义数字格式以您想要的方式显示。例如,如果 A1 是秒数,您可以使用格式来获取分钟、秒[m]:ss
和十分之一秒。[h]:mm:ss
=A1/24/60/60
[m]:ss.0
我发现这种方法更容易记住,并可以根据需要重新创建。缺点是,如果其他人需要编辑您的电子表格,并且他们更改了数字格式或将值复制并粘贴到新位置,这些值将不再有意义。
答案3
最简单的方法是使用 @Bavi_H 的方法,但将公式包装在TEXT()
指定格式的函数中。
=TEXT(A1/24,"[h]:mm")
这样,您就无需依赖设置和维护单元格的数字格式。即使值存储为文本,它仍可用于计算(例如=MINUTES(B1)
将返回54
和=TEXT(2*B1,"[h]:mm")
将返回313:48
)。