我在单元格A1中有以下文本时间戳。 22-OCT-13 03.40.00.000000000 AM
。在B1中,我有以下公式:=TIME(HOUR(MID(A1,11,2)),MIN(MID(A1,14,2)),SECOND(MID(A1,17,2)))
。
收益率为12:40 AM。小时功能返回零,但分钟功能正常。我无法弄清楚它是什么。
答案 0 :(得分:3)
MIN
是最低限度的'公式,它返回值列表中的最小值,而不是MINUTE
公式。
我认为您不熟悉TIME()
,HOUR()
或MINUTE()
。
TIME()
正常'值并将它们转换为时间值。如果您有TIME(H, M, S)
,则H
是小时数(不是时间戳),M
是分钟数(也不是时间戳),S
是数字秒(再次,不是时间戳)。
HOUR()
需要一个时间值并从中提取小时。
MINUTE()
和SECOND()
与HOUR()
类似。你可能想要的是:
=TIME(MID(A1,11,2),MID(A1,14,2),MID(A1,17,2))
当您使用MID()
时,您会得到一个数字,而不是时间戳。因此,HOUR
接受该数字,将其解释为时间戳并返回小时。在您的示例中,第一个MID
返回03
。在excel中,如果将其转换为时间戳,则会得到03/01/1900 00:00(以dd / mm / yyyy hh:mm格式表示),因此小时为0
。
编辑:
顺便说一下,如果你想保留日期和时间,你可以使用这个公式(最后不要忘记AM / PM:
=SUBSTITUTE(SUBSTITUTE(A1,".",":"),":",".",3)*1
原始日期/时间几乎是Excel可以理解的日期/时间。将所有.
替换为:
,然后将第3个(最后一个):
替换为.
并乘以1告诉Excel将其转换为数字。只需将结果格式化为时间即可。