使用Excel将日期操作到时间序列中

时间:2013-10-01 18:16:05

标签: excel excel-vba time-series vba

我有两个工作表,每个工作表有78列,365行。第一个工作表有日期,第二个工作表有值。我想取列,然后在新工作表中以交替顺序放置它们。所以A列来自工作表1,然后A列来自工作表2等等。所以总共有156列。

之后,我想在另一个工作表中使用另外一列78个日期,并将其指定为0.然后我需要在78个值列的每个左侧创建一个列并使该列包含从t = -nt = m的数字,其中nt = 0日期之上的行数,m等于{{1}之后的值数日期。基本上我试图将不同的日期转换为统一的日期,然后我可以将其用于时间序列分析和绘图。

最后一步是移动列的每个三元组,使t = 0个日期在78个三联列中位于同一行。所有单元格内容都是值,而不是公式。

1 个答案:

答案 0 :(得分:0)

目前无法详细说明,但如果有必要,可以稍后调整(几天?)。处理副本:

  1. dates工作表的顶部插入一行,然后将“另一个工作表”日期复制到其中(使用换位)。
  2. 将“值”表复制到“日期”下方。
  3. 每隔一列插入两列(繁琐 - 但这样的宏很简单!)
  4. 将'值'分流到右边的一列。
  5. 选择整张表,主页>编辑 - 查找&选择,转到特殊,空白。
  6. 右键单击选择单元格,删除...,向上移动单元格。
  7. 在最左侧添加一列。
  8. 在A2中放=IFERROR(1-MATCH(B$1,B2:B$366,0),ROW()-MATCH(B$1,B$2:B$366,0)-MATCH(B$1,B$1:B$366,0))
  9. 将A2复制到D2,G2等(也是复制下来)。
  10. 有更有效的方法来达到这一点,但我希望它至少可以给你一些想法。