计算非数值数据的Excel数据透视表?

4bbkushb  于 2023-01-10  发布在  其他
关注(0)|答案(3)|浏览(348)

我正在帮助一位同事解决一个问题,我自己也遇到了一堵墙。他收到了一个CSV文件,来自一个学生在完成一组课程后的回答调查,他想生成报告,显示每个问题的每个类别中的回答数量(即#同意,#强烈同意等)。
CSV文件的格式类似于:

DateTime     School     Class     Question 1        Question 2        Question 3     ... etc ...
========     ======     =====     ==========        ==========        ==========
1/1/2012       A          1       Agree             Strongly Agree    Disagree
1/1/2012       A          1       Disagree          Agree             Strongly Disagree
1/1/2012       A          2       Agree             Strongly Agree    Slightly Disagree
1/1/2012       A          1       Agree             Agree             Disagree
1/1/2012       A          2       Disagree          Disagree          Disagree
... etc 8,000 rows ...

他想要的是一份看起来像这样的报告:

School     Class     Q1 Agree     Q1 Disagree    ...    Q1 Strongly Agree  ...
======     =====     ========     ===========          =================
  A          1          2             1                         0
  A          2          1             1                         0
... etc ...

显然,我正在查看一个数据透视表,但我遇到了如何定义数据透视表的问题。我不是ExcelMaven,但当我们尝试各种选项时,我们得出了基本上无意义的结果。
是否有可能设置一个透视表,以一种有意义的方式给予这些数据?计算非数字值的示例并按学校和班级对计数进行分组?实现这一点的好策略(易于重复)是什么?
谢谢你的帮助,非常感谢。
(We正在使用Office 2007)

rm5edbpk

rm5edbpk1#

选择数据区域作为数据透视表。
1.将Question 1ClassSchool拖到“行标签”框中。
1.将Question 1Question 2Question 3拖动到“值”框中。
1.如果未显示“Count of Question 1”,请单击Value Field Settings.上的向下箭头
1.在Summarize by选项卡中,选择计数。
1.必要时重复。
1.在另一个工作表上,链接到特定的数据透视表单元格,以所需的任何格式显示数据。

编辑:我附加了一张图像作为视觉辅助。

http://i.imgur.com/2Emw3.jpg
如果你有任何问题请告诉我。

wa7juj8i

wa7juj8i2#

在第二张表中填入连接学校、班级和答案的公式,表格将如下所示:

Q1                Q2                           Q3
=================================================================
A1Q1:Agree        A1Q2:Strongly Agree          A1Q3:Disagree
A1Q1:Disagree     A1Q2:Agree                   A1Q3:Strongly Disagree
A2Q1:Agree        A2Q2:Strongly Agree          A2Q3:Slightly Disagree

其中A1表示学校A 1班。您甚至可以使用VLookup将文本替换为数字
您可以通过将此公式添加到虚拟表格的单元格D3中来获得此公式:

=sourcetable!$B3&sourcetable!$C3&D$1&":"&sourcetable!D3

然后复制到每个细胞。
现在您所要做的就是创建一个如下所示的结果表:

Q1           Q1                  Q1
School       Class         Agree       Disagree       Strongly Disagree   
========================================================================
A            1             formula

其中公式为

=countif(dummytable!C3:z999,$A4&B4&C$1&":"&C$2)

对所有单元格重复此公式。
第一部分做什么和它是如何做的应该是清楚的。在生产级应用程序中,我会用数字(谷歌的VLookup)替换文本(同意/不同意),当数据中有错别字时,你会看到数字。
第二部分计算字符串的所有出现次数(在本例中为A1 Q1:Agree)。这应该可以做到这一点。如果你想公开它,最好将结果“复制:粘贴值”到一个新的表中...
您可以重用dummytable和result表。只需将新数据拖放到sourcetable中...

11dmarpk

11dmarpk3#

问题是您的数据已经准备好进行部分透视。理想情况下,它的格式应该是:

DateTime     School     Class     Question        Answer        
========     ======     =====     ==========      ==========        
1/1/2012       A          1       Question 1      Strongly Agree    
1/1/2012       A          1       Question 2      Agree

等等
这种格式可以更好地处理数据透视表。Here is instructions on doing an unpivot with Excel 2016

相关问题