Microsoft Exceldate时间差异
我有这张表,我试图find格式中两个date之间的差异。 我有三列,date格式为2015年1月28日21:43
以下是我的桌子,
Created date Start date end date time to start time to start from create date time to finish from created date 11/02/2015 12:46 11/02/2015 16:15 13/02/2015 17:21 00 days 03:29:07 02 days 01:06:27 02 days 04:35:34 17/11/2014 15:17 27/11/2014 21:43 20/01/2015 19:21 10 days 06:26:52 22 days 21:37:17 04 days 04:04:09 22/12/2014 09:38 22/12/2014 09:49 16/01/2015 04:02 00 days 00:11:31 24 days 18:12:48 24 days 18:24:19 25/11/2014 10:58 25/11/2014 11:35 13/01/2015 17:35 00 days 00:37:04 18 days 06:00:39 18 days 06:37:43 13/01/2015 09:03 13/01/2015 09:42 13/01/2015 12:27 00 days 00:39:37 00 days 02:44:59 00 days 03:24:36
我使用下面的公式计算了date(最后三列)之间的差异,
=TEXT(C1-B1,"dd"" days ""hh:mm:ss")
其中大部分工作,但不适用于2014年开始date和2015年结束date。它完全折扣12月,它只计算到十一月,然后跳到一月。 (如第2和第4行所示)
有什么办法可以阻止呢?
您将不属于同一个string的格式掩码拼凑在一起。 您正在使用dddate来计算两个date之间的天数。 你正在失去十二月份,因为这个月的日子实际上是下个月的第十八天。
date为1899年12月31日以后的每一天。 时间是一天的小数部分。 今天恰好是42,256,今天中午是42,256.5。
INT函数可以提取date时间的date部分, MODfunction可以在这段时间内执行相同的操作。
=TEXT(INT(C2)-INT(B2)-(MOD(C2, 1)<MOD(B2, 1)),"0 \d\a\y\s ")&TEXT(MOD(C2, 1)-MOD(B2, 1)+(MOD(C2, 1)<MOD(B2, 1)),"hh:mm:ss")
hh:mm:ss不能同时具有0和任何时间格式掩码。 build立两个天数为整数,时间为常规时间值,然后连接两个string是最好的select。
此外,因为你不能有负面的时间,如果时间减法将是负面的,你需要添加一天(即1 )的结果。 必须对当天的减法进行相同的调整。
首先看来,第四栏的标题应该是“从开始date结束的时间”,而不是“从创builddate开始的时间”
您正在应用的公式将两个date之间的差异作为序列号,其中整数部分表示date差异,小数部分表示时间差异,然后TEXT
公式格式化该序列号仅占用date和时间。 例如,在数据的第二行(不包括标题)中 ,“从开始date结束的时间” (由此产生的“开始date”减去“创builddate”的53.9008912037025
)为53.9008912037025
,date格式为22/02/1900 21:37:17
那么TEXT
公式只需要花费22 days 21:37:17
的时间和22 days 21:37:17
。
现在为了获得结果,您希望我们需要从时间中分割出几天,并根据需要使用此公式格式化结果:
=CONCATENATE(TEXT(INT(SUM(C3,-B3)),"00")," days ", TEXT(MOD(SUM(C3,-B3),1),"hh:mm:ss"))
INT
公式采用由date差异产生的序列号的整数部分MOD
给出序列号的小数部分使用TEXT
公式根据需要格式化两个部分,然后连接部分。