继上周介绍了 averageif 和 averageifs 函数之后,很多同学对于这种实现简便、平时接触较少的函数非常感兴趣。
那么趁热打铁,今天教大家一个数据库函数 daverage,它的作用是根据数据库中指定条件返回平均值。
Excel 中以 d 开头的函数是数据库函数,一共有 12 个数据库函数,数据库函数和其相对应的普通函数的区别就在于其允许用户指定一些统计条件,只对满足条件的数据进行统计。
先前我分别介绍过两个比较常用的数据库函数,具体可参见
Excel函数(15)–数据库求和函数dsum
接下来我们还是通过案例来看 daverage 的用法。
语法:
DAVERAGE(database,field,criteria)
- DAVERAGE(数据区域,字段名,条件区域)
释义:
- 求满足给定条件的数据库中记录的字段(列)数据的平均值
- database:要查找的数据区域
- field:字段名,即指定求平均值的数据列
- field 也可以是数字:1 代表第一列,2 代表第二列
- criteria:条件区域,可以是一个或者多个条件
案例:
下图还是这张熟悉的数据表,需要对它求以下平均值:
- 求二班李姓同学的平均分
- 求500以上的所有分数平均分
- 求500至600的所有分数平均分
解决方案 1:求二班李姓同学的平均分
1. 本例中包含两个条件:二班、李姓;我们把这两个条件填写到 E 和 F 列
- E1 和 F1 的表头字段必须与 A 至 C 列数据区域的对应表头完全一致
- “李姓”这个条件为模糊匹配条件,因此我们用通配符 * 来表示,即“李*”
2. 在 G2 单元格输入以下公式即可:
=DAVERAGE(A1:C15,3,E1:F2)
公式释义:
- A1:C15: 要查找的数据区域
- 3:需要求平均值的数据列,为数据区域的第 3 列,即“高考总分”列;3 也可以替换成 "高考总分",参数的引号必须为英文符号
- E1:F2:条件区域
解决方案 2:求500以上的所有分数平均分
1. 本例中仅一个条件,
- 在 G1 单元格添加表头“高考总分”
- 在 G2 单元格输入条件“>499”
2. 在 H2 单元格输入以下公式即可:
=DAVERAGE(A1:C15,3,G1:G2)
公式释义:
- 该公式与案例 1 唯一的区别仅在于条件区域的设置:G1:G2,比较容易理解,不重复解释
解决方案 3:求500至600的所有分数平均分
为何我要增加一个看上去跟案例 2 类似的案例呢?因为这个需求比较有典型性,它的条件是对 C 列的分数取一个区间值。区间值条件怎么设置?
1. 在 F1 和 G1 单元格都输入表头“高考分数”
2. 在 F2 和 G2 单元格分别输入条件“<601”和“>499”,这两个单元格顺序可以调换
3. 在 H2 单元格输入以下公式即可:
=DAVERAGE(A1:C15,3,F1:G2)