If statement 将数字转换为时间…中的参数太多;“如果声明”;

If statement 将数字转换为时间…中的参数太多;“如果声明”;,if-statement,time,google-sheets,google-sheets-formula,array-formulas,If Statement,Time,Google Sheets,Google Sheets Formula,Array Formulas,我试图在谷歌的工作表中把数字转换成时间 (例如,“14325”至“1:43.25”及“5505”至“55.05”) 我试图让它在一分钟内和一分钟内都能工作。我有两个独立工作的公式 =if(D4<99999,"00:0"&(LEFT(D4,1)&":"&(MID(D4,2,2)&"."&(RIGHT(D4,2)))),"00:"&(LEFT(D4,2)&":"&(MID(D4,3,2)&"."&(RIGHT(D4

我试图在谷歌的工作表中把数字转换成时间

(例如,“14325”至“1:43.25”及“5505”至“55.05”)

我试图让它在一分钟内和一分钟内都能工作。我有两个独立工作的公式

=if(D4<99999,"00:0"&(LEFT(D4,1)&":"&(MID(D4,2,2)&"."&(RIGHT(D4,2)))),"00:"&(LEFT(D4,2)&":"&(MID(D4,3,2)&"."&(RIGHT(D4,2)))))
但它仍然给了我错误的时间,如果不到一分钟。(例如,“5505”显示为“00:05:50.05”)

有什么想法吗


可能有一种更简单的方法可以做到这一点(我还在学习公式…

你可以这样做:

=ARRAYFORMULA(IFERROR(REGEXREPLACE(TEXT(TIME(
 IFERROR(RIGHT(LEFT(A20:A30, LEN(A20:A30)-4), 2), 0), 
         RIGHT(LEFT(A20:A30, LEN(A20:A30)-2), 2), 
              RIGHT(A20:A30, 2)), "h:mm:ss"), "^0:", )))


如果需要持续时间,请使用以下方法:

=ARRAYFORMULA(IFERROR(REGEXREPLACE(TEXT(
 IFERROR(LEFT(A20:A30, LEN(A20:A30)-4), 0)&":"& 
   RIGHT(LEFT(A20:A30, LEN(A20:A30)-2), 2)&":"& 
        RIGHT(A20:A30, 2), "[h]:mm:ss"), "^0:|^:", )))


更新:

或者你可以一次完成,就像:

=ARRAYFORMULA(TEXT(AVERAGE(VALUE(IF(A1:A3<>"", TEXT(
 IF(IFERROR(      LEFT(A1:A, LEN(A1:A)-6))="",      0,         LEFT(A1:A, LEN(A1:A)-6))&":"&
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))&":"& 
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))&"."& 
 IF(LEN(A1:A)>1, RIGHT(A1:A, 2), "0"&A1:A), "[h]:mm:ss.00"), ))), "[h]:mm:ss.00"))
=ARRAYFORMULA(文本)平均值(如果(A1:A3),文本(
如果(IFERROR(LEFT(A1:A,LEN(A1:A)-6))=“0,LEFT(A1:A,LEN(A1:A)-6))&”:&
如果(IFERROR(RIGHT(LEFT(A1:A,LEN(A1:A)-4),2))=“”,“00”,则右(LEFT(A1:A,LEN(A1:A)-4),2))&:“&”
如果(IFERROR(RIGHT(LEFT(A1:A,LEN(A1:A)-2),2))='',“00”,则右(LEFT(A1:A,LEN(A1:A)-2),2))&“
如果(LEN(A1:A)>1,右(A1:A,2),“0”&A1:A),“[h]:mm:ss.00”),”[h]:mm:ss.00”))

您可以这样做:

=ARRAYFORMULA(IFERROR(REGEXREPLACE(TEXT(TIME(
 IFERROR(RIGHT(LEFT(A20:A30, LEN(A20:A30)-4), 2), 0), 
         RIGHT(LEFT(A20:A30, LEN(A20:A30)-2), 2), 
              RIGHT(A20:A30, 2)), "h:mm:ss"), "^0:", )))


如果需要持续时间,请使用以下方法:

=ARRAYFORMULA(IFERROR(REGEXREPLACE(TEXT(
 IFERROR(LEFT(A20:A30, LEN(A20:A30)-4), 0)&":"& 
   RIGHT(LEFT(A20:A30, LEN(A20:A30)-2), 2)&":"& 
        RIGHT(A20:A30, 2), "[h]:mm:ss"), "^0:|^:", )))


更新:

或者你可以一次完成,就像:

=ARRAYFORMULA(TEXT(AVERAGE(VALUE(IF(A1:A3<>"", TEXT(
 IF(IFERROR(      LEFT(A1:A, LEN(A1:A)-6))="",      0,         LEFT(A1:A, LEN(A1:A)-6))&":"&
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))&":"& 
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))&"."& 
 IF(LEN(A1:A)>1, RIGHT(A1:A, 2), "0"&A1:A), "[h]:mm:ss.00"), ))), "[h]:mm:ss.00"))
=ARRAYFORMULA(文本)平均值(如果(A1:A3),文本(
如果(IFERROR(LEFT(A1:A,LEN(A1:A)-6))=“0,LEFT(A1:A,LEN(A1:A)-6))&”:&
如果(IFERROR(RIGHT(LEFT(A1:A,LEN(A1:A)-4),2))=“”,“00”,则右(LEFT(A1:A,LEN(A1:A)-4),2))&:“&”
如果(IFERROR(RIGHT(LEFT(A1:A,LEN(A1:A)-2),2))='',“00”,则右(LEFT(A1:A,LEN(A1:A)-2),2))&“
如果(LEN(A1:A)>1,右(A1:A,2),“0”&A1:A),“[h]:mm:ss.00”),”[h]:mm:ss.00”))

这很有效,但我也在寻找毫秒。我在“[h]:mm:ss”中添加了“.00”,但它只是给我添加了一个“.00”。有没有办法让它读这个?(例如,“202”将改为“2.02”)谢谢!你能和我分享一下你的工作表吗?给你。太棒了,成功了!现在还有一件事。有没有办法使它创建的值成为一个数字。更改格式无效。我们试图为一名游泳运动员输入多次,然后找出这些时间的平均值。这样做是有效的,但我也在寻找毫秒。我在“[h]:mm:ss”中添加了“.00”,但它只是给我添加了一个“.00”。有没有办法让它读这个?(例如,“202”将改为“2.02”)谢谢!你能和我分享一下你的工作表吗?给你。太棒了,成功了!现在还有一件事。有没有办法使它创建的值成为一个数字。更改格式无效。我们尝试为一名游泳运动员输入多次,然后找出这些时间的平均值。
=ARRAYFORMULA(IF(A1:A<>"", TEXT(
 IF(IFERROR(      LEFT(A1:A, LEN(A1:A)-6))="",      0,         LEFT(A1:A, LEN(A1:A)-6))&":"&
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))&":"& 
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))&"."& 
 IF(LEN(A1:A)>1, RIGHT(A1:A, 2), "0"&A1:A), "[h]:mm:ss.00"), ))
=ARRAYFORMULA(TEXT(AVERAGE(VALUE(E1:E3)), "[h]:mm:ss.00"))
=ARRAYFORMULA(TEXT(AVERAGE(VALUE(IF(A1:A3<>"", TEXT(
 IF(IFERROR(      LEFT(A1:A, LEN(A1:A)-6))="",      0,         LEFT(A1:A, LEN(A1:A)-6))&":"&
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-4), 2))&":"& 
 IF(IFERROR(RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))="", "00", RIGHT(LEFT(A1:A, LEN(A1:A)-2), 2))&"."& 
 IF(LEN(A1:A)>1, RIGHT(A1:A, 2), "0"&A1:A), "[h]:mm:ss.00"), ))), "[h]:mm:ss.00"))