Excel 自动计算过滤结果的平均值

Excel 自动计算过滤结果的平均值,excel,excel-formula,Excel,Excel Formula,我有一个电子表格,其中p列的分数在1-6之间 单元格O4具有以下公式:=平均Ifs(P8:P5000,P8:P5000,“6”,P8:P5000,“0”) 此公式搜索p列(不包括6、空格和0)中分数的平均值 O列有员工姓名,如约翰、马克、蒂姆 我想做的是,在我使用筛选功能仅显示选定工作人员的结果后,让单元格O4自动计算p列中显示的数字的平均值 我希望excel能够自动执行此操作,但是单元格O4似乎仍然显示整个列p的平均值,无论我是否进行了筛选 我在另一个论坛上得到了下面的公式,但它似乎给出了稍微

我有一个电子表格,其中p列的分数在1-6之间

单元格O4具有以下公式:=平均Ifs(P8:P5000,P8:P5000,“6”,P8:P5000,“0”)

此公式搜索p列(不包括6、空格和0)中分数的平均值

O列有员工姓名,如约翰、马克、蒂姆

我想做的是,在我使用筛选功能仅显示选定工作人员的结果后,让单元格O4自动计算p列中显示的数字的平均值

我希望excel能够自动执行此操作,但是单元格O4似乎仍然显示整个列p的平均值,无论我是否进行了筛选

我在另一个论坛上得到了下面的公式,但它似乎给出了稍微错误的结果,尽管只是少量,但如果可能的话,我需要得到准确的结果。谢谢你的帮助

=SUMPRODUCT(1-ISNUMBER)(匹配(P8:P100,{0,6},0)),小计(9,偏移量(P8,行(P8:P100)-行(P8),0,1))/SUMPRODUCT(1-ISNUMBER)(匹配(P8:P100,{0,6},0)),小计(2,偏移量(P8,行(P8:P100)-行(P8),0,1))

{=AVERAGE(IF((P8:P50006)*(P8:P50000)*小计(103,间接(“O”)和世界其他地区(8:5000)),P8:P5000))

我会做你想做的。假设过滤器位于列O上

如果行被手动隐藏,小计中的103也将被排除。如果这是不需要的,它应该只排除隐藏行,如果过滤,那么使用3代替


这是一个数组公式。将其输入到不带花括号的单元格中,然后按[Ctrl]+[Shift]+[Enter]创建数组公式。

我将在新工作表中创建一个包含所有唯一职员的单独表格,然后执行计算。通过这种方式,只需扫描表,就可以快速比较所有员工的值,而无需不断更新过滤器以查看可能几十或数百名员工的值。您可以将员工姓名范围和标准添加到AVERAGEIFS公式中

例如:

Sheet 2

        A           B   
        ---         --- 
1   |   Staff       Average             
2   |   Bob         =AVERAGEIFS(Sheet1!$P$8:$P$5000,Sheet1!$O$8:$O$5000,A2,Sheet1!$P$8:$P$5000,"<>6",Sheet1!$P$8:$P$5000,"<>0")
3   |   Mary        =AVERAGEIFS(Sheet1!$P$8:$P$5000,Sheet1!$O$8:$O$5000,A3,Sheet1!$P$8:$P$5000,"<>6",Sheet1!$P$8:$P$5000,"<>0")
4   |   Joe         =AVERAGEIFS(Sheet1!$P$8:$P$5000,Sheet1!$O$8:$O$5000,A4,Sheet1!$P$8:$P$5000,"<>6",Sheet1!$P$8:$P$5000,"<>0")
第2页
A B
---         --- 
1 |员工平均数
2 | Bob=平均值(表1!$P$8:$P$5000,表1!$O$8:$O$5000,A2,表1!$P$8:$P$5000,“6”,表1!$P$8:$P$5000,“0”)
3 | Mary=平均值(表1!$P$8:$P$5000,表1!$O$8:$O$5000,A3,表1!$P$8:$P$5000,“6”,表1!$P$8:$P$5000,“0”)
4 | Joe=平均值(表1!$P$8:$P$5000,表1!$O$8:$O$5000,A4,表1!$P$8:$P$5000,“6”,表1!$P$8:$P$5000,“0”)

对于您的公式和Axel的建议,我得到了相同的结果-愚蠢的问题,但您的版本只进入第100行,我想您已经调整了,以覆盖整个数据范围?