在excel中将数字转换为时间 - 可变位数

时间:2018-04-17 13:58:04

标签: excel excel-formula formatting

我有一份从仓库管理系统下载的报告。

在此报告中,有一个时间列,遗憾的是将时间放入一串数字中,这些数字可以是5-8位数字。

即。

22434900 = 22:43:49:00 with 22 being the hour, 43 the minutes, 49 the seconds.
2480000 = 02:48:00:00 with 2 being the hour, 48 the minutes etc.
54300 = 00:05:43:00

结尾的00(毫秒)不会改变每个数字,所以非常无关紧要。

是否有一种简单的方法可以格式化这些单元格中的文本,使其显示为与数字相对的时间?

提前致谢。

2 个答案:

答案 0 :(得分:4)

我知道我迟到了,但这是另一种解决方案:

=TIMEVALUE(TEXT(A1/100,"00\:00\:00.00"))

再次,正如Jerry的回答中提到的,您需要使用hh:mm:ss.00

的单元格格式

答案 1 :(得分:2)

您可以将TIME与某些数学函数结合使用:

=TIME(INT(A1/1000000),MOD(INT(A1/10000),100),MOD(A1/100,100))

TIME需要3个参数:小时,分钟和秒。

为了得到小时数,我除以1000000,然后INT将其向下舍入到最接近的整数。

为了获得分钟,我首先除以10000,但结果仍有几个小时。所以我使用MOD(当数字除以另一个数字时,它给出余数)。在第一个例子中,除法给出2243,除以100时的余数是43,这是我正在寻找的分钟数。

要获得秒数,我将数字除以100并与分钟类似,我使用MOD删除分钟和小时部分。我没有在这里使用INT,以防有毫秒,将使用此公式保留。

另请注意,我使用的是格式hh:mm:ss.00,因为如果我尝试使用hh:mm:ss:00,则Excel会抱怨。

enter image description here