多个调查回复的平均值(列)

时间:2012-08-10 19:16:09

标签: excel excel-formula

我觉得有点尴尬,但是这里有:

我使用的是Excel 2010,我有一份包含700多个客户满意度调查回复的工作表。每行是对5个问题的1-5或NA响应的调查。它看起来如下:

+-Agent--+--Q1--+--Q2--+--Q3--+
|        |      |      |      |
| Jeff   |  5   |  5   |  5   |
+--------+------+------+------+
| James  |  1   |  1   |  1   |
+--------+------+------+------+
| Jack   |  5   |  5   |  5   |
+--------+------+------+------+
| Jeff   |  3   |  NA  |  5   |
+--------+------+------+------+
| Jeff   |  NA  |  NA  |  3   |
+--------+------+------+------+
| James  |  5   |  5   |  5   |
+--------+------+------+------+
| ...    |  ... |  ... |  ... |
+--------+------+------+------+

我想创建一个工作表,列出A列中的每个代理以及所有与之相关的问题的平均值。我尝试了一个类似AVERAGEIF(SurveyResponses!A2:A7,A2,SurveyResponses!B2:D7)的公式,其中A2包含代理商的名称,但它似乎无法正常运行。

例如,对于某些代理商,我的平均得分为5.00,应该是4.61。当我在这个人的功能参数屏幕上查看我的AVERAGEIF时,它看起来就像正确识别这些值一样。 Average_rage显示{"NA","NA","NA","NA",1;5,5,5,5,5;5,...,但下面的返回值显示为= 5,这是正确的,因为有1

有人能引导我朝正确的方向前进吗?

2 个答案:

答案 0 :(得分:2)

AVERAGEIF的作用类似SUMIF,使用的第二个范围实际上与第一个范围的大小和形状相同,从左上角的单元格开始,所以当你使用它时

=AVERAGEIF(SurveyResponses!A2:A7,A2,SurveyResponses!B2:D7)

因为第一个范围是单个列,所以使用的第二个范围也必须是(单元格之间存在1对1的关系),因为SurveyResponses中的左上角单元格!B2:D7是SurveyResponses!B2范围从那里开始和SurveyResponses的尺寸和形状相同!A2:A7

....所以你实际上得到了这个......

= AVERAGEIF(SurveyResponses A2:!A7,A2,SurveyResponses B2:B7

AVERAGEIF帮助会告诉您,但不是很清楚

如果您希望范围大小不同,则需要像这样的“数组公式”

=AVERAGE(IF(SurveyResponses!A2:A7=A2,SurveyResponses!B2:D7))

您需要使用CTRL+SHIFT+ENTER确认,以便在公式栏中的公式周围显示花括号。该公式将任何空白计为零,但忽略文本值,如NA

答案 1 :(得分:0)

最简单的方法是使用数据透视表。它们看起来很可怕,但它们相当容易使用。行=名称,列= Q,答案的平均值。