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

Aus*_*ley 5 microsoft-excel-2003 microsoft-excel

我需要的时间,如数字转换156.90156:542003年的Excel。

我发现的所有转换都错误地执行了此操作。小时数不应更改,只能更改为小数。

Chr*_*ava 8

=TRUNC(A1)&":"&REPT("0",2-LEN(ROUND(60*(A1-TRUNC(A1)),0)))&ROUND(60*(A1-TRUNC(A1)),0)
Run Code Online (Sandbox Code Playgroud)

其中 A1 是十进制值。


Bav*_*i_H 6

请注意,Excel 中的日期和时间在内部存储为天数。您可以使用此事实来简化时间量的转换。

如果您在 A1 中有一个小时数,您可以使用计算天数,=A1/24然后使用自定义数字格式将其显示为小时和分钟[h]:mm。按着这些次序:

  1. 在所需的单元格中,输入公式 =A1/24
  2. 右键单击单元格并选择设置单元格格式。
  3. 在数字选项卡上,选择自定义类别,然后输入 [h]:mm

有关自定义格式的更多信息,请参阅创建或删除自定义数字格式数字格式代码(查看最后一节“显示小时、分钟和秒”)。[ ]格式代码中的括号告诉 Excel 将金额视为持续时间而不是一天中时间。如果您将它们关闭,则 25 小时将显示为 1:00,因为 Excel 将其解释为“第二天的凌晨 1:00”。

你可以用这种方法来其他款项(金额秒,分钟或小时)转换的时间为显示格式,如[h]:mm[m]:ss[h]:mm:ss或等等。只需使用公式将金额转换为天数,然后使用自定义数字格式以您想要的方式显示。例如,如果 A1 是秒数,则可以使用=A1/24/60/60with 格式[m]:ss.0来获取分钟、秒和十分之一秒。

我发现这种方法更容易记住并根据需要重新创建。缺点是如果其他人需要编辑您的电子表格并更改数字格式或将特殊值复制并粘贴到新位置,则这些值不再有意义。