Excel和Microsoft日期代码转换

Excel和Microsoft日期代码转换,excel,Excel,如何将此(69.36)转换为表示多少个月、天、小时、分钟和秒?更新2: 很抱歉,更新1中的代码还有一些不匹配的情况。我有两个建议,一个很简单,但只有几天、几小时、几分钟和几秒钟: =FLOOR(B4-A4,1)&":"&TEXT((B4-A4)-FLOOR(B4-A4,1),"hh:mm:ss") 但是上面的请求需要月份,这对于内置的日期函数来说是非常棘手的,因为月份的长度在天数中是不一样的。和以前一样,我有一个两个单元的解决方案,它既难看又长,但在更多情况下似乎有效: 商店:

如何将此(69.36)转换为表示多少个月、天、小时、分钟和秒?

更新2: 很抱歉,更新1中的代码还有一些不匹配的情况。我有两个建议,一个很简单,但只有几天、几小时、几分钟和几秒钟:

=FLOOR(B4-A4,1)&":"&TEXT((B4-A4)-FLOOR(B4-A4,1),"hh:mm:ss")
但是上面的请求需要月份,这对于内置的日期函数来说是非常棘手的,因为月份的长度在天数中是不一样的。和以前一样,我有一个两个单元的解决方案,它既难看又长,但在更多情况下似乎有效:

商店: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)
结果:

A               B               C           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:AM)和B1(5/2/2007 3:30:PM)。然后,在c1中,您需要使用以下公式计算日期,从b1开始的月份和年份与a1的时间和日期相同:

=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"))
我没有对它进行详尽的测试,但我测试了许多案例,它似乎很有效

A               B               C           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中的日期大于A,则不会进行错误检查,在这种情况下会出现“#VALUE!”错误


旧版本 假设A1包含日期1 5/9/2007 10:35,B1包含日期2 6/9/2007 15:30 那么这就是时间上的差异:

=TEXT(B1-A1,"m:d:h:mm:ss")
这就给出了期望的结果

1:31:4:55:00

这很大程度上取决于它代表什么。你的意思是“MiTimeCH?”你还需要考虑这个月代表着一段可变的时间。@佐恩克69.36什么?老鹰?帕塞克斯?星星?几十年?世纪?引力子?脚?小时?分钟?天?秒?等等。抱歉@RonRosenfeld,我想我在我的问题中明确了这一点。
1:31:4:55:00