【问题标题】:How to convert dd:hh:mm:ss format time into seconds in Excel spreadsheet如何在 Excel 电子表格中将 dd:hh:mm:ss 格式时间转换为秒
【发布时间】:2021-03-23 22:24:57
【问题描述】:

我在 Excel 中获得了一些数据,其中大部分是 hh:mm:ss 格式。所以我可以使用像“=HOUR(A2)*3600 + MINUTE(A2)*60 + SECOND(A2)”这样的公式来转换它。

但这不适用于 dd:hh:mm:ss 格式,因为 day() 函数在这里不像 hour()/minute()/second() 那样工作。谁能帮帮我?

【问题讨论】:

  • 这些值被识别为文本,所以尝试拆分它们,分别提取日期值和时间值,然后进行转换

标签: excel excel-formula excel-2010 excel-2007 spreadsheet


【解决方案1】:

在 Excel 中,时间以天数和一天的分数表示。

一天有86400秒。

您的数据似乎都是文本。

包含 dd 参数的文本字符串不会自动转换;没有它,它将作为任何数学运算的结果。

因此您可以测试错误以区别对待 dd 格式化字符串

  • 将值乘以86400 => 秒数
  • 如果有错误,使用LEFT提取dd部分; MID提取时间部分;然后将它们加在一起,并将总和乘以86400

试试:

=IFERROR(A14*86400,(LEFT(A14,FIND(":",A14)-1)+ MID(A14,FIND(":",A14)+1,99))*86400)

如果你想要整秒,你可以将公式包装在 ROUNDINT 函数中

【讨论】:

    【解决方案2】:

    =IF(LEN(A2)-LEN(SUBSTITUTE(A2;":";""))=3;DAY(LEFT(A2;SEARCH(":";A2)-1))*24*3600+HOUR(RIGHT(A2;LEN(A2)-SEARCH(":";A2)))*3600+MINUTE(RIGHT(A2;LEN(A2)-SEARCH(":";A2)))*60+SECOND(RIGHT(A2;LEN(A2)-SEARCH(":";A2)));HOUR(A2)*3600+MINUTE(A2)*60+SECOND(A2))
    

    所有小数的选项:当您使用 SECOND 时,您将忽略所有小数,这就是为什么像 12.9883 这样的值被四舍五入为 13 秒的原因。如果你需要所有小数,你可以这样做:

    =IF(LEN(A1)-LEN(SUBSTITUTE(A1;":";""))=3;DAY(LEFT(A1;SEARCH(":";A1)-1))*24*3600+VALUE(RIGHT(A1;LEN(A1)-SEARCH(":";A1)))*24*60*60;VALUE(A1)*24*60*60)
    

    你的输出将是这样的:

    【讨论】:

      【解决方案3】:

      由于字符串代表时间,使用VALUE function 将它们转换为时间序列号,然后应用 TEXT function 将时间序列转换为秒。

      还可以使用LeftRightSubstitute 函数来分隔日期、时间和秒数。

      此公式返回在列A 中表示的总秒数

      = IFERROR( --TEXT( VALUE($A1), "[ss]" ),
        --TEXT( --LEFT( SUBSTITUTE( $A1, ":", REPT( " ", 25 ), 1 ), 25 )
       --TRIM( RIGHT( SUBSTITUTE( $A1, ":", REPT( " ", 25 ), 1 ), 25 ) ), "[ss]" ) )
      

      此公式返回在列A 中以小数表示的总秒数

      = IFERROR( --TEXT( VALUE($A1), "[ss]" )
       --RIGHT( SUBSTITUTE( $A1, ".", REPT( " ", 25 ) & ".", 1 ), 25 ),
       --TEXT( --LEFT( SUBSTITUTE( $A1, ":", REPT( " ", 25 ), 1 ), 25 )
       --TRIM( RIGHT( SUBSTITUTE( $A1, ":", REPT( " ", 25 ), 1 ), 25 ) ), "[ss]" )
       --RIGHT( SUBSTITUTE( $A1, ".", REPT( " ", 25 ) & ".", 1 ), 25 ) )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 2013-08-27
        • 2013-09-17
        • 2021-05-27
        • 2020-07-19
        • 1970-01-01
        • 2019-03-04
        相关资源
        最近更新 更多