Excel将文本转换为时间戳

时间:2014-06-17 18:15:13

标签: excel excel-formula

我在单元格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。小时功能返回零,但分钟功能正常。我无法弄清楚它是什么。

1 个答案:

答案 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将其转换为数字。只需将结果格式化为时间即可。