繁体   English   中英

将 MMM:SS 格式转换为 HH:MM:SS

[英]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)))

这可以简单地通过使用下面的公式来完成,其中单元格 C5 是您的输入时间

=TEXT(CONVERT(C5,"min","hr"),"hh:mm:ss")

样本

如果单元格A1中的输入是文本:

  • 此公式返回表示时间的十进制数:

     = TIMEVALUE( "00:" & A1 ) 'Change the `NumberFormat` to: `"HH:MM:SS"`
  • 此公式返回时间的文本表示:

     =TEXT(TIMEVALUE( "00:" & A1),"HH:MM:SS")

如果单元格A1中的输入是数字,则表示单元格A1NumberFormat[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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM