我在 EXCEL 中有两列数据。第一列是时间(以小时为单位),第二列是每个时间的股票价格数据。
Time stock price
09:00:00 AM 5
11:00:00 AM 6
12:00:00 PM 5
请注意,这里缺少时间 10:00:00 AM,因为此时没有交易。但我需要在第一列中插入 10:00:00 AM,这样第二列将在相应行中显示空白。这样两列将如下所示:
Time stock price
09:00:00 AM 5
10:00:00 AM
11:00:00 AM 6
12:00:00 PM 5
我有数千天的数据,其中有很多缺失时间,因此无法手动更正。有人可以帮忙吗?
答案1
您实际上不需要使用 VBA 来解决您的问题。
首先,您需要在原始表中创建一个包含日期和时间数据的列(如果您的时间列尚未包含日期) - 此列需要位于“股票价格”列之前
然后在新工作表中创建所有时间的列表。例如,在 A2 中输入“01/01/2010 09:00:00 AM”,然后输入=A2+1/24
到 A3(增加一小时)并根据需要填写公式。
新工作表中 B 列中的公式(从 B2 开始):=iferror(vlookup(a2,[oldsheet!columnOfDateTime:columnOfStockPrice],2,false),"")
这将为您提供所有当前数据,以及没有可用数据的空白单元格。
完成后,您可以删除所有公式(复制所有数据并粘贴到同一位置的值)并删除旧表。
提示:如果将范围转换为列表,则处理大量公式会更容易。