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,""))
*为了工作,你将不得不手动填充单元格A1
和A2
。
您可以使用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
检查上面的单元格是否为空。 如果是的话,函数将使用上面那个。