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公式根据需要格式化两个部分,然后连接部分。