Excel查找基于多个条件的平均值(多个值)

表:

Name Price New/Old A 10 Y A 20 N B 35 Y B 45 Y C 50 N C 60 Y 

如果我想find:当名称= A和新/旧= Y时的平均价格:

  IFERROR(AVERAGEIFS($B$2:$B$7, $A$2:$A$7, "A", $C$2:$C$7, "Y"),"") = 10 

这相当容易。

然而,当名称= A或B和新/旧= Y时,我find平均价格时卡住了。

正确答案应该是:(10 + 35 + 45)/ 3 = 30

提前致谢!

更直接的方法使用数组:

=AVERAGE(IF((($A$2:$A$7="A")+($A$2:$A$7="B")+($C$2:$C$7="Y"))=2,$B$2:$B$7))

记住要input一个数组公式,按住Shift + Ctrl并按Enter

有可能是一个更容易/更有说服力的方式,但这应该做到这一点:

 =(SUMIFS($B$2:$B$7, $A$2:$A$7, "A", $C$2:$C$7, "Y")+SUMIFS($B$2:$B$7, $A$2:$A$7, "B", $C$2:$C$7, "Y"))/(COUNTIFS($A$2:$A$7, "A", $C$2:$C$7, "Y")+ COUNTIFS($A$2:$A$7, "B", $C$2:$C$7, "Y")) 

非数组公式

 =SUM(SUMIFS(B2:B7,A2:A7,TRANSPOSE({"A","B"}),C2:C7,"Y"))/ SUM(COUNTIFS(A2:A7,TRANSPOSE({"A","B"}),C2:C7,"Y")) 

西蒙的整洁虽然

编辑:巴里评论后

 =SUM(SUMIFS(B2:B7,A2:A7,{"A","B"},C2:C7,"Y"))/SUM(COUNTIFS(A2:A7,{"A","B"},C2:C7,"Y"))