【问题标题】:Google SpreadSheet - handling MM:SS.sss time formatsGoogle SpreadSheet - 处理 MM:SS.sss 时间格式
【发布时间】:2012-02-29 12:02:22
【问题描述】:

我想处理 google 电子表格中的以下列。 Time 列表示运行 1 公里所需的分钟、秒和毫秒,我希望能够将这四个值相加。

Split   Time
1       3:13:4
2       3:20:5
3       3:16:1
4       3:26:3

我怀疑我需要将时间列转换并拆分为特定的分钟和秒列才能实现此目标,但如果开发人员提供任何建议,我将不胜感激。

我更新了时间列的格式并使用了 SPLIT / CONTINUE 函数

Minutes=SPLIT(B2,":")
Seconds=CONTINUE(C2,1,2)
Total Seconds=(C2*60)+D2

表格现在看起来像

Split Time    minutes   Seconds Total Seconds
1   03:13:00    3   13  193 
2   03:15:00    3   15  195 
3   03:16:00    3   16  196 

仍然想知道将 Total Seconds 值转换为时间的最有效方法。

【问题讨论】:

标签: time google-sheets google-sheets-formula


【解决方案1】:

您可以使用 LEFT(text, number)、MID(text, start, number) 和 RIGHT(text, number)。

详细说明:

Minutes = LEFT(B2, 1)
Seconds = MID(B2, 3, 2)
Milliseconds = RIGHT(B2, 2)

【讨论】:

  • @pnuts 谢谢。我将响应更改为分钟、秒和毫秒。
【解决方案2】:

您可以对这些值使用 SUM,例如:

=SUM(A1:A4)

或者,如果您想要更细粒度的控制,您可以使用 HOURMINUTESECOND 等函数来提取适当的值。

【讨论】:

    【解决方案3】:

    源数据是指定的(即时间列表示分钟、秒和毫秒)然后能够添加到合理的结果中(第一个样本的四个样本为 795.013 秒) ) 转换类似于:

     =60*index(split(B2,":"),0,1)+index(split(B2,":"),0,2)+index(split(B2,":"),0,3)/1000
    

    是必需的。

    将总数(假定为 C6)转换为与输入相同的荒谬格式(13:15:13):

    =int(C6/60)&":"&int(mod(C6,60))&":"&value(mid(C6,find(".",C6)+1,3))
    

    `

    【讨论】:

      【解决方案4】:

      在您的原始工作表中,在一个新列中:

      =TO_DATE("00:0" & left($B2,4))
      

      然后将公式复制到列中。 对于 B 列中的每个条目,这会将您的 M:SS(数据的左侧 4 个字符)转换为工作表的系统日期/时间格式。 然后,您可以根据需要对结果进行汇总和格式化。 这假设您的数据没有前导零。您可以添加代码来检查这一点,但如果您的时间都有个位数的分钟值,那就没关系了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-14
        • 2015-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-04
        • 2020-03-05
        相关资源
        最近更新 更多