我上周写过一篇用数据透视表的方式求各班级平均分,即带条件求平均值,具体可参见 。
更早的时候,在讲解 sumproduct 函数的时候,也写过用这个函数怎么解决类似问题,可参见
今天我教大家两个新函数 averageif 和 averageifs,分别用来解决带单一条件和多条件求平均值,操作也非常简单,因为不需要跟其他函数组合使用。
案例:
下图 1 是各班学生的高考成绩,需要如下图 2 所示,求以下两种平均分:
1) 每个班级的高考平均分
2) 去除 600 分以上的成绩后,各班的平均分
解决方案 1:求每个班级的高考平均分
本需求是比较典型的带一个条件求平均值,可以用 AverageIf 函数来解决。
AverageIf 函数语法:
AVERAGEIF(Range,Criteria,[Average_Range])
- Range:需要求平均值的区域范围;如果有 Average_Range,则 Range 为条件区域范围
- Criteria:条件
- Average_Range:求平均值的实际区域范围
- 如果 Range 或 Average_Range 选定的单元格中有逻辑值 True 或 False,它们将被忽略
- 如果 Average_Range 选定的单元格为空单元格,将被忽略
- Criteria 可以是文字,也可以用大小于和等于号
- 如果条件 Criteria 包含空单元格,将被视为 0 值;如果选定的区域没有满足条件的单元格,将返回错误值
1. 了解完语法,现在可以开始设置公式了:在 F2 单元格输入以下公式:
=AVERAGEIF(A:A,E2,C:C)
公式释义:
- A:A:条件范围
- E2:条件值,即“一班”
- C:C:求平均值的实际区域范围
2. 这就是得到的结果