将十进制小时数转换为时间

将十进制小时数转换为时间

我需要转换小时数,例如156.90156:54Excel 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。请按以下步骤操作:

  1. 在所需单元格中输入公式=A1/24
  2. 右键单击单元格并选择“设置单元格格式”。
  3. 在“数字”选项卡上,选择“自定义”类别,然后输入[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)。

相关内容