1.4 函数基础

本节介绍一些函数的基础知识,比如函数的输入方法、函数的错误检查等,在学习完本节后,读者会在后面函数的使用中得心应手。

什么是函数

Excel函数就是预先定义好的特殊公式,通过使用一些称之为参数的特定数值来完成特定的计算、分析等处理数据任务,我们先看一下表1-9,感受一下什么是函数。

表1-9函数举例

函数的典型结构为:函数名(参数1,参数2,……),比如,IF(logical_test, value_if_true, value_if_false)就是一个IF函数。其中“IF”是函数名称,一个函数只有唯一的一个名称,它决定了函数的功能和用途。函数名称后是左括号,括号右边的内容是用逗号分隔的称为参数的内容,最后用一个右括号表示函数结束。参数是函数中最复杂的组成部分,既可以是常量,也可以是变量,甚至是其他函数的组合。它规定了函数的运算对象、顺序或结构等。即使是同一个函数,它将随着参数的变化来完成一种或几种类似的功能。

函数强化了公式的功能,使得公式的使用更加简化。函数一般会有一个或者多个参数,并有返回值。

Excel函数类型

Excel函数有12类,如表1-10所示。

表1-10 Excel函数

续表

函数的参数

函数参数就是我们写函数名称后圆括号内的常量值、变量、表达式或函数。它可以是数字、文本、逻辑值(如TRUE或FALSE)、数组、错误值(如#REF!)或单元格引用(如A1:B1)。指定的参数都必须为有效参数值。一个函数可以使用一个或多个参数,参数与参数之间使用半角逗号进行分隔。参数的类型及其所在的位置必须满足相关函数语法的要求,否则将返回错误信息。参数用于传递各种值,供函数处理、分析,并产生用户所期望的结果。函数的参数有如下几种。

1.常量

常量,即不进行计算的值,常量不会发生变化。例如,数字 210,以及文本“每季度收入”都是常量。表达式及表达式产生的值都不是常量。如果公式引用的是相同工作表中的数据,那么就可以使用标志;如果想表示另一张工作表上的区域,那么则使用名称。

常量是不随时间变化的变量和信息,也可以是表示某一数值的字符或字符串,常被用来标示、测量和比较。在Excel中,常量可直接输入到单元格或公式中的数字或文本,或由Excel定义的名称所代表的数字或文本值,例如,数字“3.14”、文本“利率”、日期“2007-8-8”都是常量。

在Excel单元格中,如果看到有数值或文本是由公式计算得出的结果,则不是常量。因为公式的参数是可变化的,所以这种看似“常量”的结果也会随参数的变化而变化。如图1-18所示,“1968-8-18”,“2007-3-21”是日期型常量,作为函数DATEDIF()的参数。但作为C1单元格的计算结果,“38”就不是常量了,因为用户可以通过改变日期型常量来改变DATEDIF()函数的运算结果。

图1-18 日期常量

2.变量

顾名思义,变量就是会变化的量。Excel函数使用的参数可以是变量,但并不是说它飘忽不定,捉磨不透,而是根据用户的意思确定自己是什么类型的值,对整个函数的运算起到什么作用。说明白一点,它就像人的口袋一样,当用户需要的时候用于“装载”东西,在Excel中它是“装载”一定的数值或字符,向函数传递“值”的信息,至于得到什么结果,那是由函数来决定的。如图1-19所示,TODAY()函数用于返回系统当前日期的序列号,显示的是执行公式时的系统日期时间,它作为DATEDIF()函数的一个变量参数,参与运算,得出C1单元格的值。

图1-19 日期型函数作为变量

3.数组

数组是一组具有相同类型和名称的变量集合,它包含了多个元素的数据结构。

Excel中的数组有常量和区域两种类型的数组。在数组内容各列的数值要用逗号“,”隔开,各行的数值要用分号“;”隔开。如常量数组{1,2;2,3},表示的是一个2行2列的常量数组。如果执行公式“=SUM ({1,2;2,3})”计算,其结果为8。

区域数组是一个矩形的单元格区域,该区域中的单元格公用一个公式。例F5单元格公式“=SUM(1/COUNTIF(B2:G3,B2:G3))”,该公式作为数组公式使用时,它所引用的矩形单元格区域“B2:G3,B2:G3”就是一个区域数组。公式编辑栏中抹黑部分,是在选定函数“COUNTIF (B2:G3,B2:G3)”按下【F9】键运算产生的一个2行6列的数组。按【Esc】键返回公式编辑状态,让光标处在编辑栏中,同时按下【Ctrl+Shift+Enter】组合键,启动数组公式运算,便可利用数组的方式求出单元格区域“B2:G3”不重复的数字个数,如图1-20所示。

图1-20区域数组

4.逻辑值

逻辑值是比较特殊的一类参数,它只有TRUE(真)或FALSE(假)两种类型。如图1-21所示,FALSE(假)作为函数VLOOKUP()的参数出现,其意义是控制该函数以E2单元格的值“MP5”作为样本,以B2:C4单元格区域作为数据源进行精确匹配查找“MP5”的拥有者;如果这个逻辑值为TRUE(真),返回的就是近似匹配查找,其意义是不一样的。

图1-21 FALSE作为参数

另外,逻辑值在公式中还会以表达式的方式出现,如C1单元格的公式是“=IF(A1>85, "优秀","努力啊")”,“A1>85”就是一个可以返回TRUE(真)或 FALSE(假)两种结果的参数。当“A1>85”时,即公式认为是TRUE(真),C1单元格中的值就会显示“优秀”,否则就是FALSE(假)值,C1单元格就会显示“努力啊”。

5.嵌套函数

在某些情况下,你可能需要将某函数作为另一个函数的参数使用。如图1-22所示,公式使用了嵌套的AVERAGE()函数并将结果与值50进行了比较,如果值大于50,就执行求和运算,否则就将值置为0。

图1-22 嵌套函数作为返回值

有效的返回值。当嵌套函数作为参数使用时,它返回的数值类型必须与参数使用的数值类型相同。例如,如果参数返回一个TRUE或FALSE值,那么嵌套函数也必须返回一个TRUE或FALSE值。否则,Excel将显示#VALUE!错误值。

嵌套的级别限制。公式可包含多达七级的嵌套函数。当函数B在函数A中用做参数时,函数B则为第二级函数。如图1-23所示,AVERAGE()函数和SUM()函数都是第二级函数,因为它们都是IF()函数的参数。若AVERAGE()函数中有嵌套的函数则为第三级函数,依此类推。

图1-23 “定义名称”对话框

6.名称和标志

用户可以在工作表中使用列标志和行标志引用这些行和列中的单元格,还可创建描述名称来代表单元格、单元格区域、公式或常量值。如果公式引用的是相同工作表中的数据,那么就可以使用标志;如果想表示另一张工作表上的区域,那么可使用名称。

公式中的定义名称使人们更容易理解公式的含义。例如,公式“=SUM(一季度销售额)”要比公式“=SUM(C20:C30)”更容易理解。

名称的定义方法:单击菜单【插入】→【名称】→【定义】命令,可打开“定义名称”对话框,如图1-23所示,在“在当前工作簿中的名称”下面的文本框中输入名称,如“一季度销售额”,在“引用位置”下面的文本框中输入绝对引用地址,如“=Sheet3!$E$6”,然后单击“添加”按钮即可完成名称的定义。

上面定义的名称是全局名称,全局名称可用于所有的工作表。例如,如果全局名称“银行利率”引用了工作簿中第一个工作表的区域G2:G7,则工作簿中的所有工作表都使用名称“银行利率”来引用第一个工作表中的区域G2:G7。

工作表名称只能用于当前工作表,不为整个工作簿共享,这样可有效地防止不同的工作表有相同的名称冲突。其命名方式如图1-23所示,只是在名称前面加上工作表名称和一个感叹号“!”,如名称为“Sheet2!银行利率”。

名称也可以用来代表不会更改的(常量)公式和数值。例如,可使用名称“所得税 1”代表工资收入大于5000元的税额系数(如20%~37%)。

也可以与另一个工作簿中的定义名称链接,或定义一个引用了其他工作簿中单元格的名称。例如,公式=SUM(Book1.xls!lili)表示“银行利率”工作簿中一个被命名为lili的区域。

在默认状态下,名称使用绝对单元格引用,其命名规则如表1-11所示。

表1-11 名称命名规则

函数输入方法

通常,输入函数有两种方法:一种是直接手工输入,另外一种是使用“插入函数”对话框输入。本书一律使用直接手工输入,这种方法比较简洁。

直接手工输入

此方法比较适用于常见的函数。假如用户对直接输入的函数名称、参数较熟悉,那么就可以在单元格中直接输入。和公式一样,每一个函数的输入都要以“=”开始,然后就是函数名,接着是括号和参数,如图1-24所示就是一个手工输入函数的例子,输入好以后,按【Enter】键就可得出结果。用户在手工输入函数公式时需确定当前输入状态为半角状态,如图1-25所示。

图1-24 输入公式

图1-25 手工输入公式

使用“插入函数”对话框输入

当用户不知道函数格式、参数等具体信息时,可以使用“插入函数”对话框,步骤如下。

1.选中要插入函数的单元格,单击“插入函数”按钮,如图1-26所示。

图1-26单击“插入函数”按钮

2.打开“插入函数”对话框,如图1-27所示。选择合适的函数,然后单击“确定”按钮。

图1-27 “插入函数”对话框

3.接着打开“函数参数”对话框,在其中设置相应的参数即可,如图1-28所示。

图1-28 设置函数参数

函数的嵌套

在某一个函数中使用另一个函数时,称为函数的嵌套。一个函数最多可以嵌套七层,如图1-29所示,就是一个函数嵌套的例子,在IF函数中嵌套了AND函数。

图1-29函数嵌套

下面分析一下这个嵌套: