前几日,我们介绍了高级筛选的使用,不少朋友反映的确好用,但是它只能筛选出数据记录,想要对这些记录进行求和、求平均值…怎么办呢?很简单,用数据库函数。
数据库函数主要用于对存储在数据库中的数据进行求和、求平均值等的统计。常用的数据库函数有DSUM、DCOUNT、DMAX、DMIN、DAWERAGE、DGET六个。
这些函数的语法结构都是“函数名(Datebase,Field,Criterie)”通俗的理解就是“函数名(数据区域,统计数据区域的第几列,条件是什么)
database:构成列表或数据库的单元格区域。
field:指定函数所使用的列。可以使用列标题,但必须将其放置在双引号内;或者使用代表在列表中位置的数字:1表示第一列,2表示第二列,依此类推。
criteria:包含指定条件的单元格区域,至少包含一个列标题且在列标题下至少有一个在其中指定条件的单元格。3个参数都是必需的参数。使用数据库函数,最关键的就是学会设置条件区域。条件区域的设置规则同高级筛选条件的设置规则基本一致。
下面我们以某公司1-7月份销售台账表(8月5日讲高级筛选用的案例表,922条记录)为例,结合高级筛选的条件设置,来介绍六个常用数据库函数条件设置要点及函数用法。
一、设置单字段单条件:求销售员“张迎东”的销售额
二、设置单字段“或”条件:求销售员“张迎东”及“刘云香”的订单数量
三、设置单字段“且”条件:五一假期(2020-5-1至2020-5-3)的日均销售额
四、设置多字段“且”条件:求销售员“张迎东”的“手机”的最高单价和最低单价
五、设置多字段“或”条件:求“手机”的销售额及1月1日起所有商品的销售额
六、设置多字段复合条件:求销售员“张迎东”关于“手机”及“刘云香”关于“笔记本电脑”的销售额
七、在条件中使用通配符:求“销售产品”中包含“电脑”两字的产品的销售数量
八、在条件中使用公式:求销售额最大的三条记录的销售额
九、是否存在唯一符合条件的记录:求“华东区”单次销售数量大于70的记录是否存在
一、设置单字段单条件:求销售员“张迎东”的销售额方法:
1、设置查询条件
条件区域包含字段名和条件,下同。
单字段单条件类型的统计,其条件设置为,字段名+条件数据(在字段名的下一行)。
L4单元格输入列标签“销售员“,L5单元格输入要查询的销售员名字—张迎东,条件区域就是L4:L5。注意A1单元格输入的内容必须与数据表中的”销售员“字段名完全一致,可以把源表字段名直接复制过来。这是数据库函数条件设置数进行必须遵循的规则,下同。
2、函数实现
在L7单元格中输入:=DSUM(A1:I922,9,L4:L5)
说明:第二个参数输入9,因为我们要求销售额,而“销售额”字段在该数据库的第9列输入第三个参数条件区域时,字段名”销售员“也必须选上,这也是使用数据库函数必须遵循的规则。
3、函数说明
DSUM函数是用来统计满足给定条件的数据库中记录的字段(列)数据的和。
二、设置单字段多个“或”条件:求销售员“张迎东”及“刘云香”的订单数量
1、设置查询条件
单字段多个“或”条件类型的统计,其条件设置为,字段名+条件数据(在字段名的几行),有几个条件,就写几行。
L11单元格输入列标签“销售员“,L12单元格输入要查询的销售员名字—张迎东,L13单元格输入:刘云香,条件区域就是L11:L13
2、函数实现
在L14单元格中输入:=DCOUNT(A1:I922,7,L11:L13)
3、函数说明
DCOUNT函数是用来从满足条件的数据库记录的字段(列)中计算数值单元格数目。
三、设置单字段 “且”条件:五一假期(2020-5-1至2020-5-3)的日均销售额
1、设置查询条件
单字段多个“且”条件类型的统计,其条件设置为,个字段名放在同一行,有几个条件,写几次字段名,条件放在字段名下方的同一行中。
L17、M17单元格都输入字段名“销售日期“,L18、 L18单元格分别输入 “>=2020-5-1”,”<=2020-5-3“,条件区域就是L17:M18。
2、函数实现
在L19单元格中输入:=DAVERAGE(A1:I922,9,L17:M18)
3、函数说明
DAVERAGE函数用来计算满足给定条件的列表或数据库中记录的字段(列)数据的平均值。
四、设置多字段“且”条件:求销售员“张迎东”的“手机”的最高单价和最低单价
1、设置查询条件
多字段 “且”条件类型的统计,其条件设置为,多个字段名放在同一行,条件放在字段名下方的同一行中。
A1、A2单元格分别输入字段名“销售员“、“销售产品“,A1、A2单元格分别输入 “张迎东”,”手机“,条件区域就是A1:A2
2、函数实现
在L24单元格中输入:=DMAX(A1:I922,8,L22:M23),求最高单价。在L25单元格中输入:=DMIN(A1:I922,8,L22:M23),求最低单价
3、函数说明
DMAX函数是用来返回满足给定条件的数据库中记录的字段(列)中数据的最大值,而DMIN函数则是用来返回满足给定条件的数据库中记录的字段(列)中数据的最小值。
五、设置多字段“或”条件:求“手机”的销售额及1月1日起所有商品的销售额
1、设置查询条件
多字段“或”条件类型的统计,其条件设置为,多个字段名放在同一行,条件放在字段名下方的不同行中。
L28、M28单元格分别输入字段名“销售产品“、“销售日期“,L29、M30单元格分别输入 “手机”,” >=2020-1-1 “,条件区域就是L28:M30.
2、函数实现
在单元格中分别输入:=DSUM(A1:I922,9,L28:M30)
六、设置多字段复合条件:求销售员“张迎东”关于“手机”及“刘云香”关于“笔记本电脑”的销售额
1、设置查询条件
多单字段复合条件类型的统计,其条件设置为,多个字段名放在同一行,同行条件为并,不同行条件为或。
L34、M34单元格分别输入字段名“销售员“、“销售产品“,L35、M35单元格分别输入 “张迎东”, “手机”, L36、M36单元格分别输入“刘云香”, “笔记本电脑”,条件区域就是L34:M36
2、函数实现
在L37单元格中分别输入:=DSUM(A1:I922,9,L34:M36)
七、在条件中使用通配符:求“销售产品”中包含“电脑”的销售数量
1、设置查询条件
在Excel中,“*”(星号)为通配符,代表任意长度的字符。所以,这里查询条件就是“销售产品”为“*电脑*”。
L40单元格输入字段名“销售产品“,L41单元格分别输入“*电脑*“,条件区域就是L40:L41。
2、函数实现
在L42单元格中分别输入:=DSUM(A1:I922,9,L40:L41)
八、在条件中使用公式:求销售额最大的三条记录的销售额是多少
1、设置查询条件
条件设置一般需要用到函数或公式。
本案例条件应设置为:=I2>LARGE(I2:I922,4)。自定义条件不要标题字段,下同。如图,L45单元格为空,L46单元格输入:=I2>LARGE(I2:I922,4),但是条件区域框应选L45:L46
2、函数实现在L47单元格中分别输入:=DSUM(A1:I922,9,L45:L46)
九、是否存在唯一符合条件的记录:求“华东区”单次销售数量大于70的记录是否存在
1、设置查询条件
L50、M50单元格分别输入字段名“销售区“、“数量(台)“,L51、M51单元格分别输入 “华东区”, “>70”,条件区域就是L50:M51)。
2、函数实现
在L52单元格中输入:=DGET(A1:I922,1,L50:M51),函数计算结果为190,表明存在符合条件的唯一一条记录,是序号为190的那条记录。
3、函数说明
DGET函数从数据库中提取符合指定条件且唯一存在的记录。特别要注意这个唯一存在的记录,因为如果没有满足条件的记录,则DGET 返回 错误值 #VALUE!。如果有多个记录满足条件,则DGET 返回 错误值 #NUM!。
以上这六个数据库函数的应用,类似于高级筛选,先根据条件筛选数据,然后再进行计算,与跟他们功能类似的SUMIF(S)、COUNTIF(S)、AVERAE等函数公式及嵌套相比,公式非常简单,作用不容小觑,希望大家都能掌握。
此文来源于微信公众号 有格Excel小学堂