书城计算机办公软件高级应用
13504200000018

第18章 函数与公式(5)

4.5.3日期与时间函数

在Excel2003中,日期与时间函数是在数据表的处理过程中非常重要的处理工具。

利用日期与时间函数,可以很容易地计算当前的时间等。

日期与时间函数可以用来分析或操作公式中与日期和时间有关的值。有关Excel2003函数库中的日期与时间函数的说明。

下面将介绍几个常用的日期与时间函数:

1.DATE 函数

DATE函数是计算某一特定日期的系列编号,其完整的格式为:

DATE(year,month,day)

其中,参数year 表示为指定年份;month 表示每年中月份的数字;day 表示在该月份中第几天的数字。如果所输入的月份month 值大于12,将从指定年份一月份开始往上累加,例如,DATE(2008,14,2)返回2009‐2‐2。如果所输入的天数day 值大于该月份的最大天数时,将从指定月数的第一天开始往上累加,例如,DATE(2008,1,35)返回2008‐2‐4。

另外,由于Excel使用的是从1900‐1‐1开始的日期系统,所以若year 是介于0到1899之间,则Excel会自动将该值加上1900,再计算year,例如,DATE(108,8,8)会返回2008‐8‐8;若year 是介于1900到9999之间,则Excel将使用该数值作为year,例如,DATE(2008,7,2)将返回2008‐7‐2;若year 是小于0或者大于10000,则Excel会返回错误值# NUM !。

2.DAY 函数

DAY 函数是返回指定日期所对应的当月中的第几天的数值,介于1到31之间,其完整的格式为:

DAY(serial_number)

其中,参数serial_number 表示指定的日期或数值。关于DAY 函数的使用有两种方法:

一种是参数serial_number 使用的是日期输入,例如,在相应的单元格中输入“=DAY("2008‐1‐1")”,则返回值为1;另一种参数serial_number 使用的是数值的输入,例如,在相应的单元格中输入“=DAY(39448)”,则返回值为1。在Excel中,系统将1900年1月1日对应于序列号1,后面的日期都是相对于这个时间对序列号进行累加,例如2008年1月1日所对应的序列号为39448。

在使用DAY 函数的时候,用户可以发现在DAY 函数参数设定窗口内,在键入日期值的同时,参数输入栏的右边会同时换算出相应的序列号。

3.TODAY 函数

TODAY 函数是返回当前系统的日期,其完整的格式为:

TODAY()

其语法形式中无参数,若要显示当前系统的日期,可以在当前单元格中直接输入公式TODAY()。的进货清单表中若要显示统计当天的日期,即可在相应单元格中输入“=TODAY()”。然后再按键后显示当前系统的日期。

4.TIME 函数

TIME 函数是返回某一特定时间的小数值,它返回的小数值为0~0.99999999,代表0:00:00(12:00:00A.M)~23:59:59(11:59:59P.M)的时间,其完整的格式为:

TIME(hour,minute,second)

其中,参数hour 表示的是0~23的数,代表小时;参数minute 表示的是0~59的数,代表分;参数second 表示的是0~59的数,代表秒。根据指定的数据转换成标准的时间格式,可以使用TIME时间函数来实现,例如在相应单元格中输入“=TIME(6,35,55)”,按键后显示标准时间格式“6:35:55AM”,又如输入“=TIME(22,25,30)”,按键后显示标准时间格式“10:25:30PM”;或者通过使用函数参数设定窗口进行参数的设定,完成之后,单击“确定”按钮即可。

4.5.4查找与引用函数

在一个工作表中,可以利用查找与引用函数功能按指定的条件对数据进行快速查询、选择和引用。查找与引用函数用于查找(查看)列表或表格中的值。查找和引用函数的说明。

下面介绍几个常用的查找与引用函数:

1.LOOKUP 函数

VLOOKUP 函数与HLOOKUP 函数只可以从最左列或最上行来查询其他数据,如果要更有灵活性的函数,则可以使用LOOKUP 函数。LOOKUP 函数有两种语法形式:

向量和数组,其中以向量形式比较常用。

向量形式的LOOKUP 函数完整的格式为:

LOOKUP(lookup_value,lookup_vector,result_vector)其中,参数lookup_value是要查找的数据,参数lookup_vector是一个单行或单列的范围,其内容可以是文字、数字或逻辑值,但要以递增方式排列,否则不会返回正确的值。参数result_vector是个单行或单列的范围,其大小应与lookup_vector相同。在查询时,如果LOOKUP函数无法找到完全符合的lookup_value,则会采用在lookup_value 中仅次于lookup_value 的值。

LOOKUP 函数的另一种语法形式为数组形式。这种形式的LOOKUP 函数会在数组的第一行(或第一列)搜索指定的值,然后返回最后一行(或列)的同一位置上单元格的内容。由于只能返回最后一列或最后一行的值,限制太多,所以一般都以HLOOKUP 或VLOOKUP函数来代替数组形式的LOOKUP函数。

2.VLOOKUP函数

VLOOKUP 函数可以从一个数组或表格的最左列中查找含有特定值的字段,再返回同一行中某一指定列中的值。其完整的格式为:

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)其中,参数look_value 是要在数组中搜索的数据,它可以是数值、引用地址或文字字符串。

参数table_array是要搜索的数据表格、数组或数据库。参数col_index_num则是一个数字,代表要返回的值位于table_array中的第几列。参数rang_lookup是个逻辑值,如果其值为“TRUE”或被省略,则返回部分符合的数值;也就是说,会返回等于或仅次于lookup_value的值;如果该值为“FALSE”时,VLOOKUP 函数只会查找完全符合的数值,如果找不到,则返回错误值“# N/A”。另外,如果range_lookup为“TRUE”,则table_array第一列的值必须以递增次序排列,这样才能找到正确的值。如果rang_lookup是“FALSE”,则table_array不需要先排序。

3.HLOOKUP 函数

HLOOKUP 函数可以用来查询表格的第一行的数据,其完整的格式为:

HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)其中,参数lookup_value是要在表格第一行中搜索的值,参数table_array 与参数rang_lookup的定义与VLOOKUP 函数类似,参数row_index_num代表所要返回的值位于table_array列中第几行。

4.5.5数据库函数

数据库函数是用于对存储在数据清单或数据库中的数据进行分析,判断其是否符合特定的条件。在Excel2003函数库中共有12个数据库函数。如果能够灵活运用这类函数,就可以方便地分析数据库中的数据信息。在所有的数据库函数中,根据各自函数所具有的功能不同,可分为两大类:①数据库信息函数:这类函数的主要功能是直接获取数据库中的信息。②数据库分析函数:这类函数的主要功能是分析数据库的数据信息。

1.数据库函数的参数含义

典型的数据库函数表达的完整格式为:

函数名称(database,field,criteria)

其中,参数database 为构成数据清单或数据库的单元格区域。数据库是包含一组相关数据的数据清单,其中包含相关信息的行为记录,而包含数据的列为字段。数据清单的第一行包含着每一列的标志项。

参数field 为指定函数所使用的数据列。数据清单中的数据列必须在第一行具有标志项。field 可以是文本,即两端带引号的标志项,也可以是代表数据清单中数据列位置的数字:1表示第一列,2表示第二列,以此类推。

参数criteria 为一组包含给定条件的单元格区域。任意区域都可以指定给参数criteria,但是该区域中至少包含一个列标志和列标志下方用于设定条件的单元格。

这类函数具有一些共同特点:

(1)每个函数均有三个参数:database、field和criteria。这些参数指向函数所使用的工作表区域。

(2)除了GETPIVOTDATA函数之外,其余12个函数都以字母D 开头。

(3)如果将字母D去掉,可以发现其实大多数数据库函数已经在Excel的其他类型函数中出现过了。比如,DAVERAGE将D去掉的话,就是求平均值的函数AVERAGE。

2.数据库信息函数数据库信息函数的主要功能是获取数据库的数值信息和单元格统计信息。通过这些函数,可以返回数据库的有效信息。

(1)DCOUNT函数。

DCOUNT 函数的功能是返回列表或数据库中满足指定条件的记录字段(列)中包含数值的单元格的个数,其函数的完整格式为:

DCOUNT(database,field,criteria)

下面以计算实例表中“信管”专业性别为“男”且“分数”大于70分的人数为例,介绍DCOUNT函数的应用,其具体操作步骤如下。

步骤1:在实例表中选择任何空白区域输入条件区域数据。

步骤2:选中输出结果单元格(该处选中“E9”单元格)。

步骤3:在选中的单元格中输入公式“=DCOUNT(A1:F6,6,A9:C10)”,按键,可得到目标分数(信管专业、男性,且分数在70分以上)的人数。

(2)DGET函数。

DGET 函数是用于从列表或数据库的列中提取符合指定条件的单个值,其函数的完整格式为:

DGET(database,field,criteria)

下面以提取“分数”大于72且为“女”的学生姓名为例,介绍DGET 函数的应用。其具体操作步骤如下。

步骤1:在实例表中选择任何空白区域输入条件区域数据。

步骤2:选中输出结果单元格(该处选中“E9”单元格)。

步骤3:在选中的单元格中输入公式“=DGET(A1:F6,2,B9:C10)”,按键,可以得到“分数”大于72且性别为“女”的学生姓名。

值得注意的是:对于DGET函数,如果没有满足条件的记录,则返回错误值“#VALUE!”。如果有多个记录满足条件,将返回错误值“#NUM!”。

(3)DCOUNTA函数。

DCOUNTA 函数返回列表或数据库中满足指定条件的记录字段(列)中非空单元格的个数,其函数的完整格式为:

DCOUNTA(database,field,criteria)

下面以统计实例中高度大于10小于16的苹果树的记录数为例,介绍DCOUNTA 函数的应用,其具体操作步骤如下:

步骤1:在实例表中选择任何空白区域输入条件区域数据。