如何在Excel中添加前导零(带ms的时间戳没有前导零)
我仍然有一些严重的问题与一些文件。 这是一个相当愚蠢的问题,但我一直在努力工作了很长一段时间,找不到解决办法。 我需要在时间戳中引导零,至less在ms级。 我的软件的时间戳总是这样的:(例子)
9:55:1:19
(即9h,55min,1sec,19ms)
而我需要的样子
09:55:01:019
在Excel中进行转换没有问题。 我用
=VALUE(SUBSTITUTE(G2;":";",";3))
但我总是得到
09:55:01:190
(190ms !!)
因此,毫秒总是像逗号值一样读取,这从软件的angular度是可以理解的。
我想要一个解决scheme,将正确的值附加到新列中每行的末尾,或直接将原始列(D)中的值更改为正确的值。 (追加是好的,因为我的其他脚本已经这样工作了!)
你能帮忙吗?
https://www.dropbox.com/sh/3ch6ikddplnyjgg/vUfnVgbbzH这里是一个示例文件
像A1这样的值:
0.413206238
公式:
=SUBSTITUTE(TEXT(A1,"hh:mm:ss.000"),".",":")
将显示:
09:55:01:019
编辑#1:
或者如果你想转换列D中的值,就地。 select单元格并运行这个小macros:
Sub FFormat() Dim r As Range, L As Long, U As Long For Each r In Selection ary = Split(r.Text, ":") U = UBound(ary) L = LBound(ary) For i = L To U If Len(ary(i)) = 1 Then ary(i) = "0" & ary(i) End If Next i If Len(ary(U)) = 2 Then ary(U) = "0" & ary(U) End If r.Value = Join(ary, ":") Next r End Sub
如果原来在R12(我的例子)是文本,你可以input这个大公式:
=TEXT(LEFT(SUBSTITUTE(R12;":";REPT(" ";20));4);"00") & ":"&TEXT(MID(SUBSTITUTE(R12;":";REPT(" ";20));14;20);"00") & ":" & TEXT(MID(SUBSTITUTE(R12;":";REPT(" ";20));34;20);"00") & ":" & TEXT(MID(SUBSTITUTE(R12;":";REPT(" ";20));54;20);"000")
根据您的区域设置,您可能需要将字段分隔符“;”replace为“,”
G列中的数据有一个前导空间 – 无论您是否有前导空格,新列中的这个公式应转换为有效的时间值
=LEFT(TRIM(G2);FIND("^";SUBSTITUTE(TRIM(G2);":";"^";3))-1)+LOOKUP(1000;RIGHT(G2;{1;2;3})+0)/86400000
格式为[h]:mm:ss.000
这将应付单位或双数毫秒,假设如果没有毫秒,你仍然会有第三个:后面跟着一个零。 还可以应付单位数小时,分钟或秒钟