1

我正在帮助一位同事解决问题,但我自己也遇到了一些困难。在完成一组课程后,他从学生回答的调查中收到一个 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)

4

3 回答 3

0

用连接学校和班级和答案的公式填写第二张表。该表随后将如下所示:

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 表示 School A Class 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 和结果表。只需将新数据放入源表...

于 2012-11-26T20:48:57.737 回答
0

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

  1. Question 1ClassSchool拖到行标签框。
  2. Question 1Question 2Question 3拖到“值”框。
  3. 如果没有显示“Count of Question 1”,请单击下方的向下箭头Value Field Settings.
  4. Summarize by选项卡中,选择计数。
  5. 必要时重复。
  6. 在另一张纸上,链接到特定的数据透视表单元格,以您希望的任何格式显示数据。

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

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

如果您有任何问题,请告诉我。

于 2012-11-26T22:33:07.187 回答
0

问题是您的数据已全部准备好部分旋转。理想情况下,它将采用以下格式:

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

ETC

这种格式将有助于更好地使用数据透视表。 这是有关使用 Excel 2016 进行反透视的说明

于 2017-05-30T02:21:12.350 回答