在小时数据中添加缺less的时间间隔

我正在寻找解决scheme来添加缺less的时间间隔

小时小时数据样本

 06.19.2011 00:00:00
 06.19.2011 01:00:00
 06.19.2011 02:00:00
 06.19.2011 03:00:00
 06.19.2011 04:00:00
 06.19.2011 05:00:00
 06.19.2011 07:00:00
 06.19.2011 08:00:00

样本小时数据两个失踪小时

 06.19.2011 00:00:00
 06.19.2011 01:00:00
 06.19.2011 02:00:00
 06.19.2011 05:00:00
 06.19.2011 07:00:00
 06.19.2011 08:00:00

因此需要插入缺失的时间间隔以保持dynamic图表的准确性

 06.19.2011 03:00:00
 06.19.2011 04:00:00

看看这是否工作(假设你的数据在A列,从第1行开始):

Sub AddMissingTimes() Dim lastRow As Long, t as long lastRow = Range("A1").End(xlDown).Row For t = lastRow To 2 Step -1 If DateDiff("h", Cells(t, 1), Cells(t - 1, 1)) <> -1 Then Cells(t, 1).EntireRow.Insert Cells(t, 1) = DateAdd("h", -1, Cells(t + 1, 1)) t = t + 1 End If Next t End Sub 

数据是否需要date特定并存储在表中? 可以在源查询中使用的SQL选项是创build一个包含24条logging的表 – 每个小时一条 – 然后执行从小时表到表的左连接。 例如:

表zsysHours字段HourValue数据:0,1,2 … 23

 SELECT zsysHours.HourValue, HourlyData.Value FROM zsysHours LEFT JOIN HourlyData ON zsysHours.HourValue=HourlyData.HourValue 

这可以用date/时间值来完成,只是使其更复杂。