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