在Excel中,有一类函数称为数据库函数,是指当需要分析数据清单中的数值是否符合特定条件时,使用数据库工作表的函数。Microsoft Excel共有12个数据库函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为Dfunctions,也称为D函数,每个函数均有3个相同的参数:database、field和criteria。其中参数database为工作表上包含数据清单的区域;field为需要汇总列的标志;criteria为工作表上包含指定条件的区域。
一、Dsum。
(一)功能:求满足给定条件的数据库中记录字段(列)数据的和。
语法结构:=Dsum(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,求和条件)。
注意事项:
1、第一个参数“列表或数据库区域”必须包含列标题。
2、当第二个参数用“列标题”作为返回依据时,必须包含在双引号("")中,如"月薪"、"婚姻"等。
3、可以为参数“求和条件”指定任意区域,只要此区域至少包含一个列标签,并且列标签下方包含至少一个用于指定条件的单元格。
(二)、应用技巧。
1、单字段单条件求和。
目的:根据“性别”统计总“月薪”。
方法:
在目标单元格中输入公式:=DSUM(D2:G24,"月薪",I2:I3)。
解读:
1、“数据库区域”及“求和条件”必须是D2:G24 和I2:I3,不能是D3:G24及I3,因为数据库函数(D函数)在使用时必须包含列标题。
2、可以使用公式:=DSUM(D2:G24,4,I2:I3)来实现上述需求,因为“月薪”在数据库区域D2:G24中的相对列数为4。
3、可以使用公式:=DSUM(D2:G24,G2,I2:I3)来实现上述需求,因为“月薪”就是单元格地址G2的值。
4、在实际的应用中,使用“列标题”、“列数”还是“单元格地址”引用,完全可以根据自己的爱好来应用。
5、单字段单条件求和的功能相当于Sumif函数,公式为:=SUMIF(D3:D24,I3,G3:G24)。
2、单字段多条件求和。
目的:统计“学历”为“大本”、“大专”、“高中”员工的总“月薪”。
方法:
在目标单元格中输入公式:=DSUM(F2:G24,"月薪",I2:I5)。
解读:
1、可以使用公式:=DSUM(F2:G24,2,I2:I5)或=DSUM(F2:G24,G2,I2:I5)来完成上述功能。
2、上述功能还可以用数组公式:=SUM(SUMIF(F3:F24,{"大本","大专","高中"},G3:G24))来完成。
3、多字段单条件求和。
目的:按“性别”统计相应“学历”的总“月薪”。
方法:
在目标单元格中输入公式:=DSUM(D2:G24,"月薪",I2:J3)。
解读:
1、可以使用公式:=DSUM(D2:G24,4,I2:J3)或=DSUM(D2:G24,G2,I2:J3)来完成上述功能。
2、也可以使用Sumifs函数,公式为:=SUMIFS(G3:G24,D3:D24,I3,F3:F24,J3)
4、多字段多条件求和。
目的:统计“年龄”>30岁,“学历”为“大本、大专、高中”的总“月薪”。
方法:
在目标单元格中输入公式:=DSUM(C2:G24,5,I2:J5)。
解读:
1、可以使用=DSUM(C2:G24,"月薪",I2:J5)或=DSUM(C2:G24,G2,I2:J5)来完成上述功能呢。
2、也可以使用数组公式:=SUM(SUMIFS(G3:G24,C3:C24,I3,F3:F24,{"大本","大专","高中"}))来完成。
二、Daverage。
(一)功能:计算满足给定条件的列表或数据库的列中数值的平均值。
语法结构:=Daverage(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,求平均值条件)
注意事项:
同Dsum函数注意事项。
(二)、应用技巧。
1、单字段单条件求平均值。
目的:按“性别”统计平均“月薪”。
方法:
在目标单元格中输入公式:=DAVERAGE(D2:G24,"月薪",I2:I3)。
解读:
1、也可以使用公式:=DAVERAGE(D2:G24,4,I2:I3)或=DAVERAGE(D2:G24,G2,I2:I3)来实现上述需求。
2、“单字段单条件”下的功能相当于Averageif的功能,公式为:=AVERAGEIF(D3:D24,I3,G3:G24)。
2、单字段多条件下的平均值。
目的:统计“学历”为“大本、大专、高中”的平均“月薪”。
方法:
在目标单元格中输入公式:=DAVERAGE(F2:G24,2,I2:I5)。
解读:
1、可以使用公式:=DAVERAGE(F2:G24,"月薪",I2:I5)或=DAVERAGE(F2:G24,G2,I2:I5)来实现。
2、还可以用数组公式:=AVERAGE(AVERAGEIF(F3:F24,{"大本","大专","高中"},G3:G24))来实现上述功能。
3、多字段单条件下的平均值。
目的:按“性别”统计相应“学历”下的平均“月薪”。
方法:
在目标单元格中输入公式:=DAVERAGE(D2:G24,G2,I2:J3)。
解读:
1、可以使用公式:=DAVERAGE(D2:G24,4,I2:J3)或=DAVERAGE(D2:G24,"月薪",I2:J3)来实现。
2、也可以用多条件平均值函数AverageIfs来实现,公式为:=AVERAGEIFS(G3:G24,D3:D24,I3,F3:F24,J3)。
4、多字段多条件下的平均值。
目的:统计“年龄”>30岁,“学历”为“大本、大专、高中”的平均“月薪”。
方法:
在目标单元格中输入公式:=DAVERAGE(C2:G24,5,I2:J5)。
解读:
1、可以使用公式:=DAVERAGE(C2:G24,"月薪",I2:J5)或=DAVERAGE(C2:G24,G2,I2:J5)来实现。
2、还可以使用数组公式:=AVERAGE(AVERAGEIFS(G3:G24,C3:C24,">30",F3:F24,{"大专","大本","高中"}))来实现。
三、Dcount。
(一)功能:从满足给定条件的数据库记录的字段(列)中,计算数值单元格数目。
语法结构:=DCount(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,计数条件)。
注意事项:
同Dsum函数注意事项。
(二)应用技巧。
1、单字段单条件计数。
目的:按“性别”统计“员工数”。
方法:
在目标单元格中输入:=DCOUNT(D2:G24,4,I2:I3)。
解读:
也可以使用单条件计数函数Countif来实现,公式为:=COUNTIF(D3:D24,I3)。
2、单字段多条件计数。
目的:统计“学历”为“大本、大专、高中”的总人数。
方法:
在目标单元格中输入公式:=DCOUNT(F2:G24,"月薪",I2:I5)。
解读:
也可以使用数组公式:=SUM(COUNTIF(F3:F24,{"大本","大专","高中"}))来实现。
四、Dcounta。
功能:对满足指定条件的数据库中记录字段(列)的非空单元格进行计数。
语法结构:=DCounta(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,计数条件)。
注意事项:
同Dsum函数注意事项。
应用技巧:
请参阅Dcount应用技巧。
五、Dget。
应用技巧请参阅:《查询引用,就用Dget函数,正向、反向、条件查询均可实现》。
六、Dmax或Dmin。
(一)功能:返回满足给定条件的数据库记录的字段(列)中数据的最大或最小值。
语法结构:=Dmax(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,求最值条件)
注意事项:
同Dsum函数注意事项。
(二)应用技巧。
1、单条件单字段。
目的:按“性别”统计最高“月薪”和最低“月薪”。
方法:
在相应的目标单元格中输入公式:=DMAX(D2:G24,"月薪",I2:I3)和=DMIN(D2:G24,4,I2:I3)。
解读:
也可以用Maxifs和Minifs函数来实现,公式为:=MAXIFS(G3:G24,D3:D24,I3)和=MINIFS(G3:G24,D3:D24,I3)。
2、单字段多条件。
目的:统计“学历”为“大本、大专、高中”条件下的最高和最低“月薪”。
方法:
在目标单元格中输入公式:=DMAX(F2:G24,2,I2:I5)和=DMIN(F2:G24,2,I2:I5)。
解读:
也可以使用数组公式:=MAX(MAXIFS(G3:G24,F3:F24,{"大本","大专","高中"}))和=MIN(MINIFS(G3:G24,F3:F24,{"大本","大专","高中"}))来实现。
3、多字段单条件。
目的:按照“性别”统计相应“学历”下的最高和最低“月薪”。
方法:
在目标单元格中输入公式:=DMAX(D2:G24,"月薪",I2:J3)和=DMIN(D2:G24,"月薪",I2:J3)。
解读:
也可以使用公式:=MAXIFS(G3:G24,D3:D24,I3,F3:F24,J3)和=MINIFS(G3:G24,D3:D24,I3,F3:F24,J3)来实现。
4、多字段多条件。
目的:统计“年龄”>30岁,“学历”为“大本、大专、高中”的最高和最低“月薪”。
方法:
在目标单元格中输入公式:=DMAX(C2:G24,"月薪",I2:J5)和=DMIN(C2:G25,5,I2:J5)。
解读:
也可以使用数组公式:=MAX(MAXIFS(G3:G24,C3:C24,">30",F3:F24,{"大本","大专","高中"}))和=MIN(MINIFS(G3:G24,C3:C24,">30",F3:F24,{"大本","大专","高中"}))来实现上述需求。
,