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