Excel:如果非连续date,则插入空白行

我们有一个工作stream程,每31小时运行一次,并且希望在Excel 2010电子表格中有一列可以反映过程在未来一年每天运行的时间和date,例如

开始date(手机:A1):

10/31/2016 1:00

11/1/2016 8:00

11/2/2016 15:00

11/3/2016 22:00

11/5/2016 5:00

11/6/2016 12:00

11/7/2016 19:00

11/9/2016 2:00

11/10/2016 9:00

11/11/2016 16:00

11/12/2016 23:00

11/14/2016 6:00

我正在使用公式:A2 = A1 +(31/24)来填充显示工作正常的列中的date和时间。 我需要在不连续的日子之间插入一个空行(为了突出这个事实,让操作员更容易阅读,而不是在错误的时间挑动这个过程),这就是困难所在。 我假设我将需要一个单独的VBA函数来逐步通过每个单元格,并比较datedate(忽略时间值。)在以前的单元格中,如果date大于1(如不在下一天)插入一个空白行。

我正在寻找一个解决scheme,以下场景,但我正在努力让我的头,并会感谢任何指导/任何人都可以提供帮助。

非常感谢

你不需要一个VBA函数,它可以用这个函数来完成

A3 = IF(A2="",A1+31/24, IF(INT(A2+31/24)=INT(A2)+1,A2+31/24,"")) 

*为了工作,你将不得不手动填充单元格A1A2

您可以使用INT()函数来获取date时间字段的date部分,因此通过检查INT(A2+31/24) = INT(A2)+1来检查添加31小时是否会在序列中留下1天的间隔INT(A2+31/24) = INT(A2)+1

所以,解释function,部分

 IF(INT(A2+31/24)=INT(A2)+1,A2+31/24,"") 

会检查这些日子是否连续,如果是这样,它将填充DateTime 。 如果不是的话,它将保持空白。

外部IF检查上面的单元格是否为空。 如果是的话,函数将使用上面那个。