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

时间:2012-11-26 20:26:38

标签: excel pivot

我正在帮助一个有问题的同事,我自己也遇到了一些问题。在完成一组课程后,他会收到一份关于学生回答的调查的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 ...

显然我正在查看数据透视表,但我遇到了如何定义数据透视表的问题。我不是Excel的专家,但是当我们尝试各种选项时,我们提出了基本上非感性的结果。

是否可以设置一个透视表,以有意义的方式提供这些数据?计算非数字值的实例并按学校和班级对计数进行分组?实现这一目标的好(易重复)策略是什么?

感谢您的帮助,非常感谢。

(我们正在使用Office 2007)

3 个答案:

答案 0 :(得分:0)

使用连接School,Class和Answer的公式填写第二张表。 表格后面会是这样的:

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)

为所有细胞重复此公式。

第一部分的作用及其作用应该清楚。在生产级应用程序中,我会将数据(同意/不同意)替换为数据中存在拼写错误的数字(google for VLookup)。

第二部分计算字符串的所有出现次数(在本例中为A1Q1:Agree)。这应该可以解决问题。 如果你想发布它,最好将结果“复制:粘贴”到新表中......

您可以按原样重复使用dummytable和结果表。只需将新数据放入sourcetable ......

答案 1 :(得分:0)

选择您的数据范围作为数据透视表。

  1. Question 1ClassSchool拖到行标签框。
  2. Question 1Question 2Question 3拖到“值”框中。
  3. 如果没有说“问题1的计数”,请点击Value Field Settings.
  4. 上的向下箭头
  5. Summarize by标签中,选择计数。
  6. 根据需要重复。
  7. 在另一张工作表上,链接到特定的数据透视表单元格,以您希望的任何格式显示数据。
  8. 编辑:我已附加图像作为视觉辅助。

    http://i.imgur.com/2Emw3.jpg

    如果您有任何问题,请与我们联系。

答案 2 :(得分:0)

问题是您的数据已准备好部分轮播。 理想情况下,它的格式为:

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