零基础学EXCEL 第十八篇:AVERAGE、AVERAGEIF、AVERAGEIFS三个平均函数的用法及选择
- 2026-11-08 10:44:17

比如有一张学生成绩表,成绩在D列,需要计算所有学生的平均分

输入公式:=AVERAGE(D2:D22),按回车,平均分就直接算出来了。
2、AVERAGE的默认特性
很多朋友会担心:如果表格里有空单元格(比如缺考没填分),会不会影响结果?
答案是:不会!
AVERAGE函数会自动忽略空单元格和文本内容,只算有数字的单元格。举个例子:
还是以上截图的表格,一共有21位同学,其中D5是空的(缺考),AVERAGE会直接跳过它,只算剩下20个同学有效分数的平均,不会把空值当0分拉低结果。
这个特性符合大多数场景需求,比如缺考不参与排名平均,直接用AVERAGE函数就对了,相当友好。
如果你的需求刚好反过来:要把0分也算进去(比如0分也要计入平均分),直接确保对应单元格填0就行,AVERAGE会正常把0算进去的。
3、常见错误解决
平常在用AVERAGE时,会碰到一些奇怪的结果,其实都是小问题,对照改就行:
(1)结果出来是0或者不对
大概率是你的「数值其实是文本格式」,比如从别的地方导过来的分数,看起来是数字,其实Excel认成文字了,AVERAGE读不到自然算不对。
✅解决方法:选中数据区域,点击左上角的黄色感叹号,选「转换为数字」,再刷新公式就行了。
(2)结果比预期低
这种情况90%是你把空单元格填了0,AVERAGE会把0当成有效数值计算,相当于拉低了平均分,如果是缺考不需要算,把对应单元格内容删掉留空就行,AVERAGE会自动跳过。
(3)公式输入后,结果显示#DIV/0!错误
这个错误的意思是「没有可计算的有效数值」,比如你选的区域全是文本,或者全部都是空单元格,分母为0自然报错了。
✅ 解决方法:检查一下你选的区域对不对,确认区域里有没有填好数字。
第1参数(条件区域):你的条件写在哪一列?比如你要按班级算平均分,班级就在A列,那一列就是条件区域
第2参数(条件):你要找什么?比如就找“一班”,那条件就是“一班”
第3参数(求平均区域):你最终要算谁的平均?要算分数,那就是成绩列
比如我想算班级是“一班”的所有同学的成绩平均分:

输入公式:=AVERAGEIF(A:A,"一班",D:D),按回车,直接出结果。
如果条件是数字也没问题。
比如要算成绩大于90分的平均,条件区域和求平均区域可以是同一列。
就写:=AVERAGEIF(D:D,">90",D:D)
还可以简写:=AVERAGEIF(D:D,">90")
因为省略第三参数默认用条件区域。
2、小技巧:用通配符进行模糊匹配
AVERAGEIF支持问号?和星号*当通配符:
? 代表任意一个字符:比如我要算姓名是两个字的人的平均分:=AVERAGEIF(A:A,"??",D:D)。
* 代表任意多个字符:比如算所有姓“张”的平均分:=AVERAGEIF(A:A,"张*",D:D)。
3、常见错误解决
(1)出现#DIV/0!错误
说明整个区域里没有满足条件的单元格,相当于0除以0,这时检查一下条件有没有写错,或者是不是真的没有符合的数据。
(2)结果不对,空单元格错把空值被当成0算了
如果条件单元格是空的,AVERAGEIF会默认把它当作0来计算,如果不希望这样,记得把空条件单元格清除掉。
(3)求平均区域和条件区域大小不一样,会不会错?
不用担心,AVERAGEIF支持两个区域大小不一样,它会自动以条件区域的位置对应过去,不用强行拉一样大小的区域。
第1个参数:永远是“你要算谁的平均”(比如成绩列)
后面成对出现:先选“在哪列找条件”,再写“具体是什么条件”
条件可以无限叠加:只要你需要,可以加第3组、第4组……最多支持127对条件
AVERAGEIFS 的参数顺序和单条件AVERAGEIF函数有一个巨大的区别,千万别搞反了:
单条件AVERAGEIF函数,求平均区域是最后一个参数
多条件AVERAGEIFS函数,求平均区域必须放在最前面
2、用法举例
(1)双条件求平均
比如:计算 “一班” 且 “男生” 的平均成绩。

公式:=AVERAGEIFS(D2:D22, A2:A22, "一班", C2:C22, "男")
公式拆解:
D2:D22:我要算的是【成绩】的平均
A2:A22, "一班":第一个条件区域,班级是【一班】
C2:C22, "男":第二个条件区域,性别是【男】
只有同时满足这两个条件的人,他们的成绩才会被纳入计算。
(2)结合数字比较运算符
比如:计算 “二班” 中,成绩 大于等于90分的平均分。

公式:=AVERAGEIFS(D2:D22, A2:A22, "二班", D2:D22, ">=90")
注意:当条件包含大于、小于等符号时,必须用双引号括起来,如 ">=90"。如果条件是引用单元格(比如A27写着90),则写成 ">="&E1。
(3)多条件求平均
比如:要计算一班”且“成绩>80”且“成绩<90。

公式:=AVERAGEIFS(D2:D22, A2:A22, "一班", D2:D22, ">80", D2:D22, "<90")
3、避坑指南
(1) 区域大小必须一致,这是 AVERAGEIFS 最严格的要求。
✅ 正确:AVERAGEIFS(D2:D22, A2:A22, "...", C2:C22, "...") (都是2到22行)
❌ 错误:AVERAGEIFS(D2:D22, B2:B20, "...") (一个22行,一个20行)
如果区域大小形状不一致,Excel 会直接返回 #VALUE! 错误。
(2)没有满足条件的数据,公式返回错误
如果没有任何一行数据同时满足你设定的所有条件(比如你想算“三班”的平均分,但表里根本没有三班),函数会返回 #DIV/0! 错误。
这时如果不想让其在单元格显示这个错误,可以用IFERROR函数,将其显示为空:=IFERROR(AVERAGEIFS(...), "")
(3)空值和文本的处理
- 求平均区域中的空单元格、文本、逻辑值(TRUE/FALSE)会被忽略,不参与计算。
- 条件区域中的空单元格,会被视为 0 进行匹配。
- 如果求平均区域内没有符合条件的数值,同样报 #DIV/0!。
四、AVERAGE、AVERAGEIF、AVERAGEIFS三个平均函数怎么选?
| AVERAGE | ||
| AVERAGEIF | 单条件筛选 | |
| AVERAGEIFS | 多条件筛选 |
总结:没条件用AVERAGE,一个条件用AVERAGEIF,两个及以上条件用 AVERAGEIFS。