Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 多个调查响应的平均值(列)_Excel_Excel Formula - Fatal编程技术网

Excel 多个调查响应的平均值(列)

Excel 多个调查响应的平均值(列),excel,excel-formula,Excel,Excel Formula,问这个问题我感到有点尴尬,但下面是: 我正在使用Excel 2010,我有一个包含700多个客户满意度调查回复的工作表。每行是一项调查,对5个问题的回答为1-5或NA。如下所示: +-Agent--+--Q1--+--Q2--+--Q3--+ | | | | | | Jeff | 5 | 5 | 5 | +--------+------+------+------+ | James | 1 | 1 | 1 |

问这个问题我感到有点尴尬,但下面是:

我正在使用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。当我在Function Arguments(函数参数)屏幕中查看我的AVERAGEIF(如果在此人身上)时,它似乎正确识别了这些值。平均值显示
{“NA”,“NA”,“NA”,“NA”,1;5,5,5,5;5,…
,但下面的返回值表示
=5
,这是不正确的,因为存在
1


谁能给我指引正确的方向吗?

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

平均值如果
的工作原理类似于
SUMIF
,那么使用的第二个范围实际上与第一个范围的大小和形状相同,startin用左上角的单元格,所以当你用这个

=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 help确实告诉了您这一点,但并不十分清楚

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

=平均值(如果(SurveyResponses!A2:A7=A2,SurveyResponses!B2:D7))


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

我刚刚用示例数据对此进行了测试。看起来不错。我假设您正在向下拖动公式以捕获多个代理名称。如果这个假设是正确的,您是否锁定了引用,所以它应该是:
AVERAGEIF(SurveyResponses!$A$2:$A$7,A2,SurveyResponses!$B$2:$D$7)
是的,但不是一开始。我忽略了这个细节。只有A2没有锁定。我甚至尝试选择列,而不是单元格的特定范围,因为我在这张表上没有任何总计。当我在函数参数屏幕中查看我的AVERAGEIF时,它看起来可以正确识别值。例如,Average_rage显示
{“NA”,“NA”,“NA”,“NA”,1;5,5,5,5;5,…
但是下面的返回值表示
=5
,这是不正确的,因为存在
1
不,我希望它忽略单个NA。你能发布准确的数据集吗?我熟悉数据透视表,我知道我可以平均每个问题(列)的值,但我不明白如何使用数据透视表来获得总平均值。这非常有效。谢谢。在阅读了数组公式的前几个搜索结果后,我仍然很难理解何时以及为什么要使用它们。现在,当有人说要使用时,我就这样做了。再次感谢。