Excel和Microsoftdate代码转换

我如何将这个(69.36)转换成多less个月,几天,几小时,几分钟和几秒?

更新2:对不起,还有更多的情况下更新1中的代码将不匹配。 我有两个build议,一个很容易,但只有几天,几小时,几分钟和几秒钟:

=FLOOR(B4-A4,1)&":"&TEXT((B4-A4)-FLOOR(B4-A4,1),"hh:mm:ss") 

但上面的请求需要几个月,这是非常棘手的内置date函数,因为月份不是天数相同的长度。 和以前一样,我有一个两个单元的解决scheme,这个解决scheme很难看,而且在更多的情况下工作:

存储:在c1中

 =12*(YEAR(B1)-YEAR(A1))+(MONTH(B1)-MONTH(A1))+IF(DAY(B1)-DAY(A1)+IF(FLOOR(B1,1)<FLOOR(A1,1),-1,0)<0,-1,0) 

最终的解决scheme

 =FLOOR(C1/12,1)&":"&MOD(C1,12)&":"&FLOOR(B1-DATE(YEAR(A1),MONTH(A1)+C1,DAY(A1)),1)&":"&TEXT((B1-A1)-FLOOR(B1-A1,1),"hh:mm:sss") 

结果:

 ABC Result Simple Days + Time Formula 5/1/2006 0:00 5/2/2007 0:00 12 1:0:1:00:00:00 366:00:00:00 5/1/2006 10:35 5/2/2007 15:30 12 1:0:1:04:55:00 366:04:55:00 5/1/2007 10:35 5/2/2007 15:30 0 0:0:1:04:55:00 1:04:55:00 5/2/2007 10:35 5/2/2007 15:30 0 0:0:0:04:55:00 0:04:55:00 5/2/2006 10:35 5/2/2007 15:30 12 1:0:0:04:55:00 365:04:55:00 5/2/2005 10:35 5/2/2007 15:30 24 2:0:0:04:55:00 730:04:55:00 5/1/2006 18:30 5/2/2007 15:30 12 1:0:1:21:00:00 365:21:00:00 5/1/2006 17:35 5/2/2007 15:30 12 1:0:1:21:55:00 365:21:55:00 4/25/2007 17:35 5/2/2007 15:30 0 0:0:7:21:55:00 6:21:55:00 5/7/2006 18:30 5/2/2007 15:30 11 0:11:25:21:00:00 359:21:00:00 

最后两行没有在上次更新的公式中提供正确的结果。

更新1:我提供的旧配方在不同月份的处理方式存在问题。 在计算几个月时发生了一些奇怪的事情。 不知道为什么。 在A1(1/1/2006 10:35:00 AM)和B1(5/2/2007 3:30:00 PM)再次考虑两次。 然后在c1中,您需要以下公式来计算b1在同一天和同一天的月份和年份的datea1:

 =DATE(YEAR(B1),MONTH(B1),DAY(A1))+TIME(HOUR(A1),MINUTE(A1),SECOND(A1)) 

那么解决问题的(更丑陋的)公式是:

 =IF(C1-A1>0,TEXT(C1-A1,"yy:mm")&":"&TEXT(B1-C1,"dd:hh:mm:ss"),"00:00:"&TEXT(B1-A1,"dd:hh:mm:ss")) 

我没有详尽的testing,但我testing了一些案例,它似乎工作。

 ABC Result 5/1/2006 0:00 5/2/2007 0:00 5/1/2007 00:12:01:00:00:00 5/1/2006 10:35 5/2/2007 15:30 5/1/2007 00:12:01:04:55:00 5/1/2007 10:35 5/2/2007 15:30 5/1/2007 00:00:01:04:55:00 5/2/2007 10:35 5/2/2007 15:30 5/2/2007 00:00:00:04:55:00 5/2/2006 10:35 5/2/2007 15:30 5/2/2007 00:12:00:04:55:00 5/2/2005 10:35 5/2/2007 15:30 5/2/2007 01:12:00:04:55:00 

注意:如果B中的date大于A,则不检查错误,在这种情况下会给出“#VALUE!”。 错误。


老版本说A1包含date1 5/9/2007 10:35和B1包含date2 6/9/2007 15:30那么这是时间的差异:

 =TEXT(B1-A1,"m:d:h:mm:ss") 

这给出了预期的结果

 1:31:4:55:00