将缺失序列插入每小时数据中

将缺失序列插入每小时数据中

我有一份数据列表,它是通过每 0.01 英寸的降雨量记录一个时间戳来编制的。因此,数据中没有记录两次降雨之间的时间,即没有记录降雨的时间。我知道如何将数据四舍五入到最接近的小时数,但现在我想用它们填写应该为 0.00 的小时数。

即我的数据如下所示:

2012 年 10 月 11 日 22:00 0.01

2012 年 10 月 16 日 2:00 0.01

2012 年 10 月 16 日 3:00 0.02

但我想添加中间的小时数,这些小时数应与 0.00 相关联。因为这应该是整整一年,所以总共应该有 8760 个条目。

我没有 kutools,所以尝试使用我在网上找到的附件 VBA 代码(https://www.extendoffice.com/documents/excel/1283-excel-insert-missing-numbers-in-sequence.html),但它没有考虑数据的每小时模式,而是创建单日并将时间设置为 0:00。

如果有人知道如何修复此问题或有其他解决方案,我将不胜感激!提前谢谢您![在此处输入图片描述]1

答案1

了解 Excel 将日期记录为实数会有所帮助,其中整数表示天数,分数表示天数的一部分。在您的代码中,您要添加 1 来填充下一个值,请尝试添加 1/24(即一天的 24 分之一,或 1 小时)。我认为这应该在第 20 行左右,我会将其更改为该行以outArr(i + 1/24, 1) = i + num1查看会发生什么。第 22 行和第 24 行可能需要进行类似的更改。

但是,假设您的数据点与日期/时间值位于不同的列中,我建议您链接到的说明页面上的方法上面的方法会更简单。

按照现有数据中的说明,使用相同格式在现有数据下创建一年中所有小时的列表上一个问题,然后对完整列表(原始数据加上新的小时列表)进行排序并删除重复项。

您应该会得到一份按小时排序的列表,其中包含有数据点的小时数。您还没有说是否要将 0.00 值添加到数据单元格,但如果要,使用 Excel 的 ISBLANK() 公式在 IF() 条件中执行此操作很简单。

相关内容