多个标准的EXCEL AVERAGE值

时间:2016-08-14 02:49:13

标签: excel average

我试图获取列中的平均值,但仅针对符合多个特定条件的行,例如:

Name    Age Pass    Country
Bob     18  TRUE    UK
John    16  FALSE   UK
Jane    17  TRUE    US
Jake    18  TRUE    Germany

我希望那些通过考试并来自美国或德国的学生达到平均年龄。

我尝试过这样的事情:

=AVERAGEIFS(B2:B5, C2:C5, "TRUE", D2:D5, "US", D2:D5, "Germany")

但它只返回#DIV / 0!错误:(

2 个答案:

答案 0 :(得分:2)

对于AverageIfs,条件与AND一起使用,而不是在逻辑中使用OR。要实现您描述的内容,您可以使用此数组公式,必须使用 Ctrl - Shift - Enter

确认
=AVERAGE(IF((C2:C5)*((D2:D5="US")+(D2:D5="Germany")),B2:B5))

在数组输入公式后,公式栏将在公式周围显示花括号。如果编辑公式,则需要再次使用Ctrl-Shift-Enter。

enter image description here

答案 1 :(得分:1)

非数组方法可以通过这种方式解决,虽然它不像数组公式那样优雅

enter image description here

公式可以组合成

=( SUMIFS(B2:B5,C2:C5,TRUE,D2:D5,"US")+SUMIFS(B2:B5,C2:C5,TRUE,D2:D5,"Germany") ) / ( COUNTIFS(C2:C5,TRUE,D2:D5,"US")+COUNTIFS(C2:C5,TRUE,D2:D5,"Germany") )