我觉得有点尴尬,但是这里有:
我使用的是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
。
有人能引导我朝正确的方向前进吗?
答案 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,答案的平均值。