如何在Excel中将hh:mm:ss.000转换为毫秒?

我有一个输出时间格式hh:mm:ss.000 ,例如00:04:58.727的设备,我需要将它们转换为毫秒。

我不能改变设备输出时间的方式,所以我必须在Excel中做,但我不知道VB,所以我正在寻找一个单元格的解决scheme。

使用一些文本操作,我们可以将每个时间单位分开,然后将它们与毫秒系数相加。

要显示单元格中的公式,请使用CTRL +`


原始数据视图


公式视图

假设你的时间值在单元格A1然后在A2你可以把:

 =A1*1000*60*60*24 

或者干脆:

 =A1*86400000 

我正在做的是采取时间的十进制值,乘以1000(毫秒)和60(秒)和60(分钟)和24(小时)。

您将需要将单元格A2格式化为常规,以毫秒为单位格式。

如果你的时间是一个文本值,然后使用:

 =TIMEVALUE(A1)*86400000 

你可以这样做:

细胞[B1]:0:04:58.727

单元格[B2]:= FIND(“。”; B1)

单元格[B3]:= LEFT(B1; B2-7)

单元格[B4]:= MID(B1; 11-8; 2)

单元格[B5]:= RIGHT(B1; 6)

单元格[B6]:= B3 * 3600000 + B4 * 60000 + B5

也许你不得不把B5乘以1000。

= FIND(“。”; B1)只是必要的,因为你可能有像'0:04:58.727'或'10:04:58.727'等不同长度的input。

而不是做string操作,你可以使用HOUR,MINUTE,SECONDfunction来分解时间。 然后,您可以乘以60 * 60 * 1000,60 * 1000和1000分别获得毫秒。

这是一个单一的公式:

 =(RIGHT(D2,3))+(MID(D2,7,2)*1000)+(MID(D2,4,2)*60000)+(LEFT(D2,2)*3600000) 

使用

 =LEFT(B2, 2)*3600000 + MID(B2,4,2) * 60000 + MID(B2,7,2)*1000 + RIGHT(B2,3) 

尝试这个:

 =(RIGHT(E9;3))+(MID(E9;7;2)*1000)+(MID(E9;5;2)*3600000)+(LEFT(E9;2)*216000000) 

也许你需要通过昏迷来改变分号