在Excel中将调查结果转换为三维表格

我试图用最简单的方法将一个原始数据表转换成三个字段的汇总结果表。

数据来自参与者将logging他们的位置的调查,然后回答多个select题,每个问题有三个可能的答案。

原始表的列看起来像这样:

AREA | Q1 | Q2 | Q3 |...| Q10 Area 1 Op1 Op1 Op3 Op2 Area 2 Op1 Op2 Op1 Op3 Area 1 Op1 Op3 Op1 Op3 Area 3 Op3 Op1 Op2 Op1 

如果问题可以用多项selectscheme1至3来回答,并且地区可以重复(即调查参与者在澳大利亚,参与者二在新西兰,参与者三也在澳大利亚)。

我想输出表看起来像这样:

  Question One | Question 2 | Question 3 |...| Question 10 Op1 | Op2 | Op3 | Op1 | Op2 | Op3 | Op1 | Op2 | Op3 |...| Op1 | Op2 | Op3 | Area 1 # 3 # # # # # # # # # # # Area 2 # # # # # # # # # # # # # Area 3 # # # # # # # # # # # # # 

以便显示每个区域,问题和选项的每个响应的计数。 例如,如果区域1中的三名参与者用选项2回答了Q1,我希望表中的值为3,如上所示。

我试图操纵数据透视表到目前为止,但我没有运气使用三个标准。 不用手工sorting或编写一个macros来为我完成工作,我不确定将这些数据转换为所需格式的最有效方法,任何build议,将不胜感激。

当我不得不这样做之前,我已经避免了内置的数据透视表,并做了以下工作:

从这个数据 数据输入

将这三个数据连接在一起。 如果对于eaxmple,我使用DataIn中的原始数据调用工作表,我会将下面的公式放在一个新工作表中:

 =DataIn!B$1&DataIn!$A2&DataIn!B2 

这产生这样的数据:

q1区域1Op1

复制这个公式,以获得这个新格式的所有数据。

我称这个表计算。

计算

在新的表格中,放置标题

  Op1 Op2 Op3 Op1 Op2 Op3 Op1 Op2 Op3 etc q1 q1 q1 q2 q2 q2 q3 q3 q3 etc Area 1 Area 2 Area 3 etc 

最后,在单元格中input以下公式:

 =COUNTIF(Calculations!$A:$J,Output!B$2&Output!$A3&Output!B$1) 

这使用表中的标题来重新创build与前一个表的三个代码并对它们进行计数。

产量

最后,如果你想要不同的标题(为了使它看起来不错),在另一张纸上创build这个标题,并使用= B3等从上一张表复制数据

您需要取消您的数据。 如果您安装了PowerQuery加载项(或者安装了Excel 2016或Excel / Office 365订阅),那么您可以使用PowerQuery来执行此操作。 谷歌“PowerQuery”和“Unpivot”,你会变成一大堆video。

否则,您可以使用VBA,例如我以前在http://dailydoseofexcel.com/archives/2013/11/21/unpivot-shootout/上发布的Unpivot例程