我正在寻找有关如何整理下面第二个公式的帮助大胆的。我希望根据种族计算平均“Pupil_Score”(这也是我第一次尝试使用命名范围),我希望将一些组组合在一起,在本例中是种族 1 和 2。我想继续使用 Averageifs 公式,因为它看起来比我目前的解决方案更短,如第一个公式所示。稍后我将添加更多条件,这只会使当前 SUM/COUNT 格式的公式变得更长,看起来不切实际。
=AVERAGEIFS(学生成绩,种族,3)
=(SUMIFS(学生分数,种族,1)+SUMIFS(学生分数,种族,2)) / (COUNTIFS(种族,1)+COUNTIFS(种族,2))
每个人的答案都不一样,下面是我正在测试的数据,也许这能有所帮助。我的公式给出了 99.632,而其他人给出了 #Value 错误或 99.614 或 99.493。
种族 学生 分数 1 98.880 1 99.588 1 99.751 1 99.780 1 100.070 2 99.765 2 98.873 2 99.013 2 99.529 2 99.600 2 99.500 2 99.751 2 99.501 2 99.543 2 99.795 2 99.857 2 99.874 2 99.875 2 99.67 2 99.755 2 99.893 2 100.050
答案1
标准AVERAGEIFS
以条件的形式出现AND
。您需要一个OR
条件,因为任何一行都不可能同时满足两个条件1和2。
上图中,蓝色/绿色的总和是23,他们的数量是5使平均值4.6。E2 中的公式可以是,
=SUMPRODUCT((C2:C8)*(B2:B8=F1:G1))/SUMPRODUCT(--(B2:B8=F1:G1))
...或者将颜色硬编码为,
=SUMPRODUCT((C2:C8)*(B2:B8={"Blue","Green"}))/SUMPRODUCT(--(B2:B8={"Blue","Green"}))
对于您的数字,硬编码版本看起来像,
=SUMPRODUCT((C2:C8)*(B2:B8={1, 2}))/SUMPRODUCT(--(B2:B8={1, 2}))
答案2
让公式保持简单的唯一方法是提出不相互排斥的标准。例如,
=AVERAGEIFS(Pupil_Score,Race,">=2",Race,"<=3")
这仅当比赛号码相邻时才有效。
其他人建议使用数组 (CSE) 公式,所以我就不重复了。这些公式往往相当复杂。如果您想保持简单,您可以尝试在原始数据中创建一个过滤列,=OR(race=1;race=3)
并在 if 中使用它。您甚至可以将它们与比赛号码结合使用,只要条件不相互排斥即可。
答案3
您可以使用AVERAGE
数组公式,例如
=AVERAGE(IF((Race=1)+(Race=2),Pupil_Score))
已确认CTRL++SHIFTENTER
“+”实际上相当于“OR”
您可以通过添加 IF 函数轻松添加额外条件,例如假设“range1”需要为“x”
=AVERAGE(IF((Race=1)+(Race=2),IF(range1="x",Pupil_Score)))
查看示例这里
答案4
=
sum( sumifs( columntoavg, criteriacolumn, {"1","2","3"}))
/
sum( countifs( criteriacolumn, {"1","2","3"}))
我认为这是解决这个问题最干净、最灵活的方法。