Excelstring持续时间

我有一个“2d 8h56m23s”的date。 我想添加不同的这种types的持续时间。

我的第一个想法是转换为date格式,但我永远不能增加持续时间。 我也用这个来改变types,但总和不起作用。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2;"d";"");"h";":");"m";":");"s";"") 

例:

 2d 8h56m23s + 0d 11h00m00s = 2d 19h56m23s 

假设A2和B2中的值,我build议分两个阶段(尽pipe公式可能会合并成一个很长的一个):

  1. 作为你的方法,在C2中说,并复制到D2:

     =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2;"h";":");"m";":");"d";"");"s";"") 

然后2.(在E2中,并复制到F2):

 =LEFT(C2;FIND(" ";C2))+TIMEVALUE(MID(C2;FIND(" ";C2);25)) 

这些可能会被视为数字,例如,可能会按照XOR LX所build议的格式添加:

 d"d" h"h"m"m"s"s" 

我看到你已经接受@pnuts的答案,我采取了类似的路线,但去了一个单一的公式:

 =TIMEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(RIGHT(A2;LEN(A2)-FIND("d";A2));"h";":");"m";":");"s";""))+LEFT(FIND("d";A2);FIND("d";A2)-1) 

这将会给出一个十进制的持续时间,然后你可以根据需要进行求和和格式化。