我正在尝试以最简单的方式将原始数据表转换为包含三个字段的汇总结果表。
数据来自调查,参与者将记录他们的位置,然后回答多个选择问题,每个问题有三个可能的答案。
原始表的列类似于:
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
如果问题可以通过多项选择1至3来回答,并且区域可以重复(即,调查参与者1在澳大利亚,参与者2在新西兰,参与者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,如上所示。
到目前为止,我试图操纵数据透视表,但是使用三个标准我没有太多运气。如果不采用手动排序或编写宏来为我工作,我不确定将这些数据转换为所需格式的最有效方法,我们将不胜感激。
答案 0 :(得分:1)
当我以前必须这样做时,我已经避免使用内置的数据透视表并完成以下操作:
在新工作表中将三个数据连接在一起。如果,为了简单起见,我使用DataIn中的原始数据调用工作表,我会将以下公式放在新工作表中:
=DataIn!B$1&DataIn!$A2&DataIn!B2
这会产生如下数据:
q1Area 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
最后,在单元格中输入以下公式:
=COUNTIF(Calculations!$A:$J,Output!B$2&Output!$A3&Output!B$1)
这使用表格中的标题重新创建上一个表格中的三个代码并对其进行计数。
最后,如果你想要不同的标题(使它看起来不错),在另一张纸上创建它,只需使用= B3等从上一张纸上复制数据
答案 1 :(得分:0)
您需要取消数据。如果您已安装PowerQuery加载项(或具有Excel 2016或Excel / Office 365订阅),则可以使用PowerQuery执行此操作。 Google" PowerQuery"和" Unpivot"而且你会发现一大堆视频。
否则你可以使用VBA,例如我之前在http://dailydoseofexcel.com/archives/2013/11/21/unpivot-shootout/上发表过博文的我的Unpivot例程