格式化Excel,当列出这些列时,将得到hh:mm:ss的总和

我需要以小时为单位获取总持续时间:分钟:时间列表全部在一列中的秒数。 秒数需要转换成分钟和秒,当他们超过60分钟,分钟和小时。 我从CVS格式获取原始数据,因此它必须全部放入一列。 我需要用一个公式来计算每个人个人时间的总和。

例如:像01:22:03添加到00:58:57的列必须出来到02:21:00。 我曾尝试将格式放入自定义时间h:mm:ss,但不起作用。 我有太多的补充每周的手工来做,我知道有人有这个新的Excel用户的答案。

使用timevalue()函数将一个hh:mm:ssstring转换为一个序列号,可以将它们相加并显示为hh:mm:ss数字。

使用AutoSum添加所有单元格。

您所需要做的就是将适当的格式应用于其结果:

select包含总数的单元格

从格式菜单中select单元格命令

从类别列表中select自定义

在types框中,input格式[h]:mm(注意使用方括号)。

如果您想在总计中显示秒数,请input[h]:mm:ss(此格式在Excel的自定义格式中列出)

点击OK。

祝一切顺利

如果它们全部以实际时间存储,则应该可以使用[hh]:mm:ss的自定义格式(这样可以使小时总数高于24。

如果这不起作用,那么它很可能被存储为文本,在这种情况下,您将需要拆分它们,并通过公式或使用文本到列重新组合它们。

如果它被存储为适当的date= isnumber(your cell)应该返回TRUE,否则它是文本。

如果您正在复制和粘贴数据,请确保单元格未被格式化为文本格式,否则可能会导致问题。

如果你的格式总是使用这种结构(00:00:00),你可以使用:

01:22:03(A1)00:58:57(B1)0(C1)2(D1)21(E1)0(F1)02:21:00(G1)

05:22:04(A2)00:50:40(B2)0(C2)6(D2)12(E2)44(F2)06:12:44(G2)

(A3)00:08:59(B3)0(C3)11(D3)31(E3)4(F3)11:31:04(G3)

D = horas; E =分钟; F =秒

使用的公式:C1 =(NSHORA(EXTRAE(A2; 1; 2); EXTRAE(A2; 4; 2); EXTRAE(A2; 7; 2)))+ NSHORA(EXTRAE(B2; 1; 2); EXTRAE B2; 4; 2); EXTRAE(B2; 7; 2))

d1 = HORA(C1)

e1 = MINUTO(C1)

f1 = SEGUNDO(C1)

如果有必要的话,我们终于可以在不同的列中得到你的格式的结果:

= CONCATENAR(SI(LARGO(D2)<2; CONCATENAR(0; D2); D2); “:”; SI(LARGO(E2)<2; CONCATENAR(0; E2); E2); “:”; SI (LARGO(F2)<2; CONCATENAR(0; F2); F2))

select范围C1:G1并复制它以得到你想要的。 之后你也可以隐藏c,d,e和f列

由于我是程序员,我使用VBA的一切:)这里是小VBA(macros)。 没有input格式的testing,所以如果列不包含像01:12:13这样的字段,代码将会中断

 '' SUM time in Column '' Choose Column,StartRow,EndRow '' result will be placed at Column:EndRow + 1 '' Column=1 1=A,2=B, ... Dim w As Worksheet Set w = ActiveWorkbook.Worksheets(1) ''choose first worksheet Dim d As Double Dim Column, StartRow, EndRow As Integer Column = 1 ''this is A Column StartRow = 1 EndRow = 21 For i = StartRow To EndRow d = d + CDate(w.Cells(i, Column)) * 24 * 60 * 60 Next ''convert seconds to days d = d / 86400.0 ''display result in EndRow+1 w.Cells(EndRow + 1, Column) = Format(d, "hh:mm:ss")