[英]Converting MMM:SS format into HH:MM:SS
我有一个用户输入,它以 MMM:SS 的形式给出,例如 103:23,我想将其转换为正常时间格式,即对于前面的示例,103:23 将是 01:43:23。 是否可以使用 excel 公式来做到这一点?
这个公式应该这样做,将 A2 更改为引用单元格,然后输入在
=TIME(0,LEFT(A2,SEARCH(":",A2)-1),MID(A2,SEARCH(":",A2)+1,LEN(A2)))
如果单元格A1
中的输入是文本:
此公式返回表示时间的十进制数:
= TIMEVALUE( "00:" & A1 ) 'Change the `NumberFormat` to: `"HH:MM:SS"`
此公式返回时间的文本表示:
=TEXT(TIMEVALUE( "00:" & A1),"HH:MM:SS")
如果单元格A1
中的输入是数字,则表示单元格A1
的NumberFormat
为[mm]:ss
:
此公式返回表示时间的十进制数:
= A1 'Change the `NumberFormat` to: `"HH:MM:SS"`
此公式返回时间的文本表示:
=TEXT( A1, "HH:MM:SS" )
在我的情况下,我有一个有限的最大时间限制,所以我能够根据您上面的所有输入编写以下内容。 如果有人对代码有任何优化建议,请随时分享,但这似乎适用于我尝试过的输入。
=IF(E3>=420,CONCATENATE("07:",(TEXT((LEFT(E3,3)-420),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
IF(E3>=360,CONCATENATE("06:",(TEXT((LEFT(E3,3)-360),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
IF(E3>=300,CONCATENATE("05:",(TEXT((LEFT(E3,3)-300),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
IF(E3>=240,CONCATENATE("04:",(TEXT((LEFT(E3,3)-240),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
IF(E3>=180,CONCATENATE("03:",(TEXT((LEFT(E3,3)-180),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
IF(E3>=120,CONCATENATE("02:",(TEXT((LEFT(E3,3)-120),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
IF(E3<60,CONCATENATE("00:",(TEXT(LEFT(E3,2),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
IF(E3>=60,CONCATENATE("01:",(TEXT((LEFT(E3,3)-60),"00")),":",RIGHT(TEXT(E3,"0.00"),2)),
))))))))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.