数据库函数
CHAPTER10
219
第十章
数据库函数
10.1数据库函数基础
10.2数据库函数实例速查
220
CHAPTER10
数据库函数
Excel函数应用之数据库函数在Excel中包含了一些工作表函数,它们
用于对存储在数据清单或数据库中的数据进行分析,这些函数统称为数据
库函数Dfunctions。
10.1
数据库函数基础
10.1.1
函数的共同特点
这一类函数具有一些共同特点:
(1)每个函数均有三个参数:database、field和criteria。这些参数
指向函数所使用的工作表区域。
(2)除了GETPIVOTDATA函数之外,其余十二个函数都以字母
D开头。
(3)如果将字母D去掉,可以发现其实大多数数据库函数已经在
Excel的其他类型函数中出现过了。比如,DAVERAGE将D去掉的话,就
是求平均值的函数AVERAGE。
10.1.2
数据库函数列表
在Excel包含的数据库函数及其应用为:
10.1.3
数据库函数的参数含义
由于数据库函数具有相同的三个参数,因此我们将首先介绍一下该类
数据库函数
CHAPTER10
221
函数的几个参数。然后再以具体示例来说明数据库函数的应用方法。
该类函数的语法形式为函数名称(database,field,criteria)。
Database为构成数据清单或数据库的单元格区域。数据库是包含一组
相关数据的数据清单,其中包含相关信息的行为记录,而包含数据的列为
字段。数据清单的第一行包含着每一列的标志项。
Field为指定函数所使用的数据列。数据清单中的数据列必须在第一行
具有标志项。Field可以是文本,即两端带引号的标志项,如“使用年数”
或“产量”;此外,Field也可以是代表数据清单中数据列位置的数字:1表
示第一列,2表示第二列,等等。
Criteria为一组包含给定条件的单元格区域。可以为参数criteria指定任
意区域,只要它至少包含一个列标志和列标志下方用于设定条件的单元格。
10.1.4
实例说明
例:某果园的果树的高度、使用年数、产量与利润的统计数据表如图
所示,
希望求出
(1)有多少种苹果树的树高在10~16英尺之间
(2)苹果树与梨树的最大利润值是多少
(3)高度大于10英尺的苹果树的最小利润是多少
(4)苹果树的总利润
(5)高度大于10英尺的苹果树的平均产量
(6)果园中所有树种的平均使用年数
(7)求苹果树和梨树产量的估算标准偏差、真实标准偏差、估算方
差、真实方差。
求解步骤:
1.输入数据
创建空白工作簿或工作表,将数据录入Excel中。
222
CHAPTER10
数据库函数
输入数据
2.建立查询条件
由于第一问需要求解有多少种苹果树的树高在10~16英尺之间,因此建
立查询条件高度在10与16之间。
建立查询条件
3.利用DCOUNT函数
利用函数DCOUNT求解满足条件的单元格数来计算高度在10~16英尺
的苹果树的种类。公式为:DCOUNT(A4:E10,"使用年数",B1:G2),求出
有一种苹果树满足条件。
由于第二问为求苹果树与梨树的最大利润值,因此再建立一个查询条
件——梨树,如图所示。
利用DCOUNT
函数
数据库函数
CHAPTER10
223
4.最大利润与最小利润公式
利用函数DMAX求出苹果树与梨树的最大利润,同理可以利用函数
DMIN求出高度大于10英尺苹果树的最小利润。具体公式为:
=DMAX(A4:E10,“利润”,A1:A3)求出苹果树与梨树的最大利润为
105
=DMIN(A4:E10,“利润”,A1:B2)求出高度大于10英尺苹果树的最小
利润为75
5.总利润公式
利用函数DSUM可以求出所有苹果树的总利润。
公式为:=DSUM(A4:E10,“利润”,A1:A2)总利润为225
6.其他各问公式
其他各问均可采用类似的函数求解,详细的公式如图所示。
224
CHAPTER10
数据库函数
注意
(1)可以为参数criteria指定任意区域,只要它至少包含一
个列标志和列标志下方用于设定条件的单元格。
例如,如果区域A1:A2在A1中包含列标志“树种”,在A2
中包含名称苹果树,可将此区域命名为苹果树树种,那么在数据
库函数中就可使用该名称作为参数criteria。
(2)虽然条件区域可以在工作表的任意位置,但不要将条
件区域置于数据清单的下方。因为如果使用“数据”菜单中的
“记录单”命令在数据清单中添加信息,新的信息将被添加在数
据清单下方的第一行上。如果数据清单下方的行非空,Excel将
无法添加新的信息。
(3)确定条件区域没有与数据清单相重叠。
(4)若要对数据库的整个列进行操作,需要在条件区域中
的列标志下方输入一个空白行。
10.1.5
关于条件的建立
在上面的示例中,我们简单介绍了条件区域的建立,在这里详细介绍
有关在Excel中利用高级条件进行数据筛选的方法。
1.有关概念
条件是指所指定的限制查询或筛选的结果集中包含哪些记录的条件。
例如,上面示例中条件选择“高度”字段的值大于10的记录:高度>10。
清单是指包含相关数据的一系列工作表行,例如,发票数据库或一组
客户名称和电话号码。清单的第一行具有列标志。
2.建立条件区域的基本要求
(1)在可用作条件区域的数据清单上插入至少三个空白行。
(2)条件区域必须具有列标志。
(3)请确保在条件值与数据清单之间至少留了一个空白行。
如在上面的示例中A1:F3就是一个条件区域,其中第一行为列标志,
如树种、高度。
数据库函数
CHAPTER10
225
3.筛选条件的建立
在列标志下面的一行中,键入所要匹配的条件。所有以该文本
开始的项都将被筛选。例如,如果您键入文本“Dav”作为条件,
MicrosoftExcel将查找“Davolio”、“David”和“Davis”。如果只匹
配指定的文本,可键入公式=''''=text'''',其中“text”是需要查找的文
本。如果要查找某些字符相同但其他字符不一定相同的文本值,则可使用
通配符。Excel中支持的通配符为:
4.几种不同条件的建立
(1)单列上具有多个条件
如果对于某一列具有两个或多个筛选条件,那么可直接在各行中从上
到下依次键入各个条件。例如,上面示例的条件区域显示“树种”列中包
含“苹果树”或“梨树”的行。
多列上具有单个条件:若要在两列或多列中查找满足单个条件的数
据,请在条件区域的同一行中输入所有条件。例如,下面示例的条件区域
显示所有在“高度”列中大于10且“产量”大于10的数据行。
(2)某一列或另一列上具有单个条件
若要找到满足一列条件或另一列条件的数据,请在条件区域的不同行
226
CHAPTER10
数据库函数
中输入条件。例如,上面示例的条件区域显示所有在“高度”列中大于10
的数据行。
(3)两列上具有两组条件之一
若要找到满足两组条件(每一组条件都包含针对多列的条件)之一的
数据行,请在各行中键入条件。例如,下面的条件区域将显示所有在“树
种”列中包含“苹果树”且“高度”大于10的数据行,同时也显示“樱桃
树”的“使用年数”大于10年的行。
两列上具有两
组条件之一
(4)一列有两组以上条件
若要找到满足两组以上条件的行,请用相同的列标包括多列。例如,
上面示例的条件区域显示介于10和16之间的高度。
(5)将公式结果用作条件
Excel中可以将公式(公式:单元格中的一系列值、单元格引用、名
称或运算符的组合,可生成新的值。公式总是以等号(=)开始。)的计算
结果作为条件使用。用公式创建条件时,不要将列标志作为条件标记使
用,应该将条件标记置空,或者使用清单中非列标志的标记。例如,下
面的条件区域显示在列C中,其值大于单元格区域C7:C10平均值的行。
=C7>AVERAGE($C$7:$C$10)
需要注意的是用作条件的公式必须使用相对引用来引用列标志(例
如,“高度”),或者引用第一个记录的对应字段。公式中的所有其他引
用都必须是绝对引用并且公式必须计算出结果TRUE或FALSE。在本公式
示例中,C7引用了数据清单中第一个记录(行7)的字段(列C)。
当然也可以在公式中使用列标志来代替相对的单元格引用或区域名
称。当MicrosoftExcel在包含条件的单元格中显示错误值#NAME?或
#VALUE!时,您可以忽略这些错误,因为它们不影响列表的筛选。
此外Excel在计算数据时不区分大小写。
数据库函数
CHAPTER10
227
10.2
数据库函数实例速查
例
1DAVERAGE(
返回满足指定条件的列中数值的平均值
)
用途:返回数据库或数据清单中满足指定条件的列中数值的平均值。
语法:DAVERAGE(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所
使用的数据列。Criteria为一组包含给定条件的单元格区域。
例
2DCOUNT(
返回满足给定条件并且包含数字的单元格数目
)
用途:返回数据库或数据清单的指定字段中,满足给定条件并且包含
数字的单元格数目。
语法:DCOUNT(database,field,criteria)参数:Database构成
列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为
一组包含给定条件的单元格区域。
例
3DCOUNTA(
返回满足给定条件的非空单元格数目
)
用途:返回数据库或数据清单指定字段中满足给定条件的非空单元格
数目。
语法:DCOUNTA(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所
使用的数据列。Criteria为一组包含给定条件的单元格区域。
例
4DGET(
提取符合指定条件的单个值
)
用途:从数据清单或数据库中提取符合指定条件的单个值。
语法:DGET(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所
使用的数据列。Criteria为一组包含给定条件的单元格区域。
例
5DMAX(
返回满足给定条件单元格中的最大数值
)
用途:返回数据清单或数据库的指定列中,满足给定条件单元格中的
228
CHAPTER10
数据库函数
最大数值。
语法:DMAX(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所
使用的数据列。Criteria为一组包含给定条件的单元格区域。
例
6DMIN(
返回满足给定条件的单元格中的最小数字
)
用途:返回数据清单或数据库的指定列中满足给定条件的单元格中的
最小数字。
语法:DMIN(database,field,criteria)
参数:Database构成列表或数据库的单元格区域。Field指定函数所
使用的数据列。Criteria为一组包含给定条件的单元格区域。
例
7DPRODUCT(
返回满足给定条件单元格中数值乘积
)
用途:返回数据清单或数据库的指定列中,满足给定条件单元格中数
值乘积。
语法:DPRODUCT(database,field,criteria)
参数:同上
例
8DSTDEV(
估算样本总体的标准偏差
)
用途:将列表或数据库的列中满足指定条件的数字作为一个样本,估
算样本总体的标准偏差。
语法:DSTDEV(database,field,criteria)
参数:同上
例
9DSTDEVP(
计算总体的标准偏差
)
参数:将数据清单或数据库的指定列中,满足给定条件单元格中的数
字作为样本总体,计算总体的标准偏差。
语法:DSTDEVP(database,field,criteria)
参数:同上
|
|