轻松掌握Excel工作表中的7大数据库函数,实用又易懂

发表时间: 2020-12-08 19:01

在Excel工作表中,有一类函数成为数据库函数,也被称为D函数,共计有12个,但我们常用的有7个,今天,我们来了解和学习这7个数据库函数。


一、Excel工作表数据库函数:Dsum。

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

语法结构:=Dsum(数据库区域,返回值所在的相对列数(列标题的相对引用、列标题),条件区域)。

注意事项:

1、参数“数据库区域”和“条件区域”必须包含有效的列标题。

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

(一)数据库函数Dsum:单字段单条件求和。

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

方法:

在目标单元格中输入公式:=DSUM(C2:G12,"月薪",I2:I3)。

解读:

1、参数“数据库区域”和“条件区域”,即第一个参数和第三个参数,必须包含列标题,C2:G12、I2:I3,而不是C3:G12、I3。

2、第二个参数“返回值相对的列数(列标题的相对引用、列标题)”,除了用“月薪”外,还可以使用G2或5,因为“月薪”在G2单元格,在C2:G12的数据库区域中,“月薪”处于第5列。在实际的应用中,完全根据自己的爱好选择。

3、单字段单条件求和相当于用单条件Sumif求和,公式为:=SUMIF(D3:D12,I3,G3:G12)。


(二)数据库函数Dsum:单字段多条件求和。

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

方法:

在目标单元格中输入公式:=DSUM(F2:G12,2,I2:I5)。

解读:

1、第二个参数用“2”不用“5”的原因在于“数据库区域”发生了变化,现在的数据库区域为F2:G12,而要返回的“月薪”处于当前区域的第2列。

2、上述功能也可以用Sum+Sumif数组组合公式来实现,公式为:=SUM(SUMIF(F3:F12,{"大本","大专","中专"},G3:G12))。


(三)数据库函数Dsum:多字段单条件求和。

目的:根据“性别”,统计相应“学历”的“月薪”。

方法:

在目标单元格中输入公式:=DSUM(D2:G12,G2,I2:J3)。

解读:

1、要返回的值也可以用返回列的列标题单元格地址表示;“条件区域”除了单列(单字段)外,也可以是多列(多字段),只需将具体的条件值和列标题包含在范围内即可。

2、Dsum函数的多字段单条件求和相当于多条件求和函数Sumifs,公式为:=SUMIFS(G3:G12,D3:D12,I3,F3:F12,J3)。


(四)数据库函数Dsum:多字段多条件求和。

目的:按年龄段统计学历为“大本”、“大专”、“中专”的“月薪”。

方法:

在目标单元格中输入公式:=DSUM(C2:G12,"月薪",I2:J5)。

解读:

上述功能也可以用Sum+Sumifs数组组合公式来实现,公式为:=SUM(SUMIFS(G3:G12,C3:C12,I3,F3:F12,{"大本","大专","中专"}))。


二、Excel工作表数据库函数:Daverage。

功能:计算给定条件的列表或数据库的列中数值的平均值。

语法结构:=Daverage(数据库区域,返回值所在的相对列数(列标题的相对引用、列标题),条件区域)。

注意实现:

1、参数“数据库区域”和“条件区域”必须包含有效的列标题。

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

目的:根据需求计算平均“月薪”。

方法:

在目标单元格中输入公式:=DAVERAGE(D2:G12,"月薪",I2:I3)、=DAVERAGE(F2:G12,2,I4:I7)、=DAVERAGE(D2:G12,G2,I8:J9)、=DAVERAGE(C2:G12,"月薪",I10:J12)。

解读:

公式=DAVERAGE(D2:G12,"月薪",I2:I3)为单字段单条件计算平均“月薪”;=DAVERAGE(F2:G12,2,I4:I7)为单字段多条件计算“月薪”、=DAVERAGE(D2:G12,G2,I8:J9)为多字段单条件计算“月薪”、=DAVERAGE(C2:G12,"月薪",I10:J12)为多字段多条件计算“月薪”;具体的目的可以参阅条件进行理解。


三、Excel工作表数据库函数:Dcount。

功能:从给定条件的数据库记录的字段(列)中,计算数值单元格数目。

语法结构:=Dcount(数据库区域,返回值所在的相对列数(列标题的相对引用、列标题),条件区域)。

注意事项:

1、参数“数据库区域”和“条件区域”必须包含有效的列标题。

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

目的:根据需求统计数值个数。

方法:

在目标单元格中输入公式:=DCOUNT(D2:G12,"月薪",I2:I3)、=DCOUNT(F2:G12,2,I4:I7)、=DCOUNT(D2:G12,G2,I8:J9)、=DCOUNT(C2:G12,"月薪",I10:J12)。

解读:

1、公式=DCOUNT(D2:G12,"月薪",I2:I3)为单字段单条件计数,目的为根据“性别”统计人数;=DCOUNT(F2:G12,2,I4:I7)为单字段多条件计数,目的为统计“学历”为“大本”、“大专”、“中专”的人数;=DCOUNT(D2:G12,G2,I8:J9)为多字段单条件计数,目的为根据“性别”统计相应“学历”的人数;=DCOUNT(C2:G12,"月薪",I10:J12)为多字段多条件计数,目的为统计相应“年龄”段学历为“大本”、“大专”的人数。

2、因为Dcount函数的统计对象为数值,所以通过计算“月薪”的个数来达到目的,也可以使用“年龄”字段作为统计依据。


四、Excel工作表数据库函数:Dcounta。

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

语法结构:=Dcounta(数据库区域,返回值所在的相对列数(列标题的相对引用、列标题),条件区域)。

注意事项:

1、参数“数据库区域”和“条件区域”必须包含有效的列标题。

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

目的:根据需求统计非空单元格的个数。

方法:

在目标单元格中输入公式:=DCOUNTA(D2:F12,"性别",I2:I3)、=DCOUNTA(F2:F12,1,I4:I7)、=DCOUNTA(D2:F12,F2,I8:J9)、=DCOUNTA(C2:F12,"学历",I10:J12)。

解读:

1、公式=DCOUNTA(D2:F12,"性别",I2:I3)为单字段单条件计数,目的为根据“性别”统计人数;=DCOUNTA(F2:F12,1,I4:I7)为单字段多条件计数,目的为统计学历为“大本”、“大专”、“中专”的人数;=DCOUNTA(D2:F12,F2,I8:J9)为多字段单条件计数,目的为根据“性别”统计相应“学历”的人数;=DCOUNTA(C2:F12,"学历",I10:J12)为多字段多条件计数,目的为统计相应“年龄”段,学历为“大本”、“大专”的人数。

2、由于Dcounta函数的统计对象为文本,所以第二个参数必须为“数据库区域”中的文本列。


五、Excel工作表数据库函数:Dget。

功能:从数据库中提取符合指定条件且唯一存在的记录。

语法结构:=Dget(数据库区域,返回值所在的相对列数(列标题的相对引用、列标题),条件区域)。

注意事项:

1、参数“数据库区域”和“条件区域”必须包含有效的列标题。

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

(一)数据库函数Dget:正向(单条件)查询。

目的:根据“员工姓名”查询对应的“月薪”。

方法:

在目标单元格中输入公式:=DGET(B2:G12,"月薪",I2:I3)。

解读:

Dget函数为查询引用函数,上述功能也可以用函数Lookup或Vlookup等实现。


(二)数据库函数Dget:反向查询。

目的:根据“员工姓名”查询对应的编号(No)。

方法:

在目标单元格中输入公式:=DGET(A2:B12,"No",I2:I3)。

解读:

根据需求填写对应的参数范围即可。


(三)数据库函数Dget:多条件查询。

目的:根据“婚姻”状况查询员工的“月薪”。

方法:

在目标单元格中输入公式:=DGET(B2:G12,"月薪",I2:J3)。


(四)数据库函数Dget:精准查询。

目的:查询“鲁肃”的“月薪”。

方法:

在目标单元格中输入公式:=DGET(B2:G12,"月薪",I2:I3)。

解读:

1、分析公式,并不存在错误,但返回错误代码#NUM! ,分析原因是因为查询值“鲁肃”不唯一,存在多条符合条件的记录,Why?这是因为Dget函数默认在“查询条件”的后面带有通配符,条件“鲁肃”相对于“鲁肃*”,分析数据源,员工中除了“鲁肃”之外,还有“鲁肃-1”,再用Dget函数时,这两个条件是相同的,所以返回#NUM!

2、为了达到“精准”一对一的查询,只需在条件的前面添加等号(=)即可。


六、Excel工作表数据库函数:DMAX。

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

语法结构:=Dmax(数据库区域,返回值所在的相对列数(列标题的相对引用、列标题),条件区域)。

注意事项:

1、参数“数据库区域”和“条件区域”必须包含有效的列标题。

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

目的:根据需求查询最高“月薪”。

方法:

在目标单元格中输入公式:=DMAX(D2:G12,"月薪",I2:I3)、=DMAX(F2:G12,2,I4:I7)、=DMAX(C2:G12,G2,I8:J9)、=DMAX(C2:G12,"月薪",I10:J12)。

解读:

公式=DMAX(D2:G12,"月薪",I2:I3)为单字段单条件,目的为根据“性别”计算最高“月薪”;=DMAX(F2:G12,2,I4:I7)为单字段多条件,目的为统计“学历”为“大本”、“大专”、“中专”中的最高“月薪”;=DMAX(C2:G12,G2,I8:J9)为多字段单条件,目的为按照“性别”统计相应“学历”下的最高“月薪”;=DMAX(C2:G12,"月薪",I10:J12)为多字段多条件,目的为统计指定“年龄”范围下相应“学历”的最高“月薪”。


七、Excel工作表数据库函数:Dmin。

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

语法结构:=Dmin(数据库区域,返回值所在的相对列数(列标题的相对引用、列标题),条件区域)。

注意事项:

1、参数“数据库区域”和“条件区域”必须包含有效的列标题。

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

目的:根据需求查询最低“月薪”。

方法:

在目标单元格中输入公式:=DMIN(D2:G12,"月薪",I2:I3)、=DMIN(F2:G12,2,I4:I7)、=DMIN(C2:G12,G2,I8:I9)、=DMIN(C2:G12,"月薪",I10:I12)。

解读:

公式=DMAX(D2:G12,"月薪",I2:I3)为单字段单条件,目的为根据“性别”计算最低“月薪”;=DMAX(F2:G12,2,I4:I7)为单字段多条件,目的为统计“学历”为“大本”、“大专”、“中专”中的最低“月薪”;=DMAX(C2:G12,G2,I8:J9)为多字段单条件,目的为按照“性别”统计相应“学历”下的最低“月薪”;=DMAX(C2:G12,"月薪",I10:J12)为多字段多条件,目的为统计指定“年龄”范围下相应“学历”的最低“月薪”。