ARTICLE · 1018474
零基础学EXCEL 第十六篇:EXCEL单条件求平均AVERAGEIF函数
我们平时算平均值,很多时候只想算满足条件的,比如只算一班的平均分,只算销售额大于1000的平均,这个时候AVERAGE就不够用了,AVERAGEIF就是专门解决”单条件求平均“的,下面给大家介绍AVERAGEIF函数的用法。

第1参数(条件区域):你的条件写在哪一列?比如你要按班级算平均分,班级就在A列,那一列就是条件区域
第2参数(条件):你要找什么?比如就找“一班”,那条件就是“一班”
第3参数(求平均区域):你最终要算谁的平均?要算分数,那就是成绩列
二、用法
比如我想算班级是“一班”的所有同学的成绩平均分:

输入公式:=AVERAGEIF(A:A,"一班",D:D),按回车,直接出结果。
如果条件是数字也没问题。
比如要算成绩大于90分的平均,条件区域和求平均区域可以是同一列。
就写:=AVERAGEIF(D:D,">90",D:D)
还可以简写:=AVERAGEIF(D:D,">90")
因为省略第三参数默认用条件区域。
三、小技巧:用通配符进行模糊匹配
AVERAGEIF支持问号?和星号*当通配符:
?代表任意一个字符:比如我要算姓名是两个字的人的平均分:=AVERAGEIF(A:A,"??",D:D)。
* 代表任意多个字符:比如算所有姓“张”的平均分:=AVERAGEIF(A:A,"张*",D:D)。
四、常见错误解决
1、出现#DIV/0!错误
说明整个区域里没有满足条件的单元格,相当于0除以0,这时检查一下条件有没有写错,或者是不是真的没有符合的数据。
2、结果不对,空单元格错把空值被当成0算了
如果条件单元格是空的,AVERAGEIF会默认把它当作0来计算,如果不希望这样,记得把空条件单元格清除掉。
3、求平均区域和条件区域大小不一样,会不会错?
不用担心,AVERAGEIF支持两个区域大小不一样,它会自动以条件区域的位置对应过去,不用强行拉一样大小的区域。