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一起使用。 为了实现你所描述的,你可以使用这个数组公式来确认,这个公式必须用Ctrl – Shift – Enter确认
=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") )