2.1 函数
在使用Excel处理财务管理事务时,函数得到了广泛的运用。在Excel中,函数的概念和数学中函数的概念类似,它是一些预定义的公式,这些公式使用一些称为参数的特定数值按特定的顺序或结构进行计算。在定义函数时,需要指定函数名,并且指定一些参数名(或变量)和参数之间的运算规则。给这些参数赋一定的值并且按照确定的规则进行计算就可以得到一个值,这个值即是函数的当前值。参数变化,函数的当前值也会随之变化。
事实上,Excel已经提供了大量已经定义好的基本运算函数、统计函数和财务函数,我们可以直接使用。例如,函数SUM()可以对各参数(单元格、单元格区域或常数)的值进行汇总求和,函数AVERAGE()可以对各参数(单元格、单元格区域或常数)的值求平均值,函数FV()可以基于固定利率及等额分期付款方式求某项投资的未来值。
Excel提供的函数能够满足大部分财务管理的需求。在一些有特殊需求的情况下,我们还可以针对具体的业务自定义一些函数。
2.1.1 函数的基本结构
Excel函数一般由函数名称、参数和括号组成。
函数的基本结构:函数名称(参数1,参数2,…,参数n)
其中,函数名称指出函数的含义,用一个字符串来表示,每个函数都有一个唯一的函数名称;函数名称后面是把参数括起来的圆括号,在有多个参数的情况下,参数之间需要用半角的逗号分隔开;参数是一些可以变化的量,参数的多少由函数的定义来确定。图2-1所示的是求和函数SUM()。在单元格中输入函数时,需要在函数名前输入等号“=”。
图2-1 函数的构成
【例2-1】求一列数B2到B10之间所有数据的总和,可以使用如下函数:
=SUM(B2:B10)
【例2-2】求一行数B2和G2之间所有有数据的单元格数据的平均值,可以使用如下函数:
=AVERAGE(B2:G2)
【例2-3】求一个单元格区域B2和G10之间,以及B12和G12之间所有有数据的单元格数据的平均值,可以使用如下函数:
=AVERAGE(B2:G10,B12:G12)
2.1.2 参数和函数值的类型
Excel函数中的参数可以是数字、文本、逻辑值、单元格引用、名称、错误值、数组,也可以是公式或其他函数。给定的参数必须能产生有效的值。函数是参数按照计算规则计算所得的结果,也有一定的数值类型。
1.数字
数字可以是正数或负数、整数或小数。数字可以进行算术运算,也可以进行比较。
【例2-4】计算数据20、20.8、40、50这几个数的平均值,可以使用如下函数:
=AVERAGE(20,20.8,40,50)
此例中的参数和函数值均是数字。
【例2-5】计算单元格区域B2:G10中有数字的单元格的个数,可以使用如下函数:
=COUNT(B2:G10)
该函数的返回值是整数。在使用函数COUNT()时,只有数字类型的数据才被计数,即只把数字、逻辑值、日期或以文字代表的数计算进去,但是错误值或其他无法转化成数字的文字则被忽略。
2.文本
文本是一个字符串,需要用引号“”括起来。
【例2-6】清除语句“Sales volume is”中单词之间的多余的空格,可以使用如下函数:
=TRIM("Sales volume is")
该函数的参数和函数值都是文本类型的数据,其返回结果是:Sales volume is。它去掉了单词之间多余的空格。
3.逻辑值
逻辑值只有2个值,即TRUE和FALSE,分别代表真和假。
逻辑值可以由逻辑运算或逻辑函数获得,如函数TRUE()返回逻辑值“真”,函数FALSE()返回逻辑值“假”。
使用函数IF()可以确定条件为真还是假,并由此返回不同的数值。
4.单元格引用
单元格引用是将单元格或单元格区域作为函数的参数,在前面的例子中已有描述。
5.名称
名称是为了方便使用或引用而创建的代表单元格、单元格区域、公式或常量的字符串。名称只有被定义后才能被使用。
【例2-7】在工作表“第一季度”中,区域D4:D8为三月份恒昌公司5种商品的销售额,需要将此区域定义为名称:三月份的销售额。具体操作如下。
打开工作表“第一季度”,用鼠标选取区域D4:D8,单击“公式”选项卡,再单击“定义名称”功能组中“定义名称”按钮,出现“新建名称”对话框,在“名称”编辑框中输入“三月份的销售额”,然后单击“确定”按钮即可,如图2-2所示。
图2-2 定义名称
另一种定义名称的方法是:选定单元格或单元格区域后,直接在名称框(在第1章的图1-2中指示了工作簿窗口中名称框的位置)中输入需要定义的名称即可。
在以后需要引用区域D4:D8时,可以直接用名称(“三月份的销售额”)代替。例如,要计算三月份这5种商品的总销售额,可以在单元格中输入:=SUM(三月份的销售额),即可得计算结果。
6.错误值
错误值是由公式不能正确计算出结果或公式引用的单元格含有错误导致的,这时在工作表单元格中将显示错误值。例如,在需要数字的公式中使用了文本、删除了被公式引用的单元格,或者使用了其宽度不足以显示结果的单元格时,将产生错误值。
可能的错误值有:#####错误、#VALUE!错误、#DIV/0!错误、#NAME?错误、#N/A错误、#REF!错误、#NUM!错误、#NULL!错误。
● 如果单元格的数字比单元格宽或者将一个负数变成日期格式显示时,会产生#####错误并显示在单元格中。
● 当使用错误的参数或运算对象类型时,就会产生#VALUE!错误。例如,输入公式=5+"abc",就会出现#VALUE!错误。
● 如果一个数值被0除,则会产生#DIV/0!错误。
● 如果在公式中使用了不存在的名称,将产生#NAME?错误。
● 当函数或公式中没有可用数值时,将产生#N/A错误。
● 当单元格引用无效(如单元格被删除)时,将产生#REF!错误。
● 当公式或函数中某个数字有问题时,将产生#NUM!错误。例如,函数DATE(year, month,day)中year为负数时,就会在单元格中显示#NUM!错误。
● 当为两个不相交的区域指定交集时,将产生#NULL!错误。例如,函数SUM(A1:A5, C1:C5)的功能是对2个区域求和,而函数SUM(A1:A5 C1:C5)的功能是对2个区域交集中的单元格求和,但这2个区域没有交集,因此会产生#NULL!错误。
7.数组
数组是一列或若干列数,在工作表中数组就是一个矩形区域。数组也可以是用“{}”括起来的常量。数组参数用在数组公式中。例如,利用函数TREND()对企业销售量进行直线拟合时就会用到数组参数。
2.1.3 函数的嵌套
函数的嵌套是指在一个函数中用另一函数的值作为参数。
【例2-8】一个集团公司的3个子公司一季度的销售额数据保存在区域A1:C3中,一行代表一个月的数据,要计算集团公司一季度每月的平均销售额,可以使用如下函数:
=AVERAGE(SUM(A1:C1),SUM(A2:C2),SUM(A3:C3))
公式中最多可以包含64级嵌套函数。当函数B作为函数A的参数时,函数B称为第二级函数。如果函数C又是函数B的参数,则函数C称为第三级函数,依次类推。在本例中,SUM函数就是第二级函数。
2.1.4 函数的类型
为了方便用户使用,Excel提供了大量函数。根据函数的功能,可以将函数分为以下几类:日期与时间函数、文本函数、逻辑函数、财务函数、查询和引用函数、统计函数:信息函数、数据库函数、工程函数、数学和三角函数、多维数据集函数等。如果系统提供的函数还不能满足用户特殊的需要,用户还可以自定义函数。
1.日期与时间函数
通过日期与时间函数,可以在公式中分析和处理日期值和时间值。例如,如果公式中需要使用当前的日期,则可以使用工作表函数TODAY()返回基于计算机系统时钟的当前日期;如果公式中需要使用当前的日期和当前的时间,则可以使用工作表函数NOW()返回当前的计算机系统时钟。
【例2-9】在单元格中输入一个时间函数TODAY(),则当前的日期会显示在单元格中。
=TODAY()
Excel有两种日期系统:1900日期系统和1904日期系统。在使用1900日期系统的工作簿中,1900年1月1日的系列数是1,2014年7月20日的系列数是41840。而在使用1904日期系统的工作簿中,1904年1月1日的系列数是0,2014年7月20日的系列数是40347。在日期函数中对年份的处理随计算机系统所采用的日期系统的不同而有所差异。在默认情况下,Microsoft Excel for Windows使用1900日期系统。
在计算机采用1900日期系统时,应输入当前年份的四位数字,如2014。如果仅输入两位数字,如14,则系统认为的年份是1914(1900+14)。本书采用1900日期系统。
日期和时间其实是数字类型的数据。可以将一个日期或时间显示为数字,也可以将一个数字显示为日期或时间。
【例2-10】在单元格中输入数字41832,用鼠标选中单元格,单击“开始”选项卡中“数字”功能组右下角的小箭头,显示如图2-3所示的“设置单元格格式”对话框,单击“数字”选项卡,从“分类”列表框中选择“日期”,在“类型”列表框中选择“*2012/3/14”,在“区域设置”中选择“中文(中国)”,再单击“确定”按钮,则单元格的数据变成2014/7/12。
图2-3 “设置单元格格式”对话框
注意,在选择日期格式时,以星号“*”开头的日期格式响应操作系统特定的区域日期和时间设置的更改。不带星号的格式不受操作系统区域日期和时间设置的影响。
Excel按顺序的系列数保存日期,尽管在显示的格式上我们看到的是一个日期,但在系统内部,系统的日期是以一个个系列数来保存的。
将日期保存为系列数可以对其进行计算,如计算2个日期之间所差的天数。在财务数据的处理中经常会用到日期函数。
【例2-11】一笔存款从2014年1月1日起存,计算到今天为止所存的天数。可以在单元格中输入如下公式:
=TODAY()-DATE(2014,1,1)
2.文本函数
通过文本函数,可以在公式中处理文字串。例如,可以改变大小写或确定文字串的长度,可以将日期插入文字串或连接在文字串上。
【例2-12】要在工作表的一个单元格中显示“截至今日:????年??月??日的销售数据”,可以用函数TEXT()将日期值转换成文本,并与其他的字符串拼接起来。
="截至今日:"&TEXT(TODAY(),"yyyy年mm月dd日")&"的销售数据"
3.逻辑函数
使用逻辑函数可以根据一定的条件对事件的状态进行判断,从而确定事实的真和假,并据此返回一定的值。逻辑函数也能进行逻辑运算。
● 函数TRUE()返回逻辑值“真”,函数FALSE()返回逻辑值“假”。
● 函数AND()对逻辑参数进行逻辑“与”操作,函数OR()对逻辑参数进行逻辑“或”操作,函数NOT()对逻辑参数进行逻辑“反”操作,这3个函数均返回逻辑值。
有的逻辑函数不一定返回逻辑值。
【例2-13】根据企业的经营业绩判断企业是盈利还是非盈利,可以使用如下函数:
=IF(B2>0,"盈利","非盈利")
其中B2单元格保存的数据是企业的经营业绩,B2>0的结果是一个逻辑值,即TRUE或FALSE。如果B2大于0(B2>0的值为TRUE)则函数返回“盈利”;如果B2等于0或小于0则(B2>0的值为FALSE)则返回“非盈利”。
4.财务函数
使用财务函数可以进行一般的财务计算,如确定贷款的支付额、投资的未来值或净现值,以及债券或息票的价值。
财务函数中常见的参数如下。
● 未来值(fv):所有付款发生后的投资或贷款的价值。
● 期间数(nper):投资的总支付期间数。
● 付款(pmt):对于一项投资或贷款的定期支付数额。
● 现值(pv):在投资期初的投资或贷款的价值,如贷款的现值为所借入的本金数额。
● 利率(rate):投资或贷款的利率或贴现率。
● 类型(type):付款期间进行支付的间隔,如月初或月末。
5.查询和引用函数
当需要在数据清单或表格中查找特定数值,或者需要查找某一单元格的引用时,可以使用查询和引用函数。
例如,如果需要在表格中查找与第一列中的值相匹配的数值,可以使用函数VLOOKUP()。如果需要确定数据清单中数值的位置,可以使用函数MATCH()。
6.统计函数
统计函数用于对数据区域进行统计分析。例如,计算工作表中一组数据的总和可使用函数SUM(),求一组数据的平均值可以使用函数AVERAGE(),计算两组数据的相关系数可以使用函数CORREL(),求一组数据的最大值可以使用函数MAX(),求一组数据的最小值可以使用函数MIN()。
7.信息函数
信息函数用于确定存储在单元格中的数据的类型、单元格中数据的属性或操作环境信息。信息函数包含函数CELL()、函数INFO()、函数TYPE()、一组IS函数及其他的一些函数。
例如,如果单元格包含一个偶数值,则函数ISEVEN()返回TRUE。可以使用函数ISBLANK()确定区域中的某个单元格是否为空。如果需要确定某个单元格区域中是否存在空白单元格,可以使用函数COUNTBLANK()对单元格区域中的空白单元格进行计数。
【例2-14】计算单元格E2所在的列宽占用的字符数,可以使用如下函数:
=CELL("width",E2)
8.数据库函数
在对数据清单中的数值进行分析时,可以使用数据库函数。数据库函数的名称以字母D开头。这些函数均有3个相同的参数:database、field和criteria。
● database:工作表上包含数据清单的区域。在给定该参数时必须包含区域中作为列标志的行。
● field:需要汇总的列的标志。
● criteria:工作表上包含指定条件的区域。
【例2-15】有一个数据清单如图2-4所示,它记录了公司一季度各商品的销售额。现在要计算一月份销售收入超过40 000元的商品的种类,可以在B14单元格中输入如下函数:
=DCOUNT(A3:D8,"一月份",A11:B12)
图2-4 使用数据库工作表函数
参数A3:D8是数据清单的区域,"一月份"表示使用的数据列,A11:B12是条件区域,设置销售额超过40 000元的条件。
9.工程函数
工程函数用于工程分析。这类函数可分为3种类型:对复数进行处理的函数、在不同的数字系统之间进行数值转换的函数和在不同的度量系统之间进行数值转换的函数。工程函数在财务管理中较少使用。
10.数学和三角函数
利用数学和三角函数可以处理简单的计算,如对数字取整、计算单元格区域中的数值总和,也可以处理一些较复杂的计算,如求满足另一个单元格区域中给定条件的单元格区域中的数值总和。
11.多维数据集函数
多维数据集函数是一组对多维数据集进行操作的函数,如统计数据集合中项目数、返回成员的属性、汇总值、重要KPI属性等。
2.1.5 如何使用函数
如果对要使用的函数非常熟悉,我们可以在单元格中直接输入函数公式,然后单击编辑栏中“=”按钮,系统将根据你输入的函数公式自动进行计算,并把计算结果显示在该单元格中。除了直接输入函数公式,还可以使用Excel提供的“插入函数”的工具完成函数的输入和使用。下面我们以函数COUNTIF()为例说明利用“插入函数”工具使用函数的方法,具体操作步骤如下。
(1)单击需要输入函数的单元格,如单元格B11。
(2)单击单元格编辑栏左侧的“插入函数”按钮,显示如图2-5所示的“插入函数”对话框。根据要求选择函数类别为“统计”,选择要使用的函数COUNTIF。如果事先不知道应该使用什么函数,可以按照我们要完成的业务和“插入函数”对话框下方给出的每一函数的简单说明进行选择。
(3)单击“确定”按钮,显示如图2-6所示的“函数参数”对话框,此时可以编辑函数的各参数。
(4)在各参数编辑框中直接输入参数值,或者单击参数编辑框右端的按钮,选择输入参数值。在此例中,要统计第一季度各月份销售额超过50 000元的次数。单击参数Range编辑框右侧的按钮后,显示如图2-7所示的工作表,重新选择单元格区域B4:D8,然后单击编辑框右侧的按钮返回“函数参考”对话框。在另一参数Criteria编辑框处直接输入参数“">50000"”后,单击“确定”按钮即可完成函数的输入。
(5)系统计算后把计算结果显示在单元格B11中,如图2-8所示。从结果可以看到,一季度的每个月商品销售额超过50 000元的次数有10次。
图2-5 “插入函数”对话框
图2-6 “函数参数”对话框
图2-7 选取单元格区域作为参数
图2-8 完成函数的输入后显示的结果