我有一个 Excel 列,其数据如下:
58m32s
72m10s
125m02s
并希望将其显示如下:
00:58:32
01:12:10
02:05:02
我应该使用什么公式组合来实现这一点?这应该可行,但事实并非如此:
=IF(MID(A1,3,1)="m",TIMEVALUE("00:"&LEFT(A1,2)&":"&RIGHT(A1,2)),TIMEVALUE(LEFT(A1,2)&":"&RIGHT(A1,2)&":00"))
谢谢
答案1
嗯,每种情况下的分钟数都不同,所以单次通话MID
不行。您可以尝试:
=("00:"&SUBSTITUTE(SUBSTITUTE(A1,"m",":"),"s",""))*1
最内层用SUBSTITUTE
替换(及时使用),第二个删除。 经过这两个替换后,您将获得以下内容:m
:
s
58:32
72:10
125:02
如果您现在将它们转换为时间,Excel 会将其解释为 hh:mm,这并非您的意图。在前面加上“00:”来欺骗 Excel:
00:58:32
00:72:10
00:125:02
现在它已经是格式了hh:mm:ss
(某种程度上),乘以1
将其转换为值并将其格式化为时间:hh:mm:ss
。这应该可以解决问题 :)