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! 错误:(

通过AverageIfs,条件与AND一起使用,而不是在逻辑中与OR一起使用。 为了实现你所描述的,你可以使用这个数组公式来确认,这个公式必须用CtrlShiftEnter确认

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

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

在这里输入图像说明

非数组方法可以这样解决,尽pipe它不像数组公式那么优雅

在这里输入图像说明

公式可以合并成

 =( 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") )