在Excel VBA中使用标题转置大数据集

时间:2015-07-25 04:18:20

标签: excel vba excel-vba

Current Data Structure

上图显示了我正在使用的时间序列数据的当前结构。它有许多时间序列数据列,由标题行中的客户ID标识。为了在数据透视表中使用此数据进行分析,我想将其转换为如下图所示的格式:enter image description here

此处,客户ID成为描述时间序列数据的维度。

由于这是一个大型数据集,因此将数据手动转换为所需格式将是一个巨大的时间。另外,我没有Power Pivot或Power Query等花哨的加载项......

使用Excel VBA,如何编写宏来处理此任务?

谢谢,

1 个答案:

答案 0 :(得分:1)

问题的解决方案可以在这里找到:http://www.excel.solutions/2014/03/unpivot-excel-data

  1. 按ALT键开始> D> P打开“数据透视表向导”对话框:

    选择“多个合并范围”选项,然后点击“下一步”

    • 在向导的第2a步中,选择“我将创建页面字段”选项,然后单击“下一步”

    • 现在我们需要将交叉表数据范围添加为此数据透视表的数据源。输入/选择适当的范围,然后单击“添加”。然后点击“下一步”。

  2. 选择中间数据透视表的位置(使用新工作表是个好主意,因为我们可以在完成后删除整个工作表)。然后单击“完成”。

  3. 我们现在有一个'中间'数据透视表,它看起来与我们的原始数据非常相似,但有一些总计。现在,我们想要钻取此数据透视表的源数据,方法是双击总计Grand Total值 - Grand Total列和Grand Total行的单元格交集:

  4. 通过双击钻取到总计数据源,将创建另一个工作表,其中包含一个包含我们未透析数据的表: