Excelstring到时间格式

在Excel中,我将使用什么函数将单元格A1中的string“2012-12-19 12:08 PM”转换为显示为“13:08”(不使用VBA)的时间格式?

没有一个Excel函数可以做你想做的事情,因为你的时间string是date和时间的组合。 按照ASmith的build议,可以组合function来获得所需的结果。

他下面的公式计算一个时间值,然后可以使用“13:30”格式格式化为一个时间。

=TIMEVALUE(MID(A1,SEARCH(" ",A1)+1,SEARCH("M",A1)-SEARCH(" ",A1))) 

公式的MID(…)部分通过“AM”或“PM”中的“M”来提取由inputstring中第一个空格后面的字符组成的时间。 TIMEVALUE函数返回提取时间string的Excel值,然后可以对其进行格式化。

假设你总是有PST或其他3个字母的时区结束,那么你可以通过简单地删除最后4个字符,即时间和date

=LEFT(A1,LEN(A1)-4)+0

如果你需要分别的时间或date,你可以分别使用MOD和INT,即时间

=MOD(LEFT(A1,LEN(A1)-4),1)

和date

=INT(LEFT(A1,LEN(A1)-4))

在任何情况下,格式化结果单元的时间/date视情况而定