填写Excel中的时间间隔

时间:2016-04-14 13:09:05

标签: excel vba date time series

我在excel表中有以下内容:

$("#myDiv").visibility($("#myRadio").is('checked'));

我想将上表转移到一个表中,其中每个行时间都打开并用 start end value 1 26/11/2014 13:00 26/11/2014 20:00 decreasing 2 26/11/2014 20:00 27/11/2014 09:00 increasing 填充。时间差距从value时间到start时间 - 1填充,如下所示:

end

1 个答案:

答案 0 :(得分:1)

假设这是原始数据的位置:

B2  --->  26/11/2014 13:00
B3  --->  26/11/2014 20:00
C2  --->  26/11/2014 20:00
C3  --->  27/11/2014 09:00
D2  --->  decreasing
D3  --->  increasing

在sheet2中,放置一些标签:

B1  --->  date
C1  --->  hour
D1  --->  value

一些日期生成器。假设Sheet1!B2是开始日期。

B2  --->  =DATE(YEAR(Sheet1!B2),MONTH(Sheet1!B2),DAY(Sheet1!B2))
C2  --->  =TIME(HOUR(Sheet1!B2),MINUTE(Sheet1!B2),SECOND(Sheet1!B2))
B3  --->  =IF(INT((C2+TIME(1,0,0)))>INT(C2),B2+1,B2)
C3  --->  =IF((TIME(HOUR(C2),MINUTE(C2),SECOND(C2))+TIME(1,0,0))>1,TIME(HOUR(C2),MINUTE(C2),SECOND(C2))+TIME(1,0,0)-1,TIME(HOUR(C2),MINUTE(C2),SECOND(C2))+TIME(1,0,0))

最后,使用Sheet1!C3作为结束日期,定义输出。

D2  --->  =IF((B2+IF(C2=1,0,C2))<Sheet1!$C$3,IF((B2+IF(C2=1,0,C2))<Sheet1!$C$2,Sheet1!$D$2,Sheet1!$D$3),"")

拖动直到E21。完成。

我希望能对您有所帮助。如果公式中有您无法理解的部分,请提醒我。 (: