使用Excel将日期处理为时间序列

使用Excel将日期处理为时间序列,excel,time-series,vba,Excel,Time Series,Vba,我有两个工作表,每个工作表78列,365行。第一个工作表有日期,第二个工作表有值。我想把这些列按交替顺序放在新的工作表中。因此,工作表1中的A列,然后是工作表2中的A列,依此类推。所以总共有156列 之后,我想在另一个工作表中选择另一列78个日期,并将其指定为0。然后我需要在78个值列的左侧创建一列,让该列包含从t=-n到t=m的数字,其中n是t=0日期上方的行数,m等于t=0日期之后的值数。本质上,我试图将不同的日期转换成统一的日期,然后用于时间序列分析和绘图 最后一步是移动每个三元组的列,以

我有两个工作表,每个工作表78列,365行。第一个工作表有日期,第二个工作表有值。我想把这些列按交替顺序放在新的工作表中。因此,工作表1中的A列,然后是工作表2中的A列,依此类推。所以总共有156列

之后,我想在另一个工作表中选择另一列78个日期,并将其指定为0。然后我需要在78个值列的左侧创建一列,让该列包含从
t=-n
t=m
的数字,其中
n
t=0
日期上方的行数,
m
等于
t=0
日期之后的值数。本质上,我试图将不同的日期转换成统一的日期,然后用于时间序列分析和绘图


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

目前无法详细说明,但如有必要,欢迎稍后(几天?)进行调整。制作副本:

  • 日期
    工作表顶部插入一行,并将“另一张工作表”日期复制到其中(使用换位)
  • 将“价值观”表复制到“日期”下方
  • 每隔一列插入两列(单调乏味,但使用宏来实现这一点很简单!)
  • 将“值”分流到右侧的一列
  • 选择整个工作表,主页>编辑-查找并选择,转到特殊,空白
  • 右键单击选定单元格,删除…,向上移动单元格
  • 在最左边添加一列
  • 在A2 put
    =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))
  • 向下复制A2并将其复制到D2、G2等中(同时向下复制)
    将有更有效的方法达到这一点,但我希望它至少能给您一些想法。

    尝试编写代码,完成后将发布。是否可以告诉我如何做?这是我唯一一次这样做。好的,谢谢。我试试看。我会让你知道结果的。感谢上面的解决方案,它对我拥有的数据有效。但是,我不确定如何对齐列的三元组。如果你能帮忙,我会非常感激。^那不行,但我还是写了VBA代码来移动三胞胎。谢谢你的帮助。