我正在寻找添加缺失时间间隔的解决方案
缺少小时的每小时数据样本
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
因此需要插入缺少的间隔以保持动态图表的准确性
06.19.2011 03:00:00 06.19.2011 04:00:00
答案 0 :(得分:2)
看看是否有效(假设您的数据位于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
答案 1 :(得分:0)
数据是否需要特定于日期并存储在表中?可以在源查询中使用的SQL选项是创建一个包含24条记录的表 - 每小时一条记录 - 然后从小时表到表进行左连接。例如:
表zsysHours Field HourValue 数据:0,1,2 ...... 23
SELECT zsysHours.HourValue, HourlyData.Value FROM zsysHours
LEFT JOIN HourlyData ON zsysHours.HourValue=HourlyData.HourValue
这也可以通过日期/时间值来完成,只是让它更复杂。