2012-11-26 109 views
1

我正在帮助一位遇到问题的同事,并且我自己也碰到了一堵墙。他在一组课程完成后从学生回答调查中收到CSV文件,他希望生成报告,显示每个问题中每个类别的回复数(即#同意,#非常同意等)。计算非数字数据的Excel数据透视表?

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)

+0

与Access Crosstab查询不同,AFAIK Excel数据透视表不适用于非数值。 –

回答

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是指学校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:同意)。这应该做的伎俩。 如果你想敬上它,这是一个好主意,“副本:粘贴值”的结果到一个新表...

可以重用dummytable和结果表原样。只需将新数据放入源表...

+0

你可以扩展一下这个方法吗?我不太确定我是否跟随你。谢谢。 – Dave

+0

嘿,我会给你一个镜头,谢谢! – Dave

+0

好的。扩大它,并纠正:不是sumif但countif;) – Johanness

0

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

  1. Question 1ClassSchool到行标签框。
  2. Question 1,Question 2Question 3拖到Values框中。
  3. 如果不说“问题1的计数”,请单击Value Field Settings.的向下箭头
  4. Summarize by选项卡中,选择计数。
  5. 重复以上步骤。
  6. 在另一张纸上,链接到特定的数据透视表单元格,以任意格式显示数据。

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

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

让我知道如果您有任何问题。

+0

我认为这是他试图做和失败,因为它只是计算你有多少答案 - 而不是什么答案 – Johanness

+0

@Johanness这很明显,正如我已经表明图片。 – kreativitea

+0

哦,我明白了。抱歉。无法像在你的屏幕截图中那样安排它,但它的工作原理。出于好奇:有没有办法在那里有空答案呢? – Johanness

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

相关问题