数据库如何定义函数(数据库函数D函数)(1)

在Excel中,有一类函数称为数据库函数,是指当需要分析数据清单中的数值是否符合特定条件时,使用数据库工作表的函数。Microsoft Excel共有12个数据库函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为Dfunctions,也称为D函数,每个函数均有3个相同的参数:database、field和criteria。其中参数database为工作表上包含数据清单的区域;field为需要汇总列的标志;criteria为工作表上包含指定条件的区域。


一、Dsum。

(一)功能:求满足给定条件的数据库中记录字段(列)数据的和。

语法结构:=Dsum(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,求和条件)。

注意事项:

1、第一个参数“列表或数据库区域”必须包含列标题。

2、当第二个参数用“列标题”作为返回依据时,必须包含在双引号("")中,如"月薪"、"婚姻"等。

3、可以为参数“求和条件”指定任意区域,只要此区域至少包含一个列标签,并且列标签下方包含至少一个用于指定条件的单元格。


(二)、应用技巧。

1、单字段单条件求和。

目的:根据“性别”统计总“月薪”。

数据库如何定义函数(数据库函数D函数)(2)

方法:

在目标单元格中输入公式:=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、单字段多条件求和。

目的:统计“学历”为“大本”、“大专”、“高中”员工的总“月薪”。

数据库如何定义函数(数据库函数D函数)(3)

方法:

在目标单元格中输入公式:=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、多字段单条件求和。

目的:按“性别”统计相应“学历”的总“月薪”。

数据库如何定义函数(数据库函数D函数)(4)

方法:

在目标单元格中输入公式:=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岁,“学历”为“大本、大专、高中”的总“月薪”。

数据库如何定义函数(数据库函数D函数)(5)

方法:

在目标单元格中输入公式:=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、单字段单条件求平均值。

目的:按“性别”统计平均“月薪”。

数据库如何定义函数(数据库函数D函数)(6)

方法:

在目标单元格中输入公式:=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、单字段多条件下的平均值。

目的:统计“学历”为“大本、大专、高中”的平均“月薪”。

数据库如何定义函数(数据库函数D函数)(7)

方法:

在目标单元格中输入公式:=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、多字段单条件下的平均值。

目的:按“性别”统计相应“学历”下的平均“月薪”。

数据库如何定义函数(数据库函数D函数)(8)

方法:

在目标单元格中输入公式:=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岁,“学历”为“大本、大专、高中”的平均“月薪”。

数据库如何定义函数(数据库函数D函数)(9)

方法:

在目标单元格中输入公式:=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、单字段单条件计数。

目的:按“性别”统计“员工数”。

数据库如何定义函数(数据库函数D函数)(10)

方法:

在目标单元格中输入:=DCOUNT(D2:G24,4,I2:I3)。

解读:

也可以使用单条件计数函数Countif来实现,公式为:=COUNTIF(D3:D24,I3)。


2、单字段多条件计数。

目的:统计“学历”为“大本、大专、高中”的总人数。

数据库如何定义函数(数据库函数D函数)(11)

方法:

在目标单元格中输入公式:=DCOUNT(F2:G24,"月薪",I2:I5)。

解读:

也可以使用数组公式:=SUM(COUNTIF(F3:F24,{"大本","大专","高中"}))来实现。


四、Dcounta。

功能:对满足指定条件的数据库中记录字段(列)的非空单元格进行计数。

语法结构:=DCounta(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,计数条件)。

注意事项:

同Dsum函数注意事项。

应用技巧:

请参阅Dcount应用技巧。


五、Dget。

应用技巧请参阅:《查询引用,就用Dget函数,正向、反向、条件查询均可实现》


六、Dmax或Dmin。

(一)功能:返回满足给定条件的数据库记录的字段(列)中数据的最大或最小值。

语法结构:=Dmax(列表或数据库区域,返回值所在的相对列数或列标题的单元格引用或列标题,求最值条件)

注意事项:

同Dsum函数注意事项。


(二)应用技巧。

1、单条件单字段。

目的:按“性别”统计最高“月薪”和最低“月薪”。

数据库如何定义函数(数据库函数D函数)(12)

方法:

在相应的目标单元格中输入公式:=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、单字段多条件。

目的:统计“学历”为“大本、大专、高中”条件下的最高和最低“月薪”。

数据库如何定义函数(数据库函数D函数)(13)

方法:

在目标单元格中输入公式:=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、多字段单条件。

目的:按照“性别”统计相应“学历”下的最高和最低“月薪”。

数据库如何定义函数(数据库函数D函数)(14)

方法:

在目标单元格中输入公式:=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岁,“学历”为“大本、大专、高中”的最高和最低“月薪”。

数据库如何定义函数(数据库函数D函数)(15)

方法:

在目标单元格中输入公式:=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,{"大本","大专","高中"}))来实现上述需求。


,