我有一份从仓库管理系统下载的报告。
在这个报告中,有一个时间列,不幸的是,它将时间放入了一串数字中,长度可以是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(毫秒)在每个数字中不会改变,所以是完全不相关的。
有没有一种简单的方法来格式化这些单元格中的文本,使其显示为时间而不是数字?
先谢了。
3条答案
按热度按时间lstz6jyr1#
我知道我迟到了,但我有个办法:
同样,正如Jerry的回答中提到的,您需要使用
hh:mm:ss.00
的单元格格式flvlnr442#
您可以将
TIME
与一些数学函数一起使用:TIME
采用3个参数:小时、分钟和秒。为了得到小时数,我除以1000000,然后
INT
将其四舍五入到最接近的整数。为了得到分钟数,我先除以10000,但结果中仍然有小时数,所以我使用
MOD
(它给出一个数除以另一个数的余数)。在第一个例子中,除法得到2243,除以100的余数是43,这就是我要查找的分钟数。为了得到秒数,我将这个数字除以100,类似于分钟数,我使用
MOD
去掉分钟和小时部分,这里我没有使用INT
,因为如果有毫秒数,将使用这个公式保留毫秒数。还要注意,我使用的是格式
hh:mm:ss.00
,因为如果我尝试使用hh:mm:ss:00
,excel会抱怨。6g8kf2rb3#
对于您的仓库管理系统查询,您可能需要尝试类似以下的操作:
·获取6位数字时间并将其转换为time函数可以处理的字符串
·使用digits函数来避免数据长度变化的问题(例如64512与1113012)
·在该字符串上使用函数Time返回值(这样我们可以添加小时或分钟,如下例所示)
下面是一个示例,可以对此进行试验: