搜索
您的当前位置:首页正文

EXCEL学习教程完全版

来源:欧得旅游网
http://www.cfosky.com C F O 联 盟 小辰工作室整理

Excel函数应用教程

陆元婕

一二三四五六七八九十

Excel函数应用之函数简介

Excel函数应用之数学和三角函数 Excel函数应用之逻辑函数

Excel函数应用之文本/日期/时间函数 Excel函数应用之查询与引用函数 Excel函数应用之统计函数 Excel函数应用之工程函数 Excel函数应用之财务函数 Excel函数应用之信息函数 Excel函数应用之数据库函数

YefangjunDigitally signedby YefangjunDN:

cn=Yefangjun,c=US, o=teng,ou=tengfei,email=52141548@qq.comDate:2011.07.25

15:05:12 +08'00'

Excel函数应用之函数简介

Excel的数据处理功能在现有的文字处理软件中可以说是独占鳌头几乎没有什么软件能够与它匹敌在您学会了Excel的基本操作后是不是觉得自己一直局限在Excel的操作界面中而对于Excel的函数功能却始终停留在求和求平均值等简单的函数应用上呢难道Excel只能做这些简单的工作吗其实不然函数作为Excel处理数据的一个最重要手段功能是十分强大的在生活和工作实践中可以有多种应用您甚至可以用Excel来设计复杂的统计管理表格或者小型的数据库系统

请跟随笔者开始Excel的函数之旅这里笔者先假设您已经对于Excel的基本操作有了一定的认识首先我们先来了解一些与函数有关的知识

一什么是函数

Excel中所提的函数其实是一些预定义的公式它们使用一些称为参数的特定数值按特定的顺序或结构进行计算用户可以直接用它们对某个区域内的数值进行一系列运算如分析和处理日期值和时间值确定贷款的支付额确定单元格中的数据类型计算平均值排序显示和运算文本数据等等例如SUM 函数对单元格或单元格区域进行加法运算

EXCEL函数应用教程

第 1/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

函数是否可以是多重的呢也就是说一个函数是否可以是另一个函数的参数呢当然可以这就是嵌套函数的含义所谓嵌套函数就是指在某些情况下您可能需要将某函数作为另一函数的参数使用例如图1中所示的公式使用了嵌套的 AVERAGE 函数并将结果与 50 相比较这个公式的含义是如果单元格F2到F5的平均值大于50则求F2到F5的和否则显示数值0

术语说明 什么是参数参数可以是数字文本形如 TRUE 或 FALSE 的逻辑值数组形如 #N/A 的错误值或单元格引用给定的参数必须能产生有效的值参数也可以是常量公式或其它函数

参数不仅仅是常量公式或函数还可以是数组单元格引用等

1.数组--用于建立可产生多个结果或可对存放在行和列中的一组参数进行运算的单个公式在

Microsoft Excel有两类数组区域数组和常量数组区域数组是一个矩形的单元格区域该区域中的单元格共用一个公式常量数组将一组给定的常量用作某个公式中的参数 2.单元格引用--用于表示单元格在工作表所处位置的坐标值例如显示在第 B 列和第 3 行交叉处的单元格其引用形式为\"B3\"

3.常量--常量是直接键入到单元格或公式中的数字或文本值或由名称所代表的数字或文本值例如日期 10/9/96数字 210 和文本\"Quarterly Earnings\"都是常量公式或由公式得出的01/22/2005

数值都不是常量

图1 嵌套函数

在学习Excel函数之前我们需要对于函数的结构做以必要的了解如图2所示函数的结构以函数名称开始后面是左圆括号以逗号分隔的参数和右圆括号如果函数以公式的形式出现请在函数名称前面键入等号=在创建包含函数的公式时公式选项板将提供相关的帮助

图2 函数的结构

公式选项板--帮助创建或编辑公式的工具还可提供有关函数及其参数的信息单击编辑栏中的\"编辑公式\"按钮或是单击\"常用\"工具栏中的\"粘贴函数\" 按钮之后就会在编辑栏下面出现公式选项板整个过程如图3所示

EXCEL函数应用教程

第 2/89 页

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图3 公式选项板

二使用函数的步骤

在Excel中如何使用函数呢

1.单击需要输入函数的单元格如图4所示

单击单元格C1出现编辑栏

图4 单元格编辑

2.单击编辑栏中\"编辑公式\"按钮 将会在编辑栏下面出现一个\"公式选项板\"此时\"名称\"框将变成\"函数\"按钮如图3所示

3.单击\"函数\"按钮右端的箭头打开函数列表框从中选择所需的函数

图5 函数列表框

4.当选中所需的函数后Excel 2000将打开\"公式选项板\"用户可以在这个选项板中输入函数的参数当输入完参数后在\"公式选项板\"中还将显示函数计算的结果

5.单击\"确定\"按钮即可完成函数的输入

EXCEL函数应用教程

第 3/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

6.如果列表中没有所需的函数可以单击\"其它函数\"选项打开\"粘贴函数\"对话框用户可以从中选择所需的函数然后单击\"确定\"按钮返回到\"公式选项板\"对话框

在了解了函数的基本知识及使用方法后请跟随笔者一起寻找Excel提供的各种函数您可以通过单击插入栏中的\"函数\"看到所有的函数

图6 粘贴函数列表

三函数的种类

Excel函数一共有11类分别是数据库函数日期与时间函数工程函数财务函数信息函数逻辑函数查询和引用函数数学和三角函数统计函数文本函数以及用户自定义函数

1.数据库函数--当需要分析数据清单中的数值是否符合特定条件时可以使用数据库工作表函数例如在一个包含销售信息的数据清单中可以计算出所有销售数值大于 1,000 且小于 2,500 的行或记录的总数Microsoft Excel 共有 12 个工作表函数用于对存储在数据清单或数据库中的数据进行分析这些函数的统一名称为 Dfunctions也称为 D 函数每个函数均有三个相同的参数databasefield 和 criteria这些参数指向数据库函数所使用的工作表区域其中参数 database 为工作表上包含数据清单的区域参数 field 为需要汇总的列的标志参数 criteria 为工作表上包含指定条件的区域

2.日期与时间函数--通过日期与时间函数可以在公式中分析和处理日期值和时间值

3.工程函数--工程工作表函数用于工程分析这类函数中的大多数可分为三种类型对复数进行处理的函数在不同的数字系统如十进制系统十六进制系统八进制系统和二进制系统间进行数值转换的函数在不同的度量系统中进行数值转换的函数

4.财务函数--财务函数可以进行一般的财务计算如确定贷款的支付额投资的未来值或净现值以及债券或息票的价值财务函数中常见的参数

EXCEL函数应用教程

第 4/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

未来值 (fv)--在所有付款发生后的投资或贷款的价值

期间数 (nper)--投资的总支付期间数

付款 (pmt)--对于一项投资或贷款的定期支付数额

现值 (pv)--在投资期初的投资或贷款的价值例如贷款的现值为所借入的本金数额

利率 (rate)--投资或贷款的利率或贴现率

类型 (type)--付款期间内进行支付的间隔如在月初或月末

5.信息函数--可以使用信息工作表函数确定存储在单元格中的数据的类型信息函数包含一组称为 IS 的工作表函数在单元格满足条件时返回 TRUE例如如果单元格包含一个偶数值ISEVEN 工作表函数返回 TRUE如果需要确定某个单元格区域中是否存在空白单元格可以使用 COUNTBLANK 工作表函数对单元格区域中的空白单元格进行计数或者使用 ISBLANK 工作表函数确定区域中的某个单元格是否为空

6.逻辑函数--使用逻辑函数可以进行真假值判断或者进行复合检验例如可以使用 IF 函数确定条件为真还是假并由此返回不同的数值

7.查询和引用函数--当需要在数据清单或表格中查找特定数值或者需要查找某一单元格的引用时可以使用查询和引用工作表函数例如如果需要在表格中查找与第一列中的值相匹配的数值可以使用 VLOOKUP 工作表函数如果需要确定数据清单中数值的位置可以使用 MATCH 工作表函数

8.数学和三角函数--通过数学和三角函数可以处理简单的计算例如对数字取整计算单元格区域中的数值总和或复杂计算

9.统计函数--统计工作表函数用于对数据区域进行统计分析例如统计工作表函数可以提供由一组给定值绘制出的直线的相关信息如直线的斜率和 y 轴截距或构成直线的实际点数值

10.文本函数--通过文本函数可以在公式中处理文字串例如可以改变大小写或确定文字串的长度可以将日期插入文字串或连接在文字串上下面的公式为一个示例借以说明如何使用函数 TODAY 和函数 TEXT 来创建一条信息该信息包含着当前日期并将日期以\"dd-mm-yy\"的格式表示

11.用户自定义函数--如果要在公式或计算中使用特别复杂的计算而工作表函数又无法满足需要则需要创建用户自定义函数这些函数称为用户自定义函数可以通过使用 Visual Basic for Applications 来创建

以上对Excel函数及有关知识做了简要的介绍在以后的文章中笔者将逐一介绍每一类函数的使用方法及应用技巧但是由于Excel的函数相当多因此也可能仅介绍几种比较常用的函数使用方法其他更多的函数您可以从Excel的在线帮助功能中了解更详细的资讯 EXCEL函数应用教程

第 5/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

Excel函数应用之数学和三角函数

学习Excel函数我们还是从数学与三角函数开始毕竟这是我们非常熟悉的函数这些正弦函数余弦函数取整函数等等从中学开始就一直陪伴着我们

首先让我们一起看看Excel提供了哪些数学和三角函数笔者在这里以列表的形式列出Excel提供的所有数学和三角函数详细请看附注的表格

从表中我们不难发现Excel提供的数学和三角函数已基本囊括了我们通常所用得到的各种数学公式与三角函数这些函数的详细用法笔者不在这里一一赘述下面从应用的角度为大家演示一下这些函数的使用方法

一与求和有关的函数的应用

SUM函数是Excel中使用最多的函数利用它进行求和运算可以忽略存有文本空格等数据的单元格语法简单使用方便相信这也是大家最先学会使用的Excel函数之一但是实际上Excel所提供的求和函数不仅仅只有SUM一种还包括SUBTOTALSUMSUMIFSUMPRODUCTSUMSQSUMX2MY2SUMX2PY2SUMXMY2几种函数

SUMIF对满足某一条件这里笔者将以某单位工资表为例重点介绍SUM计算一组参数之和

的单元格区域求和的使用(说明为力求简单示例中忽略税金的计算)

图1 函数求和

SUM

1行或列求和

以最常见的工资表如上图为例它的特点是需要对行或列内的若干单元格求和

比如求该单位2001年5月的实际发放工资总额就可以在H13中输入公式

EXCEL函数应用教程

第 6/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

=SUM(H3:H12)

2区域求和

区域求和常用于对一张工作表中的所有数据求总计此时你可以让单元格指针停留在存放结果的单元格然后在Excel编辑栏输入公式\"=SUM\"用鼠标在括号中间单击最后拖过需要求和的所有单元格若这些单元格是不连续的可以按住Ctrl键分别拖过它们对于需要减去的单元格则可以按住Ctrl键逐个选中它们然后用手工在公式引用的单元格前加上负号当然你也可以用公式选项板完成上述工作不过对于SUM函数来说手工还是来的快一些比如H13的公式还可以写成

=SUM(D3:D12,F3:F12)-SUM(G3:G12)

3注意

SUM函数中的参数即被求和的单元格或单元格区域不能超过30个换句话说SUM函数括号中出现的分隔符逗号不能多于29个否则Excel就会提示参数太多对需要参与求和的某个常数可用\"=SUM单元格区域常数\"的形式直接引用一般不必绝对引用存放该常数的单元格

SUMIF

SUMIF函数可对满足某一条件的单元格区域求和该条件可以是数值文本或表达式可以应用在人事工资和成绩统计中

仍以上图为例在工资表中需要分别计算各个科室的工资发放情况

要计算销售部2001年5月加班费情况则在F15种输入公式为

=SUMIF($C$3:$C$12,\"销售部\

其中\"$C$3:$C$12\"为提供逻辑判断依据的单元格区域\"销售部\"为判断条件即只统计$C$3:$C$12区域中部门为\"销售部\"的单元格$F$3:$F$12为实际求和的单元格区域

二与函数图像有关的函数应用

我想大家一定还记得我们在学中学数学时常常需要画各种函数图像那个时候是用坐标纸一点点描绘常常因为计算的疏忽描不出平滑的函数曲线现在我们已经知道Excel几乎囊括了我们需要的各种数学和三角函数那是否可以利用Excel函数与Excel图表功能描绘函数图像呢当然可以

这里笔者以正弦函数和余弦函数为例说明函数图像的描绘方法

EXCEL函数应用教程

第 7/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图2 函数图像绘制

1 录入数据--如图所示首先在表中录入数据自B1至N1的单元格以30度递增的方式录入从0至360的数字共13个数字

2 求函数值--在第2行和第三行分别输入SIN和COS函数这里需要注意的是由于SIN等三角函数在Excel的定义是要弧度值因此必须先将角度值转为弧度值具体公式写法为以

=SIN(D1*PI()/180) D2为例

3 选择图像类型--首先选中制作函数图像所需要的表中数据利用Excel工具栏上的图表向

在\"图表类型\"中选择\"XY散点图\"再在右侧的\"子图表类导按钮也可利用\"插入\"\"图表\"

型\"中选择\"无数据点平滑线散点图\"单击[下一步]出现\"图表数据源\"窗口不作任何操作直接单击[下一步]

4 图表选项操作--图表选项操作是制作函数曲线图的重要步骤在\"图表选项\"窗口中进行如

依次进行操作的项目有 图3

标题--为图表取标题本例中取名为\"正弦和余弦函数图像\"为横轴和纵轴取标题

坐标轴--可以不做任何操作

网格线--可以做出类似坐标纸上网格也可以取消网格线

图例--本例选择图例放在图像右边这个可随具体情况选择

数据标志--本例未将数据标志在图像上主要原因是影响美观如果有特殊要求例外5完成图像--操作结束后单击[完成]一幅图像就插入Excel的工作区了

6 编辑图像--图像生成后字体图像大小位置都不一定合适可选择相应的选项进行修改所有这些操作可以先用鼠标选中相关部分再单击右键弹出快捷菜单通过快捷菜单中的有关项目即可进行操作

EXCEL函数应用教程

第 8/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

至此一幅正弦和余弦函数图像制作完成用同样的方法还可以制作二次曲线对数图像等等

三常见数学函数使用技巧--四舍五入

在实际工作的数学运算中特别是财务计算中常常遇到四舍五入的问题虽然excel的单元格格式中允许你定义小数位数但是在实际操作中我们发现其实数字本身并没有真正的四舍五入只是显示结果似乎四舍五入了如果采用这种四舍五入方法的话在财务运算中常常会出现几分钱的误差而这是财务运算不允许的那是否有简单可行的方法来进行真正的四舍五入呢其实Excel已经提供这方面的函数了这就是ROUND函数它可以返回某个数字按指定位数舍入后的数字

在Excel提供的\"数学与三角函数\"中提供了一个名为ROUND(number,num_digits)的函数它的功能就是根据指定的位数将数字四舍五入这个函数有两个参数分别是number和

num_digits其中number就是将要进行四舍五入的数字num_digits则是希望得到的数字的小数点后的位数如图3所示

单元格B2中为初始数据0.123456B3的初始数据为0.234567将要对它们进行四舍五入在单元格C2中输入\"=ROUND(B2,2)\"小数点后保留两位有效数字得到0.120.23在单元格D2中输入\"=ROUND(B2,4)\"则小数点保留四位有效数字得到0.12350.2346

图3 对数字进行四舍五入

但由于这个函数的定义是返回实数舍入对于数字进行四舍五入,还可以使用INT取整函数

后的整数值因此用INT函数进行四舍五入还是需要一些技巧的也就是要加上0.5才能达到取整的目的仍然以图3为例如果采用INT函数则C2公式应写成\"=INT(B2*100+0.5)/100\"

最后需要说明的是本文所有公式均在Excel97和Excel2000中验证通过修改其中的单元格引用和逻辑条件值可用于相似的其他场合

附注Excel的数学和三角函数一览表 ABS 工作表函数 ACOS 工作表函数 ACOSH 工作表函数 ASIN 工作表函数 ASINH 工作表函数 ATAN 工作表函数 ATAN2 工作表函数

返回参数的绝对值 返回数字的反余弦值 返回参数的反双曲余弦值 返回参数的反正弦值 返回参数的反双曲正弦值 返回参数的反正切值

返回给定的 X 及 Y 坐标值的反正切值

EXCEL函数应用教程

第 9/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

ATANH 工作表函数 返回参数的反双曲正切值 CEILING 工作表函数 将参数 Number 沿绝对值增大的方向舍入为最接近的整数或基数 COMBIN 工作表函数 计算从给定数目的对象集合中提取若干对象的组合数 COS 工作表函数 返回给定角度的余弦值 COSH 工作表函数 返回参数的双曲余弦值 COUNTIF 工作表函数 计算给定区域内满足特定条件的单元格的数目 DEGREES 工作表函数 将弧度转换为度

EVEN 工作表函数 返回沿绝对值增大方向取整后最接近的偶数 EXP 工作表函数 返回 e 的 n 次幂常数 e 等于 2.71828182845904是自然对数的底数 FACT 工作表函数 返回数的阶乘一个数的阶乘等于 1*2*3*...*该数 FACTDOUBLE 工作表

返回参数 Number 的半阶乘

函数

将参数 Number 沿绝对值减小的方向去尾舍入使其等于最接近的

FLOOR 工作表函数

significance 的倍数

GCD 工作表函数 返回两个或多个整数的最大公约数 INT 工作表函数 返回实数舍入后的整数值 LCM 工作表函数 返回整数的最小公倍数 LN 工作表函数 返回一个数的自然对数自然对数以常数项 e2.71828182845904为底 LOG 工作表函数 按所指定的底数返回一个数的对数 LOG10 工作表函数 返回以 10 为底的对数 MDETERM 工作表函数 返回一个数组的矩阵行列式的值 MINVERSE 工作表函

返回数组矩阵的逆距阵

MMULT 工作表函数 返回两数组的矩阵乘积结果 MOD 工作表函数 返回两数相除的余数结果的正负号与除数相同 MROUND 工作表函数 返回参数按指定基数舍入后的数值 MULTINOMIAL 工作表

返回参数和的阶乘与各参数阶乘乘积的比值

函数

ODD 工作表函数 返回对指定数值进行舍入后的奇数 PI 工作表函数 返回数字 3.14159265358979即数学常数 pi精确到小数点后 15 位 POWER 工作表函数 返回给定数字的乘幂 PRODUCT 工作表函数 将所有以参数形式给出的数字相乘并返回乘积值 QUOTIENT 工作表函

回商的整数部分该函数可用于舍掉商的小数部分

RADIANS 工作表函数 将角度转换为弧度

RAND 工作表函数 返回大于等于 0 小于 1 的均匀分布随机数 RANDBETWEEN 工作表

返回位于两个指定数之间的一个随机数

函数

ROMAN 工作表函数 将阿拉伯数字转换为文本形式的罗马数字 ROUND 工作表函数 返回某个数字按指定位数舍入后的数字

ROUNDDOWN 工作表函靠近零值向下绝对值减小的方向舍入数字 EXCEL函数应用教程

第 10/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

ROUNDUP 工作表函数 远离零值向上绝对值增大的方向舍入数字 SERIESSUM 工作表函

返回基于以下公式的幂级数之和

返回数字的符号当数字为正数时返回 1为零时返回 0

SIGN 工作表函数

-1

SIN 工作表函数 返回给定角度的正弦值 SINH 工作表函数 返回某一数字的双曲正弦值 SQRT 工作表函数 返回正平方根

SQRTPI 工作表函数 返回某数与 pi 的乘积的平方根 SUBTOTAL 工作表函

返回数据清单或数据库中的分类汇总

SUM 工作表函数 返回某一单元格区域中所有数字之和 SUMIF 工作表函数 根据指定条件对若干单元格求和

SUMPRODUCT 工作表

在给定的几组数组中将数组间对应的元素相乘并返回乘积之和

函数

SUMSQ 工作表函数 返回所有参数的平方和 SUMX2MY2 工作表函

返回两数组中对应数值的平方差之和

SUMX2PY2 工作表函返回两数组中对应数值的平方和之和平方和加总在统计计算中经常使数 用 SUMXMY2 工作表函数 返回两数组中对应数值之差的平方和 TAN 工作表函数 返回给定角度的正切值 TANH 工作表函数 返回某一数字的双曲正切值

TRUNC 工作表函数 将数字的小数部分截去返回整数

为负数时返回

Excel函数应用之逻辑函数

用来判断真假值或者进行复合检验的Excel函数我们称为逻辑函数在Excel中提供了六种逻辑函数即ANDORNOTFALSEIFTRUE函数

一ANDORNOT函数

这三个函数都用来返回参数逻辑值详细介绍见下

一AND函数

所有参数的逻辑值为真时返回 TRUE只要一个参数的逻辑值为假即返回 FALSE简言之就是当AND的参数全部满足某一条件时返回结果为TRUE否则为FALSE

EXCEL函数应用教程

第 11/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

logical2, ... 表示待检测的 1 到 30 语法为AND(logical1,logical2, ...)其中Logical1,

个条件值各条件值可能为TRUE可能为 FALSE 参数必须是逻辑值或者包含逻辑值的数组或引用举例说明

1 在B2单元格中输入数字50在C2中写公式=AND(B2>30,B2<60)由于B2等于50的确大于30小于60所以两个条件值logical均为真则返回结果为TRUE

图1 AND函数示例1

2 如果 B1-B3 单元格中的值为 TRUEFALSE单元格中的公式=AND(B1:B3) 等于 FALSE

TRUE

显然三个参数并不都为真所以 在B4

图2 AND函数示例2

OR函数

OR函数指在其参数组中任何一个参数逻辑值为 TRUE即返回 TRUE它与AND函数的区别在于AND函数要求所有函数逻辑值均为真结果方为真而OR函数仅需其中任何一个为真即可为真比如上面的示例2如果在B4单元格中的公式写为=OR(B1:B3)则结果等于TRUE

图3 OR函数示例

NOT函数

NOT函数用于对参数值求反

当要确保一个值不等于某一特定值时可以使用 NOT 函数简言

EXCEL函数应用教程

第 12/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

之就是当参数值为TRUE时NOT函数返回的结果恰与之相反结果为FALSE.

比如NOT(2+2=4)由于2+2的结果的确为4该参数结果为TRUE由于是NOT函数因此返回函数结果与之相反为FALSE

二TRUEFALSE函数

TRUEFALSE函数用来返回参数的逻辑值由于可以直接在单元格或公式中键入值TRUE或者FALSE因此这两个函数通常可以不使用

三IF函数

一IF函数说明

IF函数用于执行真假值判断后根据逻辑测试的真假值返回不同的结果因此If函数也称之为条件函数它的应用很广泛可以使用函数 IF 对数值和公式进行条件检测

它的语法为IF(logical_test,value_if_true,value_if_false)其中Logical_test表示计算结果为 TRUE 或 FALSE 的任意值或表达式本参数可使用任何比较运算符

Value_if_true显示在logical_test 为 TRUE 时返回的值Value_if_true 也可以是其他公式Value_if_false logical_test 为 FALSE 时返回的值Value_if_false 也可以是其他公式

简言之如果第一个参数logical_test返回的结果为真的话则执行第二个参数Value_if_true的结果否则执行第三个参数Value_if_false的结果IF函数可以嵌套七层用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件

Excel 还提供了可根据某一条件来分析数据的其他函数例如如果要计算单元格区域中某个文本串或数字出现的次数则可使用 COUNTIF 工作表函数如果要根据单元格区域中的某一文本串或数字求和则可使用 SUMIF 工作表函数

二IF函数应用

1 输出带有公式的空白表单

EXCEL函数应用教程

第 13/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图5 人事分析表1

以图中所示的人事状况分析表为例由于各部门关于人员的组成情况的数据尚未填写在总计栏以单元格G5为例公式为

=SUM(C5:F5)

我们看到计算为0的结果如果这样的表格打印出来就页面的美观来看显示是不令人满意的是否有办法去掉总计栏中的0呢你可能会说不写公式不就行了当然这是一个办法但是如果我们利用了IF函数的话也可以在写公式的情况下同样不显示这些0如何实现呢只需将总计栏中的公式仅以单元格G5为例改写成

=IF(SUM(C5:F5),SUM(C5:F5),\"\")

通俗的解释就是如果SUM(C5:F5)不等于零则在单元格中显示SUM(C5:F5)的结果否则显示字符串

几点说明

1 SUM(C5:F5)不等于零的正规写法是SUM(C5:F5)<>0在EXCEL中可以省略<>0

2 \"\"表示字符串的内容为空因此执行的结果是在单元格中不显示任何字符

EXCEL函数应用教程

第 14/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图4

2 不同的条件返回不同的结果

如果对上述例子有了很好的理解后我们就很容易将IF函数应用到更广泛的领域比如在成绩表中根据不同的成绩区分合格与不合格现在我们就以某班级的英语成绩为例具体说明用法

图6

EXCEL函数应用教程

第 15/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

某班级的成绩如图6所示为了做出最终的综合评定我们设定按照平均分判断该学生成绩是否合格的规则如果各科平均分超过60分则认为是合格的否则记作不合格

根据这一规则我们在综合评定中写公式以单元格B12为例

=IF(B11>60,\"合格\

语法解释为如果单元格B11的值大于60则执行第二个参数即在单元格B12中显示合格字样否则执行第三个参数即在单元格B12中显示不合格字样

在综合评定栏中可以看到由于C列的同学各科平均分为54分综合评定为不合格其余均为合格

3 多层嵌套函数的应用

在上述的例子中我们只是将成绩简单区分为合格与不合格在实际应用中成绩通常是有多个等级的比如优良中及格不及格等有办法一次性区分吗可以使用多层嵌套的办法来实现仍以上例为例我们设定综合评定的规则为当各科平均分超过90时评定为优秀如图7所示

图7

说明为了解释起来比较方便我们在这里仅做两重嵌套的示例您可以按照实际情况进行更多重的嵌套但请注意Excel的IF函数最多允许七重嵌套

根据这一规则我们在综合评定中写公式以单元格F12为例

=IF(F11>60,IF(AND(F11>90),\"优秀\

语法解释为如果单元格F11的值大于60则执行第二个参数在这里为嵌套函数继续判断EXCEL函数应用教程

第 16/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

单元格F11的值是否大于90为了让大家体会一下AND函数的应用写成AND(F11>90)实际

如果满足在单元格F12中显示优秀字样不满足显示合格字样如果F11上可以仅写F11>90

的值以上条件都不满足则执行第三个参数即在单元格F12中显示不合格字样

在综合评定栏中可以看到由于F列的同学各科平均分为92分综合评定为优秀

三根据条件计算值

在了解了IF函数的使用方法后我们再来看看与之类似的Excel提供的可根据某一条件来分析数据的其他函数例如如果要计算单元格区域中某个文本串或数字出现的次数则可使用 COUNTIF 工作表函数如果要根据单元格区域中的某一文本串或数字求和则可使用 SUMIF 工作表函数关于SUMIF函数在数学与三角函数中以做了较为详细的介绍这里重点介绍COUNTIF的应用

COUNTIF可以用来计算给定区域内满足特定条件的单元格的数目比如在成绩表中计算每位学生取得优秀成绩的课程数在工资表中求出所有基本工资在2000元以上的员工数

语法形式为COUNTIF(range,criteria)其中Range为需要计算其中满足条件的单元格数目的单元格区域Criteria确定哪些单元格将被计算在内的条件其形式可以为数字表达式或文本例如条件可以表示为 32\"32\"\">32\"\"apples\"

1成绩表

这里仍以上述成绩表的例子说明一些应用方法我们需要计算的是每位学生取得优秀成绩的课程数规则为成绩大于90分记做优秀如图8所示

图8

EXCEL函数应用教程

第 17/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

根据这一规则我们在优秀门数中写公式以单元格B13为例

=COUNTIF(B4:B10,\">90\")

语法解释为计算B4到B10这个范围即jarry的各科成绩中有多少个数值大于90的单元格

在优秀门数栏中可以看到jarry的优秀门数为两门其他人也可以依次看到

2 销售业绩表

销售业绩表可能是综合运用IFSUMIFCOUNTIF非常典型的示例比如可能希望计算销售人员的订单数然后汇总每个销售人员的销售额并且根据总发货量决定每次销售应获得的奖金

原始数据表如图9所示原始数据是以流水单形式列出的即按订单号排列

图9 原始数据表

按销售人员汇总表如图10所示

EXCEL函数应用教程

第 18/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图10 销售人员汇总表

如图10所示的表完全是利用函数计算的方法自动汇总的数据首先建立一个按照销售人员汇总的表单样式如图所示然后分别计算订单数订单总额销售奖金

1 订单数 --用COUNTIF计算销售人员的订单数

以销售人员ANNIE的订单数公式为例公式

=COUNTIF($C$2:$C$13,A17)

语法解释为计算单元格A17(即销售人员ANNIE)在\"销售人员\"清单$C$2:$C$13的范围内即图9所示的原始数据表出现的次数

这个出现的次数即可认为是该销售人员ANNIE的订单数

2 订单总额--用SUMIF汇总每个销售人员的销售额

以销售人员ANNIE的订单总额公式为例公式

=SUMIF($C$2:$C$13,A17,$B$2:$B$13)

然后此公式在\"销售人员\"清单$C$2:$C$13中检查单元格A17 中的文本即销售人员ANNIE

计算\"订单金额\"列$B$2:$B$13中相应量的和

这个相应量的和就是销售人员ANNIE的订单总额

3 销售奖金--用IF根据订单总额决定每次销售应获得的奖金

假定公司的销售奖金规则为当订单总额超过5万元时奖励幅度为百分之十五否则为百分之十根据这一规则仍以销售人员ANNIE为例说明公式为

EXCEL函数应用教程

第 19/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

=IF(C17<50000,10%,15%)*C17

如果订单总额小于 50000则奖金为 10%如果订单总额大于等于 50000则奖金为 15%

至此我们已完全了解了EXCEL函数的逻辑函数相信大家在实际工作中会想出更多更有用的运用

Excel函数应用之文本/时间/日期函数

所谓文本函数就是可以在公式中处理文字串的函数例如可以改变大小写或确定文字串的长度可以替换某些字符或者去除某些字符等而日期和时间函数则可以在公式中分析和处理日期值和时间值关于这两类函数的列表参看附表这里仅对一些常用的函数做简要介绍

一文本函数

一大小写转换

LOWER--将一个文字串中的所有大写字母转换为小写字母

UPPER--将文本转换成大写形式

PROPER--将文字串的首字母及任何非字母字符之后的首字母转换成大写将其余的字母转换成小写

这三种函数的基本语法形式均为 函数名text示例说明

已有字符串为pLease ComE Here! 可以看到由于输入的不规范这句话大小写乱用了

通过以上三个函数可以将文本转换显示样式使得文本变得规范参见图1

LowerpLease ComE Here!= please come here!

upperpLease ComE Here!= PLEASE COME HERE!

properpLease ComE Here!= Please Come Here!

EXCEL函数应用教程

第 20/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图1

取出字符串中的部分字符

您可以使用MidLeftRight等函数从长字符串内获取一部分字符具体语法格式为

LEFT函数LEFT(text,num_chars)其中Text是包含要提取字符的文本串Num_chars指定要由 LEFT 所提取的字符数

MID函数MID(text,start_num,num_chars)其中Text是包含要提取字符的文本串Start_num是文本中要提取的第一个字符的位置

RIGHT函数RIGHT(text,num_chars)其中Text是包含要提取字符的文本串Num_chars指定希望 RIGHT 提取的字符数

比如从字符串\"This is an apple.\"分别取出字符\"This\"\"apple\"\"is\"的具体函数写法为

LEFT(\"This is an apple\

RIGHT(\"This is an apple\

MID(\"This is an apple\

EXCEL函数应用教程

第 21/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图2

去除字符串的空白

在字符串形态中空白也是一个有效的字符但是如果字符串中出现空白字符时容易在判断或对比数据是发生错误在Excel中您可以使用Trim函数清除字符串中的空白

语法形式为TRIM(text)其中Text为需要清除其中空格的文本

需要注意的是Trim函数不会清除单词之间的单个空格如果连这部分空格都需清除的话建议使用替换功能比如从字符串\"My name is Mary\"中清除空格的函数写法为TRIM(\"My name is Mary\")=My name is Mary 参见图3

图3

字符串的比较

在数据表中经常会比对不同的字符串此时您可以使用EXACT函数来比较两个字符串是否相同该函数测试两个字符串是否完全相同如果它们完全相同则返回 TRUE否则返回 FALSE函数 EXACT 能区分大小写但忽略格式上的差异利用函数 EXACT 可以测试输入文档内的文字语法形式为EXACT(text1,text2)Text1为待比较的第一个字符串Text2为待比较的第二个字符串举例说明参见图4

EXACT(\"China\

EXCEL函数应用教程

第 22/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图4

二日期与时间函数

在数据表的处理过程中日期与时间的函数是相当重要的处理依据而Excel在这方面也提供了相当丰富的函数供大家使用

一取出当前系统时间/日期信息

用于取出当前系统时间/日期信息的函数主要有NOWTODAY

语法形式均为 函数名

二取得日期/时间的部分字段值

如果需要单独的年份月份日数或小时的数据时可以使用HOURDAYMONTHYEAR函数直接从日期/时间中取出需要的数据具体示例参看图5

比如需要返回2001-5-30 12:30 PM的年份月份日数及小时数可以分别采用相应函数实现

YEAR(E5)=2001

MONTH(E5)=5

DAY(E5)=30

HOUR(E5)=12

EXCEL函数应用教程

第 23/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图5

此外还有更多有用的日期/时间函数可以查阅附表下面我们将以一个具体的示例来说明Excel的文本函数与日期函数的用途

三示例做一个美观简洁的人事资料分析表

1 示例说明

在如图6所示的某公司人事资料表中除了编号员工姓名身份证号码以及参加工作时间为手工添入外其余各项均为用函数计算所得

图6

EXCEL函数应用教程

第 24/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

在此例中我们将详细说明如何通过函数求出

1自动从身份证号码中提取出生年月性别信息

2自动从参加工作时间中提取工龄信息

2身份证号码相关知识

在了解如何实现自动从身份证号码中提取出生年月性别信息之前首先需要了解身份证号码所代表的含义我们知道当今的身份证号码有15/18位之分早期签发的身份证号码是15位的现在签发的身份证由于年份的扩展由两位变为四位和末尾加了效验码就成了18位这两种身份证号码将在相当长的一段时期内共存两种身份证号码的含义如下

115位的身份证号码1~6位为地区代码7~8位为出生年份(2位)9~10位为出生月份11~12位为出生日期第13~15位为顺序号并能够判断性别奇数为男偶数为女

218位的身份证号码1~6位为地区代码7~10位为出生年份(4位)11~12位为出生月份13~14位为出生日期第15~17位为顺序号并能够判断性别奇数为男偶数为女18位为效验位

3 应用函数

在此例中为了实现数据的自动提取应用了如下几个Excel函数

1IF函数根据逻辑表达式测试的结果返回相应的值IF函数允许嵌套

语法形式为IFlogical_test, value_if_true,value_if_false

2CONCATENATE将若干个文字项合并至一个文字项中

语法形式为CONCATENATE(text1,text2)

3MID从文本字符串中指定的起始位置起返回指定长度的字符

语法形式为MID(text,start_num,num_chars)

4TODAY返回计算机系统内部的当前日期

语法形式为TODAY

5DATEDIF计算两个日期之间的天数月数或年数

语法形式为DATEDIF(start_date,end_date,unit)

EXCEL函数应用教程

第 25/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

6VALUE

将代表数字的文字串转换成数字

语法形式为VALUE(text)

7RIGHT根据所指定的字符数返回文本串中最后一个或多个字符

语法形式为RIGHT(text,num_chars)

8INT返回实数舍入后的整数值语法形式为INT(number)

4 公式写法及解释以员工Andy为例说明

说明为避免公式中过多的嵌套这里的身份证号码限定为15位的如果您看懂了公式的话可以进行简单的修改即可适用于18位的身份证号码甚至可适用于1518两者并存的情况

1根据身份证号码求性别

=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),\"女\

公式解释a. RIGHT(E4,3)用于求出身份证号码中代表性别的数字实际求得的为代表数字的字符串

b. VALUE(RIGHT(E4,3)用于将上一步所得的代表数字的字符串转换为数字

c. VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2用于判断这个身份证号码是奇数还是偶数当然你也可以用Mod函数来做出判断

d. =IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),\"女\出这个号码是偶数时显示\"女\"否则这个号码是奇数的话则返回\"男\"

2根据身份证号码求出生日期

=CONCATENATE(\"19\

公式解释a. MID(E4,7,2)为在身份证号码中获取表示年份的数字的字符串

b. MID(E4,9,2) 为在身份证号码中获取表示月份的数字的字符串

c. MID(E4,11,2) 为在身份证号码中获取表示日期的数字的字符串 d. CONCATENATE(\"19\串合并在一起显示

EXCEL函数应用教程

第 26/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

3

根据参加工作时间求年资

即工龄

=CONCATENATE(DATEDIF(F4,TODAY(),\"y\"),\"年\

公式解释

a. TODAY()用于求出系统当前的时间

b. DATEDIF(F4,TODAY(),\"y\")用于计算当前系统时间与参加工作时间相差的年份 c. DATEDIF(F4,TODAY(),\"ym\")用于计算当前系统时间与参加工作时间相差的月份忽略日期中的日和年 d. =CONCATENATE(DATEDIF(F4,TODAY(),\"y\"),\"年\是将多个字符串合并在一起显示

5. 其他说明

在这张人事资料表中我们还发现创建日期31-05-2001时显示在同一个单元格中的这是如何实现的呢难道是手工添加的吗不是实际上这个日期还是变化的它显示的是系统当前时间这里是利用函数 TODAY 和函数 TEXT 一起来创建一条信息该信息包含着当前日期并将日期以\"dd-mm-yyyy\"的格式表示

具体公式写法为=\"创建日期\"&TEXT(TODAY(),\"dd-mm-yyyy\")

至此我们对于文本函数日期与时间函数已经有了大致的了解同时也设想了一些应用领域相信随着大家在这方面的不断研究会有更广泛的应用

附一文本函数 函数名

函数说明

将字符串中的全角双字节英文字母

ASC(text)

更改为半角单字节字符

返回对应于数字代码的字符函数 CHAR

可将其他类型计算机CHAR(number) 文件中的代码转换为字符

删除文本中不能打印

CLEAN(text)

的字符对从其他应

语法

ASC

CHAR

CLEAN

EXCEL函数应用教程

第 27/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

用程序中输入的字符串使用 CLEAN 函数将删除其中含有的当前操作系统无法打印的字符例如可以删除通常出现在数据文件头部或尾部无法打印的低级计算机代码

返回文字串中第一个字符的数字代码返

回的代码对应于计算CODE(text) 机当前使用的字符集

CODE

将若干文字串合并到

CONCATENATE CONCATENATE (text1,text2,...)

一个文字串中 DOLLAR

依照货币格式将小数

四舍五入到指定的位DOLLAR 或 RMB(number,decimals) 数并转换成文字

该函数测试两个字符串是否完全相同如果它们完全相同则返回 TRUE否则返回 FALSE函数

EXACT(text1,text2)

EXACT 能区分大小写但忽略格式上的差异利用函数 EXACT 可以测试输入文档内的文字

FIND 用于查找其他文本串

(within_text) 内的文本串

(find_text)并从 FIND(find_text,within_text,start_num) within_text 的首字符开始返回

find_text 的起始位置编号

按指定的小数位数进行四舍五入利用句

点和逗号以小数格FIXED(number,decimals,no_commas) 式对该数设置格式并以文字串形式返回

EXACT

FIND

FIXED

EXCEL函数应用教程

第 28/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

结果

将字符串中的半角单字节英文字母

JIS(text)

或片假名更改为全角双字节字符

LEFT 基于所指定的字符数返回文本串中的第一个或前几个字符

LEFT(text,num_chars)

LEFTB 基于所指定的

LEFTB(text,num_bytes)

字节数返回文本串中的第一个或前几个字符此函数用于双字节字符

LEN 返回文本串中的字符数

LENB 返回文本串中LEN(text) 用于代表字符的字节LENB(text) 数此函数用于双字节字符

将一个文字串中的所

有大写字母转换为小LOWER(text) 写字母

MID 返回文本串中从指定位置开始的特定数目的字符该数目由用户指定

MID(text,start_num,num_chars)

MIDB 返回文本串中

MIDB(text,start_num,num_bytes)

从指定位置开始的特定数目的字符该数目由用户指定此函数用于双字节字符

提取文本串中的拼音

PHONETIC(reference)

(furigana) 字符

将文字串的首字母及任何非字母字符之后的首字母转换成大PROPER(text) 写将其余的字母转换成小写

REPLACE 使用其他文

REPLACE(old_text,start_num,num_chars,new_text)

本串并根据所指定的

REPLACEB(old_text,start_num,num_bytes,new_text)

字符数替换某文本串

JIS

LEFT

LEN

LOWER

MID

PHONETIC

PROPER

REPLACE

EXCEL函数应用教程

第 29/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

中的部分文本 REPLACEB 使用其他文本串并根据所指定的字符数替换某文本串中的部分文本此函数专为双字节字符使用

按照给定的次数重复显示文本可以通过函数 REPT 来不断地

REPT(text,number_times)

重复显示某一文字串对单元格进行填充

RIGHT 根据所指定的字符数返回文本串中最后一个或多个字符

RIGHT(text,num_chars)

RIGHTB 根据所指定

RIGHTB(text,num_bytes)

的字符数返回文本串中最后一个或多个字符此函数用于双字节字符

SEARCH 返回从 start_num 开始首次找到特定字符或文本串的位置上特定字符的编号使用 SEARCH 可确定字符或文本串在其他文本串中的位置这样就可使用 MID 或 REPLACE 函数更改文本

SEARCH(find_text,within_text,start_num)

SEARCHB 也可在其他

SEARCHB(find_text,within_text,start_num)

文本串

(within_text) 中查找文本串

(find_text)并返回 find_text 的起始位置编号此结果是基于每个字符所使用的字节数并从 start_num 开始的此函数用于双字节字

REPT

RIGHT

SEARCH

EXCEL函数应用教程

第 30/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

符此外也可使用 FINDB 在其他文本串中查找文本串

在文字串中用 new_text 替代 old_text如果需要在某一文字串中替换指定的文本请使用

SUBSTITUTE SUBSTITUTE(text,old_text,new_text,instance_num)

函数 SUBSTITUTE如果需要在某一文字串中替换指定位置处的任意文本请使用函数 REPLACE T TEXT

将数值转换成文本

T(value)

将一数值转换为按指

定数字格式表示的文TEXT(value,format_text) 本

除了单词之间的单个空格外清除文本中所有的空格在从其

他应用程序中获取带TRIM(text) 有不规则空格的文本时可以使用函数 TRIM

将文本转换成大写形

UPPER(text)

将代表数字的文字串

VALUE(text)

转换成数字

将单字节字符转换为

WIDECHAR(text)

双字节字符

使用 日圆货币格式将数字转换成文

YEN(number,decimals)

本并对指定位置后的数字四舍五入

TRIM

UPPER VALUE WIDECHAR

YEN

EXCEL函数应用教程

第 31/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

附二

日期与时间函数

函数说明

返回代表特定日期的系列数

语法

DATE(year,month,day)

函数名 DATE DATEDIF

计算两个日期之间的天数月数或

DATEDIF(start_date,end_date,unit)

年数

函数 DATEVALUE 的主要功能是将

DATEVALUE 以文字表示的日期转换成一个系DATEVALUE(date_text)

列数 DAY

返回以系列数表示的某日期的天

DAY(serial_number)

数用整数 1 到 31 表示

按照一年 360 天的算法每个月

以 30 天计一年共计 12 个月DAYS360(start_date,end_date,method) 返回两日期间相差的天数

返回指定日期 (start_date) 之前或之后指定月份数的日期系列

数使用函数 EDATE 可以计算与EDATE(start_date,months) 发行日处于一月中同一天的到期日的日期

返回 start-date 之前或之后指定月份中最后一天的系列数用函

数 EOMONTH 可计算特定月份中最EOMONTH(start_date,months) 后一天的时间系列数用于证券的到期日等计算

返回时间值的小时数即一个介于

0 (12:00 A.M.) 到 23 (11:00 HOUR(serial_number) P.M.) 之间的整数

返回时间值中的分钟即一个介于

MINUTE(serial_number)

0 到 59 之间的整数

返回以系列数表示的日期中的月

份月份是介于 1一月和 12MONTH(serial_number) 十二月之间的整数

DAYS360

EDATE

EOMONTH

HOUR

MINUTE

MONTH

返回参数 start-data 和 end-data 之间完整的工作日数

NETWORKDAYS NETWORKDAYS(start_date,end_date,holidays)

值工作日不包括周末和专门指定的假期 NOW SECOND

返回当前日期和时间所对应的系

NOW( )

列数

返回时间值的秒数返回的秒数为 SECOND(serial_number)

EXCEL函数应用教程

第 32/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

0 至 59 之间的整数

返回某一特定时间的小数值函数 TIME 返回的小数值为从 0 到 0.99999999 之间的数值代表从

TIME(hour,minute,second)

0:00:00 (12:00:00 A.M) 到 23:59:59 (11:59:59 P.M) 之间的时间

TIME

返回由文本串所代表的时间的小数值该小数值为从 0 到 0.999999999 的数值代表从

TIMEVALUE TIMEVALUE(time_text)

0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 PM) 之间的时间 TODAY

返回当前日期的系列数系列数是

Microsoft Excel 用于日期和时TODAY( ) 间计算的日期-时间代码

返回某日期为星期几默认情况

下其值为 1星期天到 7星WEEKDAY(serial_number,return_type) 期六之间的整数

返回一个数字该数字代表一年中

WEEKNUM(serial_num,return_type)

的第几周

返回某日期起始日期之前或之后相隔指定工作日的某一日期的

WORKDAY(start_date,days,holidays)

日期值工作日不包括周末和专门指定的假日

返回某日期的年份返回值为 1900 到 9999 之间的整数

YEAR(serial_number)

WEEKDAY

WEEKNUM

WORKDAY

YEAR YEARFRAC

返回 start_date 和 end_date

YEARFRAC(start_date,end_date,basis)

之间的天数占全年天数的百分比

Excel函数应用之查询与引用函数

在介绍查询与引用函数之前我们先来了解一下有关引用的知识

1引用的作用

在Excel中引用的作用在于标识工作表上的单元格或单元格区域并指明公式中所使用的数据的位置通过引用可以在公式中使用工作表不同部分的数据或者在多个公式中使用同一单元格的数值还可以引用同一工作簿不同工作表的单元格不同工作簿的单元格甚至其它应用程序中的数据

EXCEL函数应用教程

第 33/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

2引用的含义

关于引用需要了解如下几种情况的含义

外部引用--不同工作簿中的单元格的引用称为外部引用

远程引用--引用其它程序中的数据称为远程引用

相对引用--在创建公式时单元格或单元格区域的引用通常是相对于包含公式的单元格的相对位置

绝对引用--如果在复制公式时不希望 Excel 调整引用那么请使用绝对引用即加入美元符号如$C$1

3引用的表示方法

关于引用有两种表示的方法即A1 和 R1C1 引用样式

1引用样式一默认--A1

A1的引用样式是Excel的默认引用类型这种类型引用字母标志列从 A 到 IV 共 256 列和数字标志行从 1 到 65536这些字母和数字被称为行和列标题如果要引用单元格请顺序输入列字母和行数字例如C25 引用了列 C 和行 25 交叉处的单元格如果要引用单元格区域请输入区域左上角单元格的引用冒号和区域右下角单元格的引用如A20:C35

2引用样式二--R1C1

在 R1C1 引用样式中Excel 使用\"R\"加行数字和\"C\"加列数字来指示单元格的位置例如单元格绝对引用 R1C1 与 A1 引用样式中的绝对引用 $A$1 等价如果活动单元格是 A1则单元格相对引用 R[1]C[1] 将引用下面一行和右边一列的单元格或是 B2

在了解了引用的概念后我们来看看Excel提供的查询与引用函数查询与引用函数可以用来在数据清单或表格中查找特定数值或者需要查找某一单元格的引用Excel中一共提供了ADDRESSAREASCHOOSECOLUMNCOLUMNSHLOOKUPHYPERLINKINDEXINDIRECTLOOKUPMATCHOFFSETROWROWSTRANSPOSEVLOOKUP 16个查询与引用函数下面笔者将分组介绍一下这些函数的使用方法及简单应用

一ADDRESSCOLUMNROW

1 ADDRESS用于按照给定的行号和列标建立文本类型的单元格地址

其语法形式为ADDRESS(row_num,column_num,abs_num,a1,sheet_text)

EXCEL函数应用教程

第 34/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

Row_num指在单元格引用中使用的行号

Column_num指在单元格引用中使用的列标

Abs_num 指明返回的引用类型1代表绝对引用2代表绝对行号相对列标3代表相对行号绝对列标4为相对引用

A1用以指明 A1 或 R1C1 引用样式的逻辑值如果 A1 为 TRUE 或省略函数 ADDRESS 返回 A1 样式的引用如果 A1 为 FALSE函数 ADDRESS 返回 R1C1 样式的引用

Sheet_text为一文本指明作为外部引用的工作表的名称如果省略 sheet_text则不使用任何工作表名

简单说即ADDRESS行号列标引用类型引用样式工作表名称

比如ADDRESS(4,5,1,FALSE,\"[Book1]Sheet1\") 等于 \"[Book1]Sheet1!R4C5\"参见图1

图1

2 COLUMN用于返回给定引用的列标

语法形式为COLUMN(reference)

Reference为需要得到其列标的单元格或单元格区域如果省略 reference则假定为是对函数 COLUMN 所在单元格的引用如果 reference 为一个单元格区域并且函数 COLUMN 作为水平数组输入则函数 COLUMN 将 reference 中的列标以水平数组的形式返回但是Reference 不能引用多个区域

3 ROW用于返回给定引用的行号

EXCEL函数应用教程

第 35/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

语法形式为ROW(reference)

Reference为需要得到其行号的单元格或单元格区域 如果省略 reference则假定是对函数 ROW 所在单元格的引用如果 reference 为一个单元格区域并且函数 ROW 作为垂直数组输入则函数 ROW 将 reference 的行号以垂直数组的形式返回但是Reference 不能对多个区域进行引用

二AREASCOLUMNSINDEXROWS

1 AREAS用于返回引用中包含的区域个数其中区域表示连续的单元格组或某个单元格

其语法形式为AREAS(reference)

Reference为对某一单元格或单元格区域的引用也可以引用多个区域如果需要将几个引用指定为一个参数则必须用括号括起来

2 COLUMNS用于返回数组或引用的列数

其语法形式为COLUMNS(array)

Array为需要得到其列数的数组数组公式或对单元格区域的引用

3 ROWS用于返回引用或数组的行数

其语法形式为ROWS(array)

Array为需要得到其行数的数组数组公式或对单元格区域的引用

以上各函数示例见图2

图2

EXCEL函数应用教程

第 36/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

4 INDEX用于返回表格或区域中的数值或对数值的引用

函数 INDEX() 有两种形式数组和引用数组形式通常返回数值或数值数组引用形式通常返回引用

1INDEX(array,row_num,column_num) 返回数组中指定单元格或单元格数组的数值

Array为单元格区域或数组常数Row_num为数组中某行的行序号函数从该行返回数值

Column_num为数组中某列的列序号函数从该列返回数值需注意的是Row_num 和 column_num 必须指向 array 中的某一单元格否则函数 INDEX 返回错误值 #REF!

2INDEX(reference,row_num,column_num,area_num) 返回引用中指定单元格或单元格区域的引用

Reference为对一个或多个单元格区域的引用

Row_num为引用中某行的行序号函数从该行返回一个引用

Column_num为引用中某列的列序号函数从该列返回一个引用

需注意的是Row_numcolumn_num 和 area_num 必须指向 reference 中的单元格否则函数 INDEX 返回错误值 #REF!如果省略 row_num 和 column_num函数 INDEX 返回由 area_num 所指定的区域

三INDIRECTOFFSET

1 INDIRECT用于返回由文字串指定的引用

当需要更改公式中单元格的引用而不更改公式本身使用函数 INDIRECT

其语法形式为INDIRECT(ref_text,a1)

其中Ref_text为对单元格的引用此单元格可以包含 A1-样式的引用R1C1-样式的引用定义为引用的名称或对文字串单元格的引用如果 ref_text 不是合法的单元格的引用函数 INDIRECT 返回错误值 #REF!

A1为一逻辑值指明包含在单元格 ref_text 中的引用的类型如果 a1 为 TRUE 或省略ref_text 被解释为 A1-样式的引用如果 a1 为 FALSEref_text 被解释为 R1C1-样式的引用

需要注意的是如果 ref_text 是对另一个工作簿的引用外部引用则那个工作簿必须被打开如果源工作簿没有打开函数 INDIRECT 返回错误值 #REF!

2 OFFSET函数用于以指定的引用为参照系通过给定偏移量得到新的引用 EXCEL函数应用教程

第 37/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

返回的引用可以是一个单元格或者单元格区域并可以指定返回的行数或者列数

其基本语法形式为OFFSET(reference, rows, cols, height, width)

其中reference变量作为偏移量参照系的引用区域(reference必须为对单元格或相连单元格区域的引用否则OFFSET函数返回错误值VALUE!)

rows变量表示相对于偏移量参照系的左上角单元格向上(向下)偏移的行数(例如rows使用2作为参数表示目标引用区域的左上角单元格比reference低2行)行数可为正数(代表在起始引用单元格的下方)或者负数(代表在起始引用单元格的上方)或者0(代表起始引用单元格)

cols表示相对于偏移量参照系的左上角单元格向左(向右)偏移的列数(例如cols使用4作为参数表示目标引用区域的左上角单元格比reference右移4列)列数可为正数(代表在起始引用单元格的右边)或者负数(代表在起始引用单元格的左边)

如果行数或者列数偏移量超出工作表边缘OFFSET函数将返回错误值REFheight变量表示高度即所要返回的引用区域的行数(height必须为正数)width变量表示宽度即所要返回的引用区域的列数(width必须为正数)如果省略height或者width则假设其高度或者宽度与reference相同例如公式OFFSET(A1,2,3,4,5)表示比单元格A1靠下2行并靠右3列的4行5列的区域(即D3:H7区域)

由此可见OFFSET函数实际上并不移动任何单元格或者更改选定区域它只是返回一个引用

四HLOOKUPLOOKUPMATCHVLOOKUP

1 LOOKUP函数与MATCH函数

LOOKUP函数可以返回向量单行区域或单列区域或数组中的数值此系列函数用于在表格或数值数组的首行查找指定的数值并由此返回表格或数组当前列中指定行处的数值当比较值位于数据表的首行并且要查找下面给定行中的数据时使用函数 HLOOKUP当比较值位于要进行数据查找的左边一列时使用函数 VLOOKUP

如果需要找出匹配元素的位置而不是匹配元素本身则应该使用函数 MATCH 而不是函数

LOOKUPMATCH函数用来返回在指定方式下与指定数值匹配的数组中元素的相应位置从以上分析可知查找函数的功能一是按搜索条件返回被搜索区域内数据的一个数据值二是按搜索条件返回被搜索区域内某一数据所在的位置值利用这两大功能不仅能实现数据的查询而且也能解决如\"定级\"之类的实际问题

2 LOOKUP用于返回向量单行区域或单列区域或数组中的数值

函数 LOOKUP 有两种语法形式向量和数组

1 向量形式 EXCEL函数应用教程

第 38/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

函数 LOOKUP 的向量形式是在单行区域或单列区域向量中查找数值然后返回第二个单行区域或单列区域中相同位置的数值

其基本语法形式为LOOKUP(lookup_value,lookup_vector,result_vector)

Lookup_value为函数 LOOKUP 在第一个向量中所要查找的数值Lookup_value 可以为数字文本逻辑值或包含数值的名称或引用

Lookup_vector为只包含一行或一列的区域Lookup_vector 的数值可以为文本数字或逻辑值

需要注意的是Lookup_vector 的数值必须按升序排序...-2-1012...A-ZFALSETRUE否则函数 LOOKUP 不能返回正确的结果文本不区分大小写

Result_vector 只包含一行或一列的区域其大小必须与 lookup_vector 相同

如果函数 LOOKUP 找不到 lookup_value则查找 lookup_vector 中小于或等于 lookup_value 的最大数值

如果 lookup_value 小于 lookup_vector 中的最小值函数 LOOKUP 返回错误值 #N/A

示例详见图3

图3

2

EXCEL函数应用教程

第 39/89 页

数组形式

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

函数 LOOKUP 的数组形式在数组的第一行或第一列查找指定的数值然后返回数组的最后一行或最后一列中相同位置的数值通常情况下最好使用函数 HLOOKUP 或函数 VLOOKUP 来替代函数 LOOKUP 的数组形式函数 LOOKUP 的这种形式主要用于与其他电子表格兼容关于LOOKUP的数组形式的用法在此不再赘述感兴趣的可以参看Excel的帮助

3 HLOOKUP与VLOOKUP

HLOOKUP用于在表格或数值数组的首行查找指定的数值并由此返回表格或数组当前列中指定行处的数值

VLOOKUP用于在表格或数值数组的首列查找指定的数值并由此返回表格或数组当前行中指定列处的数值

当比较值位于数据表的首行并且要查找下面给定行中的数据时请使用函数 HLOOKUP

当比较值位于要进行数据查找的左边一列时请使用函数 VLOOKUP

语法形式为

HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

其中Lookup_value表示要查找的值它必须位于自定义查找区域的最左列Lookup_value 可以为数值引用或文字串

Table_array查找的区域用于查找数据的区域上面的查找值必须位于这个区域的最左列可以使用对区域或区域名称的引用

Row_index_num为 table_array 中待返回的匹配值的行序号Row_index_num 为 1 时返回 table_array 第一行的数值row_index_num 为 2 时返回 table_array 第二行的数值以此类推

Col_index_num为相对列号最左列为1其右边一列为2依此类推.

Range_lookup为一逻辑值指明函数 HLOOKUP 查找时是精确匹配还是近似匹配

下面详细介绍一下VLOOKUP函数的应用

简言之VLOOKUP函数可以根据搜索区域内最左列的值去查找区域内其它列的数据并返回该列的数据对于字母来说搜索时不分大小写所以函数VLOOKUP的查找可以达到两种目的一是精确的查找二是近似的查找下面分别说明

1 精确查找--根据区域最左列的值对其它列的数据进行精确的查找 EXCEL函数应用教程

第 40/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

示例创建工资表与工资条

首先建立员工工资表

图4

然后根据工资表创建各个员工的工资条此工资条为应用Vlookup函数建立以员工Sandy编号A001的工资条创建为例说明

第一步拷贝标题栏

第二步在编号处A21写入A001

第三步在姓名B21创建公式

=VLOOKUP($A21,$A$3:$H$12,2,FALSE)

语法解释在$A$3:$H$12范围内即工资表中精确找出与A21单元格相符的行并将该行中第二列的内容计入单元格中

第四步以此类推在随后的单元格中写入相应的公式

EXCEL函数应用教程

第 41/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图5

2

近似的查找--根据定义区域最左列的值

对其它列数据进行不精确值的查找

示例按照项目总额不同提取相应比例的奖金

第一步建立一个项目总额与奖金比例的对照表如图6所示项目总额的数字均为大于情况即项目总额在0~5000元时奖金比例为1%以此类推

图6

EXCEL函数应用教程

第 42/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

第二步 假定某项目的项目总额为13000元在B11格中输入公式

=VLOOKUP(A11,$A$4:$B$8,2,TRUE)

即可求得具体的奖金比例为5%如图7

图7

4 MATCH函数

MATCH函数有两方面的功能两种操作都返回一个位置值

一是确定区域中的一个值在一列中的准确位置这种精确的查询与列表是否排序无关

二是确定一个给定值位于已排序列表中的位置这不需要准确的匹配.

语法结构为MATCH(lookup_value,lookup_array,match_type)

lookup_value为要搜索的值

lookup_array要查找的区域(必须是一行或一列)

match_type匹配形式有01和1三种选择\"0\"表示一个准确的搜索\"1\"表示搜索小于或等于查换值的最大值查找区域必须为升序排列\"1\"表示搜索大于或等于查找值的最小值查找区域必须降序排开以上的搜索如果没有匹配值则返回N/A

五HYPERLINK

所谓HYPERLINK也就是创建快捷方式以打开文档或网络驱动器甚至INTERNET地址通俗EXCEL函数应用教程

第 43/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

地讲就是在某个单元格中输入此函数之后可以到您想去的任何位置在某个Excel文档中也许您需要引用别的Excel文档或Word文档等等其步骤和方法是这样的 1选中您要输入此函数的单元格比如B6

2单击常用工具栏中的\"粘贴函数\"图标将出现\"粘贴函数\"对话框在\"函数分类\"框中选择\"常用\"在\"函数名\"框中选择HYPERLINK此时在对话框的底部将出现该函数的简短解释 3单击\"确定\"后将弹出HYPERLINK函数参数设置对话框 4在\"Link_location\"中键入要链接的文件或INTERNET地址比如\"c:\\my

documents\\Excel函数.doc\"在\"Friendly_name\"中键入\"Excel函数\"这里是假设我们要打开的文档位于c:\\my documents下的文件\"Excel函数.doc\"

5单击\"确定\"回到您正编辑的Excel文档此时再单击B6单元格就可立即打开用Word编辑的会议纪要文档

HYPERLINK函数用于创建各种快捷方式比如打开文档或网络驱动器跳转到某个网址等说得夸大一点在某个单元格中输入此函数之后可以跳到我们想去的任何位置

六其他CHOOSETRANSPOSE

1CHOOSE函数

函数CHOOSE可以使用 index_num 返回数值参数清单中的数值使用函数 CHOOSE 可以基于索引号返回多达 29 个待选数值中的任一数值

语法形式为CHOOSE(index_num,value1,value2,...)

Index_num用以指明待选参数序号的参数值Index_num 必须为 1 到 29 之间的数字或者是包含数字 1 到 29 的公式或单元格引用

Value1,value2,... 为 1 到 29 个数值参数函数 CHOOSE 基于 index_num从中选择一个数值或执行相应的操作参数可以为数字单元格引用已定义的名称公式函数或文本

2TRANSPOSE函数

TRANSPOSE用于返回区域的转置函数 TRANSPOSE 必须在某个区域中以数组公式的形式输入该区域的行数和列数分别与 array 的列数和行数相同使用函数 TRANSPOSE 可以改变工作表或宏表中数组的垂直或水平走向

语法形式为TRANSPOSE(array)

Array为需要进行转置的数组或工作表中的单元格区域所谓数组的转置就是将数组的第一行EXCEL函数应用教程

第 44/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

作为新数组的第一列数组的第二行作为新数组的第二列

示例将原来为横向排列的业绩表转置为纵向排列

以此类推

图8

第一步由于需要转置的为多个单元格形式因此需要以数组公式的方法输入公式故首先选定需转置的范围此处我们设定转置后存放的范围为A9.B14.

第二步单击常用工具栏中的\"粘贴函数\"图标将出现\"粘贴函数\"对话框在\"函数分类\"框中选择\"查找与引用函数\"框中选择TRANSPOSE此时在对话框的底部将出现该函数的简短解释 单击\"确定\"后将弹出TRANSPOSE函数参数设置对话框

图9

第三步

选择数组的范围即A2.F3

EXCEL函数应用教程

第 45/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

第四步由于此处是以数组公式输入因此需要按 CRTL+SHIFT+ENTER 组合键来确定为数组公式此时会在公式中显示\"{}\"随即转置成功如图10所示

图10

以上我们介绍了Excel的查找与引用函数此类函数的灵活应用对于减少重复数据的录入是大有裨益的此处只做了些抛砖引玉的示例相信大家会在实际运用中想出更具实用性的应用方法

Excel的统计工作表函数用于对数据区域进行统计分析例如统计工作表函数可以用来统计样本的方差数据区间的频率分布等是不是觉得好像是很专业范畴的东西是的统计工作表函数中提供了很多属于统计学范畴的函数但也有些函数其实在你我的日常生活中是很常用的比如求班级平均成绩排名等在本文中主要介绍一些常见的统计函数而属于统计学范畴的函数不在此赘述详细的使用方法可以参考Excel帮助及相关的书籍

Excel函数应用之统计函数

在介绍统计函数之前请大家先看一下附表中的函数名称是不是发现有些函数是很类似的只是在名称中多了一个字母A比如AVERAGE与AVERAGEACOUNT与COUNTA基本上名称中带A的函数在统计时不仅统计数字而且文本和逻辑值如TRUE 和 FALSE也将计算在内在下文中笔者将主要介绍不带A的几种常见函数的用法

一用于求平均值的统计函数AVERAGETRIMMEAN

1求参数的算术平均值函数AVERAGE

EXCEL函数应用教程

第 46/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

语法形式为AVERAGE(number1,number2, ...)

其中Number1, number2, ...为要计算平均值的 130 个参数这些参数可以是数字或者是涉及数字的名称数组或引用如果数组或单元格引用参数中有文字逻辑值或空单元格则忽略其值但是如果单元格包含零值则计算在内

2求数据集的内部平均值TRIMMEAN

函数TRIMMEAN先从数据集的头部和尾部除去一定百分比的数据点然后再求平均值当希望在分析中剔除一部分数据的计算时可以使用此函数比如我们在计算选手平均分数中常用去掉一个最高分去掉一个最低分XX号选手的最后得分就可以使用该函数来计算 语法形式为TRIMMEAN(array,percent)

其中Array为需要进行筛选并求平均值的数组或数据区域Percent为计算时所要除去的数据点的比例例如如果 percent = 0.2在 20 个数据点的集合中就要除去 4 个数据点20 x 0.2头部除去 2 个尾部除去 2 个函数 TRIMMEAN 将除去的数据点数目向下舍为最接近的 2 的倍数

3举例说明示例中也列举了带A的函数AVERAGEA的求解方法

求选手Annie的参赛分数在这里我们先假定已经将该选手的分数进行了从高到底的排序在后面的介绍中我们将详细了解排序的方法

图1

二用于求单元格个数的统计函数COUNT 语法形式为COUNT(value1,value2, ...)

但只有数字类型的其中Value1, value2, ...为包含或引用各种类型数据的参数130个

数据才被计数函数 COUNT 在计数时将把数字空值逻辑值日期或以文字代表的数计算进去但是错误值或其他无法转化成数字的文字则被忽略

如果参数是一个数组或引用那么只统计数组或引用中的数字数组中或引用的空单元格逻辑值文字或错误值都将忽略如果要统计逻辑值文字或错误值应当使用函数 COUNTA EXCEL函数应用教程

第 47/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

举例说明COUNT函数的用途示例中也列举了带A的函数COUNTA的用途仍以上例为例要计算一共有多少评委参与评分用函数COUNTA以及有几个评委给出了有效分数用函数COUNT

图2

三求区域中数据的频率分布FREQUENCY

由于函数 FREQUENCY 返回一个数组必须以数组公式的形式输入 语法形式为FREQUENCY(data_array,bins_array)

其中Data_array为一数组或对一组数值的引用用来计算频率如果 data_array 中不包含任何数值函数 FREQUENCY 返回零数组Bins_array为一数组或对数组区域的引用设定对 data_array 进行频率计算的分段点如果 bins_array 中不包含任何数值函数 FREQUENCY 返回 data_array 元素的数目

看起来FREQUENCY的用法蛮复杂的但其用处很大比如可以计算不同工资段的人员分布公司员工的年龄分布学生成绩的分布情况等这里以具体示例说明其基本的用法

以计算某公司的员工年龄分布情况为例说明在工作表里列出了员工的年龄这些年龄为 28253121443322 和 35并分别输入到单元格 C4:C11这一列年龄就是 data_arrayBins_array 是另一列用来对年龄分组的区间值在本例中bins_array 是指 C13:C16 单元格分别含有值 253035和 40以数组形式输入函数 FREQUENCY就可以计算出年龄在 25岁以下26~30岁31~35岁36~40岁和40岁以上各区间中的数目本例中选择了5个垂直相邻的单元格后即以数组公式输入下面的公式返回的数组中的元素个数比 bins_array数组中的元素个数多 1第五个数字1表示大于最高间隔 (40) 的数值44的个数函数 FREQUENCY 忽略空白单元格和文本值

{=FREQUENCY(C4:C11,C13:C16)}等于 {2;2;2;1;1}

EXCEL函数应用教程

第 48/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图3

四一组用于求数据集的满足不同要求的数值的函数

1求数据集的最大值MAX与最小值MIN

函数的用法非常简单这两个函数MAXMIN就是用来求解数据集的极值即最大值最小值

语法形式为 函数number1,number2,...其中Number1,number2,... 为需要找出最大数值的 1 到 30 个数值如果要计算数组或引用中的空白单元格逻辑值或文本将被忽略因此如果逻辑值和文本不能忽略请使用带A的函数MAXA或者MINA 来代替

2求数据集中第K个最大值LARGE与第k个最小值SMALL

这两个函数LARGESMALL与MAXMIN非常想像区别在于它们返回的不是极值而是第K个值语法形式为函数(array,k)其中Array为需要找到第 k 个最小值的数组或数字型数据区域K为返回的数据在数组或数据区域里的位置如果是LARGE为从大到小排若为SMALL

函数则从小到大排

说到这大家可以想得到吧如果K=1或者K=n假定数据集中有n个数据的时候是不是就可以返回数据集的最大值或者最小值了呢

3 求数据集中的中位数MEDIAN

MEDIAN函数返回给定数值集合的中位数所谓中位数是指在一组数据中居于中间的数换句话说在这组数据中有一半的数据比它大有一半的数据比它小

语法形式为MEDIAN(number1,number2, ...)其中Number1, number2,...是需要找出中位数的 1 到 30 个数字参数如果数组或引用参数中包含有文字逻辑值或空白单元格则忽略这些值但是其值为零的单元格会计算在内

需要注意的是如果参数集合中包含有偶数个数字函数 MEDIAN 将返回位于中间的两个数的平均值

EXCEL函数应用教程

第 49/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

4 求数据集中出现频率最多的数MODE

MODE函数用来返回在某一数组或数据区域中出现频率最多的数值跟 MEDIAN 一样MODE 也是一个位置测量函数

语法形式为MODE(number1,number2, ...)其中Number1, number2, ... 是用于众数众数指在一组数值中出现频率最高的数值计算的 1 到 30 个参数也可以使用单一数组即对数组区域的引用来代替由逗号分隔的参数

5 以上函数的示例

以某单位年终奖金分配表为例说明在示例中我们将利用这些函数求解该单位年终奖金分配中的最高金额最低金额平均金额中间金额众数金额以及第二高金额等 详细的公式写法可从图中清楚的看出在此不再赘述

图4

五用来排位的函数RANKPERCENTRANK

1一个数值在一组数值中的排位的函数RANK

数值的排位是与数据清单中其他数值的相对大小当然如果数据清单已经排过序了则数值的排位就是它当前的位置数据清单的排序可以使用Excel提供的排序功能完成

语法形式为RANK(number,ref,order) 其中Number为需要找到排位的数字Ref 为包含一组数字的数组或引用Order为一数字用来指明排位的方式

如果 order 为 0 或省略则Excel 将 ref 当作按降序排列的数据清单进行排位 如果 order 不为零Microsoft Excel 将 ref 当作按升序排列的数据清单进行排位 需要说明的是函数 RANK 对重复数的排位相同但重复数的存在将影响后续数值的排位嗯这就好像并列第几的概念啊例如在一列整数里如果整数 10 出现两次其排位为 5则 11 EXCEL函数应用教程

第 50/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

的排位为 7没有排位为 6 的数值

2求特定数值在一个数据集中的百分比排位的函数PERCENTRANK

此PERCENTRANK函数可用于查看特定数据在数据集中所处的位置例如可以使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置

语法形式为PERCENTRANK(array,x,significance) 其中Array为彼此间相对位置确定的数字数组或数字区域X为数组中需要得到其排位的值Significance为可选项表示返回的百分数值的有效位数如果省略函数 PERCENTRANK 保留 3 位小数

3与排名有关的示例

仍以某单位的年终奖金分配为例说明这里以员工Annie的排名为例说明公式的写法 奖金排名的公式写法为 =RANK(C3,$C$3:$C$12) 百分比排名的公式写法为 =PERCENTRANK($C$3:$C$12,C3)

图5

以上我们介绍了Excel统计函数中比较常用的几种函数参看附表以及各种相关的统计学书籍

附表

函数名称 AVEDEV AVERAGE AVERAGEA

均值

函数说明

返回一组数据与其均值的绝对偏差的平

即离散度

更多的涉及专业领域的统计函数可以

语法形式

AVEDEV(number1,number2, ...) AVERAGE(number1,number2, ...) 算数平

返回参数算术平均值

计算参数清单中数值的平均值均值

不仅数字

如TRUE 和 FALSE

BETADIST

而且文本和逻辑值AVERAGEA(value1,value2,...) 也将计算在内

BETADIST(x,alpha,beta,A,B)

返回 Beta 分布累积函数的函数值Beta 分布累积函数通常用于研究样本

EXCEL函数应用教程

第 51/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

集合中某些事物的发生和变化情况返回 beta 分布累积函数的逆函数值即

BETAINV

如果 probability =

beta BETAINV(probability,alpha,beta,A,B) 在给定模拟可

BETADIST(x,...)

BETAINV(probability,...) = x分布累积函数可用于项目设计期望的完成时间和变化参数后能的完成时间

BINOMDIST(number_s,trials,probability_s,cumulative)

2 分布与

BINOMDIST CHIDIST CHIINV CHITEST CONFIDENCE

返回一元二项式分布的概率值返回

2 分布的单尾概率2 检验相关使用 观察值和期望值返回

2 检验可以比较CHIDIST(x,degrees_freedom)

CHIINV(probability,degrees_freedom)

2 分布单尾概率的逆函数

返回独立性检验值函数 CHITEST 返回

CHITEST(actual_range,expected_range)

2 分布的统计值及相应的自由度 返回总体平均值的置信区间是样本平均值任意一侧的区域

置信区间

CONFIDENCE(alpha,standard_dev,size)

返回单元格区域 array1 和 array2 之

CORREL

间的相关系数

使用相关系数可以确定CORREL(array1,array2)

两种属性之间的关系

COUNT

COUNT(value1,value2, ...)

返回参数的个数利用函数 COUNT 可以计算数组或单元格区域中数字项的个数

COUNTA

利用函数

COUNTA(value1,value2, ...)

返回参数组中非空值的数目数据项的个数返回协方差

COVAR

的平均数

COUNTA 可以计算数组或单元格区域中

即每对数据点的偏差乘积

利用协方差可以决定两个数COVAR(array1,array2)

据集之间的关系

CRITBINOM DEVSQ EXPONDIST

CRITBINOM(trials,probability_s,alpha) DEVSQ(number1,number2,...) EXPONDIST(x,lambda,cumulative)

返回使累积二项式分布大于等于临界值的最小值

此函数可以用于质量检验

返回数据点与各自样本均值偏差的平方和

返回指数分布使用函数 EXPONDIST 可以建立事件之间的时间间隔模型

返回 F 概率分布使用此函数可以确定

FDIST FINV FISHER

两个数据系列是否存在变化程度上的不FDIST(x,degrees_freedom1,degrees_freedom2) 同

FINV(probability,degrees_freedom1,degrees_freedom2)

返回 F 概率分布的逆函数值

返回点 x 的 Fisher 变换该变换生成FISHER(x)

EXCEL函数应用教程

第 52/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

一个近似正态分布而非偏斜的函数返回 Fisher 变换的逆函数值

FISHERINV FORECAST FREQUENCY

关性

使用此

变换可以分析数据区域或数组之间的相FISHERINV(y)

FORECAST(x,known_y's,known_x's)

FREQUENCY(data_array,bins_array)

根据给定的数据计算或预测未来值频率分布

以一列垂直数组返回某个区域中数据的

返回 F 检验的结果F 检验返回的是当

FTEST

数组 1 和数组 2 的方差无明显差异时的单尾概率

可以使用此函数来判断两

个样本的方差是否不同返回伽玛分布

GAMMADIST GAMMAINV GAMMALN GEOMEAN GROWTH HARMEAN

于排队分析

FTEST(array1,array2)

伽玛分布通常用GAMMADIST(x,alpha,beta,cumulative)

可以使用此函数来研究

具有偏态分布的变量

GAMMAINV(probability,alpha,beta)

GAMMALN(x)

GEOMEAN(number1,number2, ...)

GROWTH(known_y's,known_x's,new_x's,const) HARMEAN(number1,number2, ...) HYPGEOMDIST(sample_s,number_sample, population_s,number_population)

(x)

返回伽玛分布的累积函数的逆函数返回伽玛函数的自然对数

返回正数数组或数据区域的几何平均值

调和平均

根据给定的数据预测指数增长值返回数据集合的调和平均值

值与倒数的算术平均值互为倒数

HYPGEOMDIST 返回超几何分布INTERCEPT KURT LARGE LINEST

利用已知的 x 值与 y 值计算直线与 y

INTERCEPT(known_y's,known_x's)

轴的截距 返回数据集的峰值

KURT(number1,number2, ...) LARGE(array,k)

LINEST(known_y's,known_x's,const,stats)

返回数据集里第 k 个最大值使用此函数可以根据相对标准来选择数值使用最小二乘法计算对已知数据进行最佳直线拟合并返回描述此直线的数组在回归分析中

计算最符合观测数据组

LOGEST

的指数回归拟合曲线线的数组

并返回描述该曲LOGEST(known_y's,known_x's,const,stats)

LOGINV(probability,mean,standard_dev)

LOGINV

返回 x 的对数正态分布累积函数的逆函数

LOGNORMDIST 返回 x 的对数正态分布的累积函数MAX MAXA MEDIAN

返回数据集中的最大数值返回参数清单中的最大数值返回给定数值集合的中位数

LOGNORMDIST(x,mean,standard_dev)

MAX(number1,number2,...) MAXA(value1,value2,...)

中位数是MEDIAN(number1,number2, ...)

EXCEL函数应用教程

第 53/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

在一组数据中居于中间的数

MIN MINA MODE

返回给定参数表中的最小值返回参数清单中的最小数值

MIN(number1,number2, ...) MINA(value1,value2,...) MODE(number1,number2, ...)

NEGBINOMDIST(number_f,number_s,probability_s) NORMDIST(x,mean,standard_dev,cumulative) NORMINV(probability,mean,standard_dev) NORMSDIST(z) NORMSINV(probability)

返回在某一数组或数据区域中出现频率最多的数值

NEGBINOMDIST 返回负二项式分布NORMDIST NORMINV NORMSDIST NORMSINV

的累积函数

返回给定平均值和标准偏差的正态分布

该分布

返回给定平均值和标准偏差的正态分布的累积函数的逆函数

返回标准正态分布的累积函数的平均值为 0

标准偏差为 1

返回标准正态分布累积函数的逆函数该分布的平均值为 0返回 Pearson

皮尔生

标准偏差为 1乘积矩相关系

数r这是一个范围在 -1.0 到 1.0 之

PEARSON

间包括 -1.0 和 1.0 在内的无量纲PEARSON(array1,array2) 指数

反映了两个数据集合之间的线性

相关程度

例如

返回数值区域的 K 百分比数值点可以

PERCENTILE

使用此函数来建立接受阀值检测侯选人

以确定得分排名在 90 个百分点以上的

PERCENTILE(array,k)

返回特定数值在一个数据集中的百分比排位

PERCENTRANK

此函数可用于查看特定数据在数

例如

可以使用函

PERCENTRANK(array,x,significance)

据集中所处的位置

数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置

排列可以为有内部顺

PERMUT(number,number_chosen)

组合的内部顺序无意

返回从给定数目的对象集合中选取的若干对象的排列数

PERMUT

排列与组合不同义

POISSON

序的对象或为事件的任意集合或子集

此函数可用于彩票计算中的概率

泊松分布通常用于预测

比如一分POISSON(x,mean,cumulative)

返回泊松分布

一段时间内事件发生的次数钟内通过收费站的轿车的数量

返回一概率事件组中落在指定区域内的

PROB

事件所对应的概率之和upper_limit

于 lower_limit 的概率

如果没有给出

则返回 x _range 内值等

PROB(x_range,prob_range,lower_limit,upper_limit)

EXCEL函数应用教程

第 54/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

返回数据集的四分位数

QUARTILE

进行分组值

例如

四分位数通常

QUARTILE(array,quart)

用于在销售额和测量值数据集中对总体

可以使用函数

QUARTILE 求得总体中前 25% 的收入

RANK(number,ref,order)

返回一个数值在一组数值中的排位

RANK

对大小

如果数据清单已经排过序了

值的排位是与数据清单中其他数值的相则数值的排位就是它当前的位置

返回根据 known_y's 和 known_x's 中数据点计算得出的 Pearson 乘积矩相

RSQ

关系数的平方函数 REARSON

有关详细信息

请参阅RSQ(known_y's,known_x's)

R 平方值可以解释为 y

方差与 x 方差的比例返回分布的偏斜度

SKEW

正偏斜

负SKEW(number1,number2,...)

偏斜度反映以平均

值为中心的分布的不对称程度

度表示不对称边的分布更趋向正值偏斜度表示不对称边的分布更趋向负值

返回根据 known_y's 和 known_x's 中的数据点拟合的线性回归直线的斜率

SLOPE

斜率为直线上任意两点的重直距离与水SLOPE(known_y's,known_x's) 平距离的比值率

SMALL

也就是回归直线的变化

SMALL(array,k)

返回数据集中第 k 个最小值使用此函数可以返回数据集中特定位置上的数值

STANDARDIZE(x,mean,standard_dev)

返回以 mean 为平均值态化数值

STDEV

STANDARDIZE standard-dev 为标准偏差的分布的正

标准偏差反映相的离散程度

mean

估算样本的标准偏差对于平均值

标准偏的离

STDEV(number1,number2,...)

估算基于给定样本的标准偏差

STDEVA

差反映数值相对于平均值散程度FALSE

STDEVP

文本值和逻辑值也将计算在内

mean

如 TRUE 或

STDEVA(value1,value2,...)

返回以参数形式给出的整个样本总体的标准偏差mean

STDEVPA

标准偏差反映相对于平均值STDEVP(number1,number2,...) 的离散程度

标准偏差反

的离散程STDEVPA(value1,value2,...) mean

计算样本总体的标准偏差映数值相对于平均值度

EXCEL函数应用教程

第 55/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

返回通过线性回归法计算 y 预测值时

STEYX

所产生的标准误差误差量

标准误差用来度量

根据单个 x 变量计算出的 y 预测值的

STEYX(known_y's,known_x's)

t 将计

返回学生 t- 分布的百分点概率分布中数值 (x) 是 t 的计算值

TDIST

算其百分点集合的假设检验t 分布的临界值表

TINV

t 分布用于小样本数据TDIST(x,degrees_freedom,tails) 使用此函数可以代替

TINV(probability,degrees_freedom)

返回作为概率和自由度函数的学生 t 分布的 t 值值

y 值

即找到适合给定的数组

返回一条线性回归拟合线的一组纵坐标

TREND

known_y's 和 known_x's 的直线用最TREND(known_y's,known_x's,new_x's,const) 小二乘法

并返回指定数组 new_x's

值在直线上对应的 y 值返回数据集的内部平均值

TRIMMEAN

去一定百分比的数据点值计算时

TTEST VAR VARA VARP VARPA

可以使用此函数

函数

然后再求平均TRIMMEAN(array,percent)

TRIMMEAN 先从数据集的头部和尾部除

当希望在分析中剔除一部分数据的

TTEST(array1,array2,tails,type) VAR(number1,number2,...)

不仅数字

VARA(value1,value2,...) VARP(number1,number2,...) 文本

也将VARPA(value1,value2,...)

返回与学生氏- t 检验相关的概率可能来自两个具有相同均值的总体估算样本方差

以使用函数 TTEST 判断两个样本是否

如 TRUE 和 FALSE

估算基于给定样本的方差文本值和逻辑值也将计算在内

不仅数字

计算样本总体的方差计算样本总体的方差值和逻辑值计算在内

如 TRUE 和 FALSE

使用此函数可以进行可

比如计算设备的平均故障时WEIBULL(x,alpha,beta,cumulative)

Z 检验根据

可以使用此函ZTEST(array,x,sigma)

返回韦伯分布

WEIBULL

靠性分析间

返回 z 检验的双尾 P 值

ZTEST

回正态分布的双尾概率然估计

数据集或数组生成 x 的标准得分并返数返回从某总体中抽取特定观测值的似

EXCEL函数应用教程

第 56/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理 Excel函数应用之工程函数

Excel的工程函数与统计函数类似都是属于比较专业范畴的函数因此在文中笔者也仅介绍几种比较常用的工程函数更多的请参考Excel帮助和专业的书籍顾名思义工程工作表函数就是用于工程分析的函数Excel中一共提供了近40个工程函数工程工作表函数由\"分析工具库\"提供如果您找不到此类函数的话可能需要安装\"分析工具库\"

一\"分析工具库\"的安装 如图所示

图1

1在\"工具\"菜单中单击\"加载宏\"命令

2如果\"加载宏\"对话框中没有\"分析工具库\"请单击\"浏览\"按钮定位到\"分析工具库\"加载宏文件\"Analys32.xll\"所在的驱动器和文件夹通常位于\"Microsoft

如果没有找到该文件应运行\"安装\"程序 Office\\Office\\Library\\Analysis\"文件夹中

3 选中\"分析工具库\"复选框

二工程函数的分类

在Excel帮助系统中将工程函数大体可分为三种类型即 1对复数进行处理的函数

2在不同的数字系统如十进制系统十六进制系统八进制系统和二进制系统间进行数值转换的函数

3在不同的度量系统中进行数值转换的函数

在文中为了对函数的解释更清晰笔者把工程函数分为如下的六种类型即 1贝赛尔Bessel函数

2在不同的数字系统间进行数值转换的函数 3用于筛选数据的函数 4度量衡转换函数

5与积分运算有关的函数 6对复数进行处理的函数 EXCEL函数应用教程

第 57/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

下面逐一的对于这些工程函数进行介绍

1贝赛尔Bessel函数

贝赛尔Bessel函数是特殊函数中应用最广泛的一种函数在理论物理研究应用数学大气科学以及无线电等工程领域都有广泛的应用在Excel中一共提供了四个函数即BESSELIBESSELJ BESSELKBESSELY

语法形式为函数(x,n) 其中X为参数值N为函数的阶数如果 n非整数则截尾取整需说明的是如果 x 为非数值型则贝赛尔Bessel函数返回错误值 #VALUE!如果 n 为非数值型则贝赛尔Bessel函数返回错误值 #VALUE!如果 n 0则贝赛尔Bessel函数返回错误值 #NUM!

2在不同的数字系统间进行数值转换的函数

Excel工程函数中提供二进制八进制十进制与十六进制之间的数值转换函数

这类工程函数名称非常容易记忆只要记住二进制为BIN八进制为OCT十进制为DEC十六进制为HEX再记住函数名称中间有个数字2就可以容易的记住这些数值转换函数了比如如果需要将二进制数转换为十进制应用的函数为前面BIN中间加个2后面为DEC合起来这个函数就是BIN2DEC 简单列表为

图2

此类数值转换函数的语法形式也很容易记忆

其中Number为待转换的比如将不同进制的数值转为十进制的语法形式为函数number

某种进制数

又如将不同进制转换为其他进制的数值的语法形式为函数number,places其中Number为待转换的数Places为所要使用的字符数当需要在返回的数值前置零时 places 尤其有用

3用于筛选数据的函数DELTA与GESTEP

1用以测试两个数值是否相等的函数DELTA

DELTA用以测试两个数值是否相等如果 number1=number2则返回 1否则返回 0可用此函数筛选一组数据例如通过对几个 DELTA 函数求和可以计算相等数据对的数目该函数也称为 Kronecker Delta 函数

语法形式为DELTA(number1,number2) 其中Number1为第一个参数Number2为第二个参数如果省略假设 Number2 值为零如果number1或者number2为非数值型则函数 DELTA 返回错误值 #VALUE!

2可筛选数据的函数GESTEP

使用GESTEP函数可筛选数据如果 Number 大于等于 step返回 1否则返回 0例如通过计算多个函数 GESTEP 的返回值可以检测出数据集中超过某个临界值的数据个数

语法形式为GESTEP(number,step) 其中Number为待测试的数值Step称阀值如果省略 step则函数 GESTEP 假设其为零需注意的是如果任一参数非数值则函数 GESTEP 返回错误值 EXCEL函数应用教程

第 58/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

#VALUE!

3以考试成绩统计为例说明函数的用法

例某院校举行数学模拟考试正在进行成绩排定提出的评定方案为求出成绩超过90分的考生人数有哪些人

在这里我们采用GEStep函数来完成统计首先会为每位考生的成绩做标记超过90分的标记为1否则为0然后对所有考生的标记进行汇总即可求出有多少人超过90分

图3

以1号Annie的成绩为例成绩为98分超90分具体公式为 =GESTEP(C4,90)

4度量衡转换函数CONVERT

CONVERT函数可以将数字从一个度量系统转换到另一个度量系统中

语法形式为CONVERT(number,from_unit,to_unit) 其中Number为以 from_units 为单位的需要进行转换的数值From_unit为数值 number 的单位To_unit为结果的单位 函数 CONVERT 中from_unit 和 to_unit的参数接受的附表的文本值

From_unit 或 to_unit 能量 From_unit 或 to_unit

克 斯勒格 磅U

常衡制

\"g\" \"sg\"

焦耳 尔格

\"J\" \"e\"

\"lbm\" 热力学卡 \"c\" IT 卡 电子伏

\"cal\" \"eV\"

原子质量单位

常衡制

\"u\"

\"ozm\"

盎司 米

From_unit 或 to_unit 马力-小时 \"HPh\" \"m\" \"mi\" \"Nmi\" \"in\" \"ft\" ` \"ang\"

1/72 英寸

瓦特-小时 \"Wh\" 英尺磅 BTU 功率 马力 瓦特 磁 特斯拉

\"flb\" \"BTU\"

From_unit 或 to_unit \"HP\" \"W\"

From_unit 或 to_unit \"T\" \"ga\"

法定哩 海里 英寸 英尺 码 埃 皮卡

\"Pica\"

From_unit 或 to_unit 高斯

EXCEL函数应用教程

第 59/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

年 日 小时 分钟 秒 帕斯卡 大气压 毫米汞柱 牛顿 达因 磅力

\"yr\" \"day\" \"hr\" \"mn\" \"sec\"

摄氏度 华氏度

\"C\" \"F\"

开尔文度 \"K\"

\"tsp\" \"tbs\"

茶匙 \"Pa\" \"atm\" \"mmHg\"

汤匙

液量盎司 \"oz\" 杯

\"cup\"

U.S. 品脱 \"pt\" \"N\" \"dyn\" \"lbf\"

U.K. 品脱 \"uk_pt\" 夸脱 加仑 升

\"qt\" \"gal\" \"l\"

5与积分运算有关的函数ERF与ERFC ERF为返回误差函数在上下限之间的积分

其语法形式为ERF(lower_limit,upper_limit) 其中Lower_limit为ERF函数的积分下限Upper_limit为ERF函数的积分上限如果省略默认为零

无穷积分的 ERF 函数的余误差函数其语法形式为 ERFC为返回从 x 到

ERFC(x) 其中X为ERF函数积分的下限 6与复数运算有关的函数

还记得中学时代学过的复数吗是不是还记得当时求复数的模等计算的繁复Excel的工程函数中提供的多种与复数运算有关的函数你可以用它来验证自己的运算结果的正确性啊关于有哪些函数与复数运算有关可以察看所附的表格这里将以简单的事例说明函数的使用方法注意到在工程函数中有一些前缀为im的函数了吗这些就是与复数运算有关的函数 举例已知复数5+12i请用函数求解该复数的共轭复数实系数虚系数模等

图4

附表

Excel的工程函数

函数说明

返回修正 Bessel 函数值算时的 Bessel 函数值相等返回 Bessel 函数值

它与用纯虚数参数运

BESSELI BESSELJ BESSELK

语法形式

BESSELI(x,n) BESSELJ(x,n)

返回修正 Bessel 函数值它与用纯虚数参数运BESSELK(x,n)

EXCEL函数应用教程

第 60/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

算时的 Bessel 函数值相等

BESSELY BIN2DEC BIN2HEX BIN2OCT COMPLEX

返回 Bessel 函数值Neumann 函数

BESSELY(x,n) BIN2DEC(number) BIN2HEX(number,places) BIN2OCT(number,places)

COMPLEX(real_num,i_num,suffix)

也称为 Weber 函数或

将二进制数转换为十进制数将二进制数转换为十六进制数将二进制数转换为八进制数

将实系数及虚系数转换为 x+yi 或 x+yj 形式的复数

CONVERT DEC2BIN DEC2HEX DEC2OCT DELTA ERF ERFC

将数字从一个度量系统转换到另一个度量系统中

CONVERT(number,from_unit,to_unit) DEC2BIN(number,places) DEC2HEX(number,places) DEC2OCT(number,places) DELTA(number1,number2) ERF(lower_limit,upper_limit) ERFC(x)

将十进制数转换为二进制数将十进制数转换为十六进制数将十进制数转换为八进制数则返回 1

否则返回 0

测试两个数值是否相等如果 number1=number2

返回误差函数在上下限之间的积分返回从 x 到 差函数

无穷积分的 ERF 函数的余误

GESTEP HEX2BIN HEX2DEC HEX2OCT IMABS

如果 Number 大于等于 step返回 1否则返回

GESTEP(number,step)

0使用该函数可筛选数据 将十六进制数转换为二进制数将十六进制数转换为十进制数将十六进制数转换为八进制数

HEX2BIN(number,places) HEX2DEC(number) HEX2OCT(number,places) IMABS(inumber)

返回以 x+yi 或 x+yj 文本格式表示的复数的绝对值

IMAGINARY IMARGUMENT IMCONJUGATE IMCOS

返回以 x+yi 或 x+yj 文本格式表示的复数的虚系数

IMAGINARY(inumber) IMARGUMENT(inumber) IMCONJUGATE(inumber) IMCOS(inumber)

返回以弧度表示的角

返回以 x+yi 或 x+yj 文本格式表示的复数的共轭复数弦

返回以 x+yi 或 x+yj 文本格式表示的复数的余

IMDIV

返回以 x+yi 或 x+yj 文本格式表示的两个复数的商

IMDIV(inumber1,inumber2)

IMEXP

返回以 x+yi 或 x+yj 文本格式表示的复数的指数

IMEXP(inumber)

IMLN

返回以 x+yi 或 x+yj 文本格式表示的复数的自然对数

IMLN(inumber)

EXCEL函数应用教程

第 61/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

IMLOG10

返回以 x+yi 或 x+yj 文本格式表示的复数的常用对数

以 10 为底数

IMLOG10(inumber)

IMLOG2

返回以 x+yi 或 x+yj 文本格式表示的复数的以 2 为底数的对数

IMLOG2(inumber)

IMPOWER IMPRODUCT

返回以 x+yi 或 x+yj 文本格式表示的复数的 n 次幂

返回以 x+yi 或 x+yj 文本格式表示的 2 至 29 个复数的乘积

IMPOWER(inumber,number)

IMPRODUCT(inumber1,inumber2,...)

IMREAL

返回以 x+yi 或 x+yj 文本格式表示的复数的实系数

IMREAL(inumber)

IMSIN

返回以 x+yi 或 x+yj 文本格式表示的复数的正弦值

IMSIN(inumber)

IMSQRT

返回以 x+yi 或 x+yj 文本格式表示的复数的平方根

IMSQRT(inumber)

IMSUB

返回以 x+yi 或 x+yj 文本格式表示的两个复数的差

IMSUB(inumber1,inumber2)

IMSUM OCT2BIN OCT2DEC OCT2HEX

返回以 x+yi 或 x+yj 文本格式表示的两个或多个复数的和

将八进制数转换为二进制数将八进制数转换为十进制数将八进制数转换为十六进制数

IMSUM(inumber1,inumber2,...) OCT2BIN(number,places) OCT2DEC(number) OCT2HEX(number,places)

Excel函数应用之财务函数

像统计函数工程函数一样在Excel中还提供了许多财务函数财务函数可以进行一般的财务计算如确定贷款的支付额投资的未来值或净现值以及债券或息票的价值这些财务函数大体上可分为四类投资计算函数折旧计算函数偿还率计算函数债券及其他金融函数它们为财务分析提供了极大的便利使用这些函数不必理解高级财务知识只要填写变量值就可以了在下文中凡是投资的金额都以负数形式表示收益以正数形式表示

在介绍具体的财务函数之前我们首先来了解一下财务函数中常见的参数

未来值 (fv)--在所有付款发生后的投资或贷款的价值

期间数 (nper)--为总投资或贷款期即该项投资或贷款的付款期总数

付款 (pmt)--对于一项投资或贷款的定期支付数额其数值在整个年金期间保持不变通常 pmt 包括本金和利息但不包括其他费用及税款

现值 (pv)--在投资期初的投资或贷款的价值例如贷款的现值为所借入的本金数额 EXCEL函数应用教程

第 62/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

利率 (rate)--投资或贷款的利率或贴现率

类型 (type)--付款期间内进行支付的间隔如在月初或月末用0或1表示

日计数基准类型basis--为日计数基准类型Basis为0 或省略代表US (NASD) 30/360 为1代表实际天数/实际天数 为2代表实际天数/360 为3代表实际天数/365 为4代表欧洲30/360

接下来我们将分别举例说明各种不同的财务函数的应用在本文中主要介绍各类型的典型财务函数更多的财务函数请参看附表及相关书籍如果下文中所介绍的函数不可用返回错误值 #NAME?请安装并加载\"分析工具库\"加载宏操作方法为

1在\"工具\"菜单上单击\"加载宏\"

2在\"可用加载宏\"列表中选中\"分析工具库\"框再单击\"确定\"

一投资计算函数

投资计算函数可分为与未来值fv有关与付款pmt有关与现值pv有关与复利计算有关及与期间数有关几类函数

1与未来值fv有关的函数--FVFVSCHEDULE

2与付款pmt有关的函数--IPMTISPMTPMTPPMT

3与现值pv有关的函数--NPVPVXNPV

4与复利计算有关的函数--EFFECTNOMINAL

5与期间数有关的函数--NPER

在投资计算函数中笔者将重点介绍FVNPVPMTPV函数

一 求某项投资的未来值FV

在日常工作与生活中我们经常会遇到要计算某项投资的未来值的情况此时利用Excel函数FV进行计算后可以帮助我们进行一些有计划有目的有效益的投资FV函数基于固定利率及等额分期付款方式返回某项投资的未来值

语法形式为FV(rate,nper,pmt,pv,type)其中rate为各期利率是一固定值nper为总投资或贷款期即该项投资或贷款的付款期总数pv为各期所应付给或得到的金额其数值在整个年金期间或投资期内保持不变通常Pv包括本金和利息但不包括其它费用及税款pv为现值或一系列未来付款当前值的累积和也称为本金如果省略pv则假设其EXCEL函数应用教程

第 63/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

值为零type为数字0或1用以指定各期的付款时间是在期初还是期末如果省略t则假设其值为零

例如假如某人两年后需要一笔比较大的学习费用支出计划从现在起每月初存入2000元如

那么两年以后该账户的存款额会是多少呢 果按年利2.25%按月计息月利为2.25%/12

公式写为FV(2.25%/12, 24,-2000,0,1)

图1

求投资的净现值NPV

NPV函数基于一系列现金流和固定的各期贴现率返回一项投资的净现值投资的净现值是指未来各期支出负值和收入正值的当前值的总和

语法形式为NPV(rate,value1,value2, ...) 其中rate为各期贴现率是一固定值

value1,value2,...代表1到29笔支出及收入的参数值value1,value2,...所属各期间的长度必须相等而且支付及收入的时间都发生在期末需要注意的是NPV按次序使用value1,value2来注释现金流的次序所以一定要保证支出和收入的数额按正确的顺序输入如果参数是数值空白单元格逻辑值或表示数值的文字表示式则都会计算在内如果参数是错误值或不能转化为数值的文字则被忽略如果参数是一个数组或引用只有其中的数值部分计算在内忽略数组或引用中的空白单元格逻辑值文字及错误值

例如假设开一家电器经销店初期投资200,000而希望未来五年中各年的收入分别为20,00040,00050,00080,000和120,000假定每年的贴现率是8%相当于通

则投资的净现值的公式是 贷膨胀率或竞争投资的利率

=NPV(A2, A4:A8)+A3

在该例中一开始投资的200,000并不包含在v参数中因为此项付款发生在第一期的期初假设该电器店的营业到第六年时要重新装修门面估计要付出40,000则六年后书店投资的净现值为

=NPV(A2, A4:A8, A9)+A3

EXCEL函数应用教程

第 64/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

如果期初投资的付款发生在期末

=NPV(A2, A3:A8)

则 投资的净现值的公式是

图2

求贷款分期偿还额PMT

PMT函数基于固定利率及等额分期付款方式返回投资或贷款的每期付款额PMT函数可以计算为偿还一笔贷款要求在一定周期内支付完时每次需要支付的偿还额也就是我们平时所说的\"分期付款\"比如借购房贷款或其它贷款时可以计算每期的偿还额

其语法形式为PMT(rate,nper,pv,fv,type) 其中rate为各期利率是一固定值nper为总投资或贷款期即该项投资或贷款的付款期总数pv为现值或一系列未来付款当前值的累积和也称为本金fv为未来值或在最后一次付款后希望得到的现金余额如果省略

type为0或1用以指定各期的付fv则假设其值为零例如一笔贷款的未来值即为零

款时间是在期初还是期末如果省略type则假设其值为零

例如需要10个月付清的年利率为8%的10,000贷款的月支额为

PMT8%/12,10,10000 计算结果为-1,037.03

四 求某项投资的现值PV

PV函数用来计算某项投资的现值年金现值就是未来各期年金现在的价值的总和如果投资回收的当前价值大于投资的价值则这项投资是有收益的

EXCEL函数应用教程

第 65/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

其语法形式为PV(rate,nper,pmt,fv,type) 其中Rate为各期利率Nper为总投资或贷款期即该项投资或贷款的付款期总数Pmt为各期所应支付的金额其数值在整个年金期间保持不变通常 pmt 包括本金和利息但不包括其他费用及税款Fv 为未来值或在最后一次支付后希望得到的现金余额如果省略 fv则假设其值为零一笔贷款的未来值即为零Type用以指定各期的付款时间是在期初还是期末

例如假设要购买一项保险年金该保险可以在今后二十年内于每月末回报600此项年金的购买成本为80,000假定投资回报率为8%那么该项年金的现值为

-71,732.58 PV(0.08/12, 12*20,600,0) 计算结果为

-71,732.58的现值小于实际支付的负值表示这是一笔付款也就是支出现金流年金

80,000因此这不是一项合算的投资

图3

二 折旧计算函数

折旧计算函数主要包括AMORDEGRCAMORLINCDBDDBSLNSYDVDB这些函数都是用来计算资产折旧的只是采用了不同的计算方法这里对于具体的计算公式不再赘述具体选用哪种折旧方法则须视各单位情况而定

三偿还率计算函数

偿还率计算函数主要用以计算内部收益率包括IRRMIRRRATE和XIRR几个函数

一 返回内部收益率的函数--IRR

IRR函数返回由数值代表的一组现金流的内部收益率这些现金流不一定必须为均衡的但作为年金它们必须按固定的间隔发生如按月或按年内部收益率为投资的回收利率其中包含

定期支付负值和收入正值

其语法形式为IRR(values,guess) 其中values为数组或单元格的引用包含用来计算内部收益率的数字values必须包含至少一个正值和一个负值以计算内部收益率函数IRR根据数值EXCEL函数应用教程

第 66/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

的顺序来解释现金流的顺序故应确定按需要的顺序输入了支付和收入的数值如果数组或引用包含文本逻辑值或空白单元格这些数值将被忽略guess为对函数IRR计算结果的估计值excel使用迭代法计算函数IRR从guess开始函数IRR不断修正收益率直至结果的精度达到

在大多数情况0.00001%如果函数IRR经过20次迭代仍未找到结果则返回错误值#NUM

如果下并不需要为函数IRR的计算提供guess值如果省略guess假设它为0.110%

函数IRR返回错误值#NUM或结果没有靠近期望值可以给guess换一个值再试一下

例如如果要开办一家服装商店预计投资为110,000并预期为今后五年的净收益为15,00021,00028,00036,000和45,000分别求出投资两年四年以及五年后的内部收益率

图4

在工作表的B1B6输入数据\"函数.xls\"所示计算此项投资四年后的内部收益率IRRB1B5为-3.27%计算此项投资五年后的内部收益率IRRB1B6为8.35%;计算两年后的内部收益率时必须在函数中包含guess即IRRB1B3-10%为-48.96%

二 用RATE函数计算某项投资的实际赢利

在经济生活中经常要评估当前某项投资的运作情况或某个新企业的现状例如某承包人建议你贷给他30000元用作公共工程建设资金并同意每年付给你9000元共付五年以此作为这笔贷款的最低回报那么你如何去决策这笔投资如何知道这项投资的回报率呢对于这种周期性偿付或是一次偿付完的投资用RATE函数可以很快地计算出实际的赢利其语法形式为RATE(nper,pmt,pv,fv,type,guess)

具体操作步骤如下

1选取存放数据的单元格并按上述相似的方法把此单元格指定为\"百分数\"的格式

2插入函数RATE打开\"粘贴函数\"对话框

3在\"粘贴函数\"对话框中在\"Nper\"中输入偿还周期5(年),在\"Pmt\"中输入7000(每年的回报额)在\"Pv\"中输入30000(投资金额)即公式为=RATE(5,9000,-30000)

这就是本项投资的每年实际赢利你可以根据这个值判断这个4确定后计算结果为15.24

赢利是否满意或是决定投资其它项目或是重新谈判每年的回报

EXCEL函数应用教程

第 67/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

四债券及其他金融函数

债券及其他金融函数又可分为计算本金利息的函数与利息支付时间有关的函数与利率收益率有关的函数与修正期限有关的函数与有价证券有关的函数以及与证券价格表示有关的函数

1计算本金利息的函数--CUMPRINCACCRINTACCRINTMCUMIPMTCOUPNUM

2与利息支付时间有关的函数--COUPDAYBSCOUPDAYSCOUPDAYSNCCOUPNCDCOUPPCD

3 与利率收益率有关的函数--INTRATEODDFYIELDODDLYIELDTBILLEQTBILLPRICETBILLYIELDYIELDYIELDDISCYIELDMAT

4与修正期限有关的函数--DURATIONMDURATION

5与有价证券有关的函数--DISCODDFPRICEODDLPRICEPRICEPRICEDISCPRICEMATRECEIVED

6与证券价格表示有关的函数--DOLLARDEDOLLARFR

在债券及其他金融函数中笔者将重点介绍函数ACCRINTCUMPRINCDISC

一求定期付息有价证券的应计利息的函数ACCRINT

ACCRINT函数可以返回定期付息有价证券的应计利息

其语法形式为ACCRINT(issue,first_interest,settlement,rate,par,frequency,basis)

其中issue为有价证券的发行日first_interest为有价证券的起息日settlement为有价证券的成交日即在发行日之后有价证券卖给购买者的日期rate为有价证券的年息票利率par为有价证券的票面价值如果省略par函数ACCRINT就会自动将par设置为1000frequency为年付息次数basis为日计数基准类型

例如某国库券的交易情况为发行日为2008年3月1日起息日为2008年8月31日成交日为2008年5月1日息票利率为10.0%票面价值为1,000按半年期付息日计数基准为30/360那么应计利息为

EXCEL函数应用教程

第 68/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图5

求本金数额CUMPRINC

CUMPRINC函数用于返回一笔货款在给定的st到en期间累计偿还的本金数额其语法形式为CUMPRINC(rate,nper,pv,start_period,end_period,type) 其中rate为利率nper为总付款期数pv为现值start_period为计算中的首期付款期数从1开始计数end_period为计算中的末期type为付款时间类型

例如一笔住房抵押贷款的交易情况如下年利率为9.00%期限为30年现值为125000由上述已知条件可以计算出r=9.00%/12=0.0075np=30*12=360

图6

那么该笔贷款在第下半年偿还的全部本金之中第7期到第12期为 =CUMPRINC(A2/12,A3*12,A4,7,12,0)计算结果为-436.568194

该笔贷款在第一个月偿还的本金为=CUMPRINC(A2/12,A3*12,A4,1,1,0)计算结果为-68.27827118

三 求有价证券的贴现率DISC

DISC函数返回有价证券的贴现率

其语法形式为DISC(settlement,maturity,pr,redemption,basis) 其中settlement为有价证EXCEL函数应用教程

第 69/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

券的成交日即在发行日之后有价证券卖给购买者的日期maturity为有价证券的到日期到期日是有价证券有效期截止时的日期pr为面值为\"100\"的有价证券的价格redemption为面值为\"100\"的有价证券的清偿价格basis为日计数基准类型

例如某债券的交易情况如下成交日为99年3月18日到期日为99年8月7日价格为48.834清偿价格为52日计数基准为实际天数/360那么该债券的贴现率为 DISC(\"99/3/18\0.154355363

ACCRINT(issue,first_interest,

ACCRINT

返回定期付息有价证券的应计利息

settlement,rate,par,frequency, basis)

ACCRINTM

返回到期一次性付息有价证券的应计利息

ACCRINTM(issue,maturity,rate, par,basis)

AMORDEGRC(cost,date_purchased, first_period,salvage,period, rate,basis)

该函数为法国会计系统

AMORLINC(cost,date_purchased, first_period,salvage,period, rate,basis)

COUPDAYBS(settlement,maturity, frequency, basis)

COUPDAYS(settlement,maturity, frequency, basis)

COUPDAYSNC(settlement,maturity, frequency, basis)

COUPNCD(settlement,maturity, frequency, basis)

向上取整COUPNUM(settlement,maturity,

frequency, basis)

COUPPCD(settlement,maturity, frequency, basis)

CUMIPMT(rate,nper,pv,start_period, end_period,type)

CUMPRINC(rate,nper,pv,start_period, end_period,type)

DB(cost,salvage,life,period,month)

AMORDEGRC

返回每个会计期间的折旧值此函数是为法国会计系统提供的

AMORLINC

返回每个会计期间的折旧值提供

COUPDAYBS 返回当前付息期内截止到成交日的天数

COUPDAYS 返回成交日所在的付息期的天数

COUPDAYSNC 返回从成交日到下一付息日之间的天数

COUPNCD COUPNUM

返回成交日过后的下一付息日的日期

返回成交日和到期日之间的利息应付次数到最近的整数

COUPPCD 返回成交日之前的上一付息日的日期

CUMIPMT

返回一笔贷款在给定的 start-period 到 end-period 期间累计偿还的利息数额

CUMPRINC

返回一笔贷款在给定的 start-period 到 end-period 期间累计偿还的本金数额使用固定余额递减法折旧值

计算一笔资产

DB

计算一笔资产在给定期间内的

DDB DISC

使用双倍余额递减法或其他指定方法在给定期间内的折旧值返回有价证券的贴现率

DDB(cost,salvage,life,period,factor) DISC(settlement,maturity,pr,

EXCEL函数应用教程

第 70/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

redemption,basis)

DOLLARDE

将按分数表示的价格转换为按小数表示的价格券价格

转换为小数表示的数字

如证DOLLARDE(fractional_dollar,

fraction)

DOLLARFR(decimal_dollar, fraction) DURATION(settlement,maturity, coupon yld,frequency,basis)

DOLLARFR

将按小数表示的价格转换为按分数表示的价格如证券价格限

转换为分数型数字

返回假设面值 $100 的定期付息有价证券的修正期

DURATION 期限定义为一系列现金流现值的加权平均值

于计量债券价格对于收益率变化的敏感程度

EFFECT

利用给定的名义年利率和一年中的复利期次际年利率

计算实

EFFECT(nominal_rate,npery)

FV

基于固定利率及等额分期付款方式未来值

返回某项投资的

FV(rate,nper,pmt,pv,type)

FVSCHEDULE

基于一系列复利返回本金的未来值

函数 FVSCHDULE

FVSCHEDULE(principal,schedule)

用于计算某项投资在变动或可调利率下的未来值 返回一次性付息证券的利率

返回投资或贷款

INTRATE(settlement,maturity, investment,redemption,basis) IPMT(rate,per,nper,pv,fv,type) IRR(values,guess) ISPMT(rate,per,nper,pv)

INTRATE

IPMT IRR ISPMT MDURATION

基于固定利率及等额分期付款方式在某一给定期次内的利息偿还额

返回由数值代表的一组现金流的内部收益率计算特定投资期内要支付的利息

返回假设面值 $100 的有价证券的 Macauley 修正期MDURATION(settlement,maturity, 限

coupon,yld,frequency,basis) MIRR(values,finance_rate, reinvest_rate)

MIRR NOMINAL NPER NPV

返回某一连续期间内现金流的修正内部收益率

基于给定的实际利率和年复利期数返回名义年利率 NOMINAL(effect_rate,npery) 基于固定利率及等额分期付款方式返回某项投资或贷款正值

的总期数

负值

和收入

通过使用贴现率以及一系列未来支出

返回一项投资的净现值

NPER(rate, pmt, pv, fv, type) NPV(rate,value1,value2, ...) ODDFPRICE(settlement,maturity, issue,first_coupon,rate,yld, redemption, frequency,basis)

长期或短期的

ODDFYIELD(settlement,maturity, issue,first_coupon,rate,pr, redemption, frequency,basis) 长

ODDLPRICE(settlement,maturity, last_interest,rate,yld,redemption, frequency,basis)

长期或短期的ODDLYIELD(settlement,maturity,

ODDFPRICE

返回首期付息日不固定的面值 $100 的有价证券的价格

ODDFYIELD

返回首期付息日不固定的有价证券收益率

ODDLPRICE

返回末期付息日不固定的面值 $100 的有价证券期或短期

的价格

ODDLYIELD 返回末期付息日不固定的有价证券

EXCEL函数应用教程

第 71/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

收益率

last_interest,rate,pr,redemption, frequency,basis)

PMT

基于固定利率及等额分期付款方式付款额

返回投资在某一返回贷款的每期

PMT(rate,nper,pv,fv,type)

PPMT

基于固定利率及等额分期付款方式给定期间内的本金偿还额

PPMT(rate,per,nper,pv,fv,type) PRICE(settlement,maturity,

PRICE 返回定期付息的面值 $100 的有价证券的价格 rate,yld,redemption,frequency, basis)

PRICEDISC 返回折价发行的面值 $100 的有价证券的价格

PRICEDISC(settlement,maturity, discount,redemption,basis) PRICEMAT(settlement,maturity, issue,rate,yld,basis)

PRICEMAT 返回到期付息的面值 $100 的有价证券的价格返回投资的现值

现值为一系列未来付款的当前值的

借入方的借入款即为贷出方贷款的现PV(rate,nper,pmt,fv,type)

PV 累积和值

例如

RATE

返回年金的各期利率出

函数 RATE 通过迭代法计算得

并且可能无解或有多个解

RATE(nper,pmt,pv,fv,type,guess) RECEIVED(settlement,maturity, investment,discount,basis) SLN(cost,salvage,life) SYD(cost,salvage,life,per) TBILLEQ(settlement,maturity, discount)

RECEIVED SLN SYD

返回一次性付息的有价证券到期收回的金额返回某项资产在一个期间中的线性折旧值

返回某项资产按年限总和折旧法计算的指定期间的折旧值

TBILLEQ 返回国库券的等效收益率

TBILLPRICE TBILLYIELD

返回面值 $100 的国库券的价格返回国库券的收益率

TBILLPRICE(settlement,maturity, discount)

TBILLYIELD(settlement,maturity,pr)

返回指定的

使用双倍余额递减法或其他指定的方法

VDB

VDB(cost,salvage,life,start_period,

任何期间内包括部分期间的资产折旧值函数 VDB

end_period,factor,no_switch)

代表可变余额递减法 返回一组现金流的内部收益率

这些现金流不一定定

请XIRR(values,dates,guess)

期发生

若要计算一组定期现金流的内部收益率

这些现金流不一定定期发

请使用函数 XNPV(rate,values,dates)

XIRR

使用函数 IRR

返回一组现金流的净现值

XNPV

生NPV

YIELD YIELDDISC

若要计算一组定期现金流的净现值

返回定期付息有价证券的收益率函数 YIELD 用于计YIELD(settlement,maturity,rate, 算债券收益率

pr,redemption,frequency,basis) YIELDDISC(settlement,maturity,

返回折价发行的有价证券的年收益率

EXCEL函数应用教程

第 72/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

pr,redemption,basis)

YIELDMAT

返回到期付息的有价证券的年收益率

YIELDMAT(settlement,maturity, issue,rate,pr,basis)

Excel函数应用之信息函数

在Excel函数中有一类函数它们专门用来返回某些指定单元格或区域等的信息比如单元格的内容格式个数等这一类函数我们称为信息函数在本文中我们将对这一类函数做以概要性了解同时对于其中一些常用的函数及其参数的应用做出示例

一用于返回有关单元格格式位置或内容的信息的函数CELL

CELL函数用于返回某一引用区域的左上角单元格的格式位置或内容等信息其语法形式为CELL(info_type,reference) 其中Info_type为一个文本值指定所需要的单元格信息的类型Reference则表示要获取其有关信息的单元格如果忽略则在 info_type 中所指定的信息将返回给最后更改的单元格

首先看一下info_type 的可能值及相应的结果

类型

位置

格式

引用中第一个单元格的引用引用中单元格的列标引用中单元格的行号

文本类型

文本类型如果包含目标引用的工作

包含引用的文件名包括全部路径表尚未保存

则返回空文本 (\"\")

则为 1

否则返回 0

如果单元格中的负值以不同颜色显示如果单元格中负值以不同颜色显示()

-

与单元格中不同的数字格式相对应的文本值

如果单元格中为正值或所有单元格均加括号

下表列出不同格式的文本值则在文本值的结尾处返回

则在返回的文本值的结尾处加

则为 1

否则返回 0

如果单元格中为正值或全部单元格均加括号

与单元格中不同的

标志前缀

相对应的文本值如果单元格文本左对齐

则返回单引号 (')如果单元格文本右对齐则返回双引号 (\")如果单元格文本居中则返回插入字符 (^)如果单元格文本两端对齐则返回反斜线 (\\)

如果是其他情况

则返回空文本 (\"\")

如果单元格锁定

则为 1

如果单元格没有锁定则为 0

则返回

b则返

与单元格中的数据类型相对应的文本值如果单元格包含文本常量回

v

则返回

l

如果单元格为空

如果单元格包含其他内容

EXCEL函数应用教程

第 73/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

取整后的单元格的列宽引用中左上角单元格的值

列宽以默认字号的一个字符的宽度为单位不是公式

内容

再看一下当info_type 为\"format\"以及引用为用内置数字格式设置的单元格时函数 CELL 返回文本值的情况

图1

函数CELL主要用于与其他电子表格程序兼容在随后的示例中我们来学习一下如何使用CELL函数来获取单元格的格式位置及内容的信息

例想要获知单元格A1到B4区域内比如行号列宽单元格内容等信息

EXCEL函数应用教程

第 74/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图2

二用于计算区域内空白单元格的个数COUNTBLANK

COUNTBLANK用于计算指定单元格区域中空白单元格的个数其语法形式为COUNTBLANK(range) 其中Range为需要计算其中空白单元格个数的区域需要注意的是

即使单元格中含有返回值为空文本 (\"\")的公式该单元格也会计算在内但包含零值的单元格不计算在内

在如图所示的例子中单元格B3包括公式=IF(A330,\"\但该公式计算返回的值为空文本\"\"所以该单元格被计算为空单元格而单元格A3为零值的单元格不计作空单元格

试比较图3-A与图3-B的结果的区别两者的差别在于图3-B中单元格B3的公式为=IF(A330,\"\计算后返回的结果为0因此不计作空单元格

EXCEL函数应用教程

第 75/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图3A

图3B

三返回对应于错误类型的数字的函数ERROR.TYPE

ERROR.TYPE返回对应于 Microsoft Excel 中某一错误值的数字或者如果没有错误则返回 #N/A语法形式为ERROR.TYPE(error_val) 其中Error_val为需要得到其标号的一个错误值尽管 error_val 可以为实际的错误值但它通常为一个单元格引用而此单元格中包含需要检测的公式以下即为error_val的函数返回结果

图4

还记得逻辑函数IF吗在函数 IF 中可以使用 ERROR.TYPE 检测错误值如消息来取代错误值具体参看示例

EXCEL函数应用教程

第 76/89 页

并返回文本字符串

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图5

四返回有关当前操作环境的信息的函数INFO

INFO函数用于返回有关当前操作环境的信息其语法形式为INFO(type_text) 其中Type_text为文本指明所要返回的信息类型关于Type_text所返回的具体结果参看下表

Type_text

当前目录或文件夹的路径 可用的内存空间 数据占用的内存空间

A1-样式的绝对引用格

返回

$A:

与 Lotus 1-2-3 的

以字节为单位

文本形式

加上前缀

打开的工作簿中活动工作表的数目

3.x 版兼容以当前滚动位置为基准返回窗口中可见的最右上角的单元

文本值返回

自动

当前操作系统的版本号

当前的重新计算方式操作系统名称全部内存空间

手动

Microsoft Excel 的版本号

文本值

以字节为单位

Macintosh = \"mac\" Windows = \"pcdos\" 包括已经占用的内存空间

举例说明如何利用INFO函数获知当前操作环境的信息

EXCEL函数应用教程

第 77/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图6

五用来检验数值或引用类型的函数--IS类函数

IS类函数是指用来检验数值或引用类型的工作表函数在Excel中一共有九个此类函数就几个函数包括

1ISBLANK 如果值为空则返回 TRUE

2ISERR 如果值为除 #N/A 以外的任何错误值则返回 TRUE

3ISERROR 如果值为任何错误值则返回 TRUE

4ISLOGICAL 如果值为逻辑值则返回 TRUE

5ISNA 如果值为 #N/A 错误值则返回 TRUE

6ISNONTEXT 如果值不是文本则返回 TRUE

7ISNUMBER 如果值为数字则返回 TRUE

8ISREF 如果值为引用则返回 TRUE

9ISTEXT 如果值为文本则返回 TRUE

这些函数概括为 IS 类函数可以检验数值的类型并根据参数取值返回 TRUE 或 FALSE例如如果数值为对空白单元格的引用函数 ISBLANK 返回逻辑值 TRUE否则返回 FALSE其语法形式为 函数名value其中Value为需要进行检验的数值针对不同的IS类函数分别为空白空白单元格错误值逻辑值文本数字引用值或对于以上任意参数的名称引用

需要说明的是IS 类函数的参数 value 是不可转换的例如在其他大多数需要数字的函数中文本值\"19\"会被转换成数字 19然而在公式 ISNUMBER(\"19\") 中\"19\"并不由文本值转换成别的类型的值函数 ISNUMBER 返回 FALSE IS 类函数主要用于检验公式计算结果当它与函数 IF 结合在一起使用时可以提供一种方法用来在公式中查出错误值

EXCEL函数应用教程

第 78/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图7

六检验参数奇偶性的函数ISEVEN与ISODD

ISEVEN与ISODD为检验参数奇偶性的函数其中ISEVEN是当参数 number 为偶数时返回 TRUE否则返回 FALSE而ISODD则恰恰相反如果参数 number 为奇数返回 TRUE否则返回 FALSE

关于这两个函数的具体用法请参看示例

图8

七返回转化为数值后的值得函数N

函数N为返回转化为数值后的值其语法形式为N(value) 其中Value为要转化的值函数 N 可以转化下表列出的值

EXCEL函数应用教程

第 79/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图9

需要注意的是一般情况下不必在公式中使用函数 N因为 Excel 将根据需要自动对值进行转换提供此函数是为了与其他电子表格程序兼容Microsoft Excel 可将日期存储为可用于计算的序列号默认情况下1900 年 1 月 1 日的序列号是 1 而 2008 年 1 月 1 日的序列号是 39448这是因为它距 1900 年 1 月 1 日有 39448 天而Excel for the Macintosh 使用另外一个默认日期系统

关于函数N的具体用法可从以下示例中更详细地了解

图10

返回错误值#N/A的函数NA

EXCEL函数应用教程

第 80/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

NA函数用于返回错误值 #N/A错误值 #N/A 表示\"无法得到有效值\"建议使用 NA 标志空白单元格在没有内容的单元格中输入 #N/A可以避免不小心将空白单元格计算在内而产生的问题当公式引用到含有 #N/A 的单元格时会返回错误值 #N/A

其语法形式为NA( )

需注意的是在函数名后面必须包括圆括号否则Microsoft Excel 无法识别该函数也可直接在单元格中键入 #N/A提供 NA 函数是为了与其他电子表格程序兼容

九返回数值的类型的函数TYPE

函数TYPE可用来返回数值的类型当某一个函数的计算结果取决于特定单元格中数值的类型时可使用函数 TYPE其语法形式为TYPE(value) 其中Value可以为任意 Microsoft Excel 数值如数字文本以及逻辑值等等

要说明的是当使用能接受不同类型数据的函数例如函数 ARGUMENT 和函数 INPUT时函数 TYPE 十分有用可以使用函数 TYPE 来查找函数或公式所返回的数据是何种类型可以使用 TYPE 来确定单元格中是否含有公式TYPE 仅确定结果显示或值的类型如果某个值是一个单元格引用它所引用的另一个单元格中含有公式则 TYPE 将返回此公式结果值的类型

图11

以上我们对Excel函数的信息函数做了大致的了解信息函数是用来返回某些指定单元格或区域等的信息比如单元格的内容格式个数等的一类函数在实际应用中通常是与逻辑函数IF等配合使用来达到对单元格信息的确定

Excel函数应用之数据库函数

在Microsoft Excel 中包含了一些工作表函数它们用于对存储在数据清单或数据库中的数据进行分析这些函数统称为数据库函数Dfunctions

一函数的共同特点

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

EXCEL函数应用教程

第 81/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

1每个函数均有三个参数databasefield 和 criteria这些参数指向函数所使用的工作表区域

2除了GETPIVOTDATA函数之外其余十二个函数都以字母D开头

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

二数据库函数列表

在Excel包含的数据库函数及其应用为

图1

数据库函数的参数含义

由于数据库函数具有相同的三个参数因此笔者将首先介绍一下该类函数的几个参数然后再以具体示例来说明数据库函数的应用方法

该类函数的语法形式为 函数名称(database,field,criteria)

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

Field为指定函数所使用的数据列数据清单中的数据列必须在第一行具有标志项Field 可以

此外Field 也可以是代表数是文本即两端带引号的标志项如使用年数或产量

据清单中数据列位置的数字1 表示第一列2 表示第二列等等 EXCEL函数应用教程

第 82/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

Criteria为一组包含给定条件的单元格区域可以为参数 criteria 指定任意区域少包含一个列标志和列标志下方用于设定条件的单元格

四举例说明

1例某果园的果树的高度使用年数产量与利润的统计数据表如图所示

只要它至

图2

希望求出

1 有多少种苹果树的树高在10~16英尺之间

2 苹果树与梨树的最大利润值是多少

3 高度大于 10 英尺的苹果树的最小利润是多少

4 苹果树的总利润

5 高度大于 10 英尺的苹果树的平均产量

6 果园中所有树种的平均使用年数

7 求苹果树和梨树产量的估算标准偏差真实标准偏差

2求解步骤

1 创建空白工作簿或工作表将数据录入Excel中

估算方差真实方差

EXCEL函数应用教程

第 83/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图3

2 由于第一问需要求解有多少种苹果树的树高在10~16英尺之间在10与16之间

因此建立查询条件高度

图4

3 利用函数DCOUNT求解满足条件的单元格数来计算高度在10~16英尺的苹果树的种类公式为DCOUNT(A4:E10,\"使用年数\求出有一种苹果树满足条件

4 由于第二问为求苹果树与梨树的最大利润值因此再建立一个查询条件梨树如图

图5

5 利用函数DMAX求出苹果树与梨树的最大利润同理可以利用函数DMIN求出高度大于10英尺苹果树的最小利润具体公式为

=DMAX(A4:E10,\"利润\105

EXCEL函数应用教程

第 84/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

=DMIN(A4:E10,\"利润\10英尺苹果树的最小利润为75

6 利用函数DSUM可以求出所有苹果树的总利润

公式为=DSUM(A4:E10,\"利润\225

7 其他各问均可采用类似的函数求解详细的公式如图所示

EXCEL函数应用教程

第 85/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图6

五需要注意的地方

1可以为参数 criteria 指定任意区域只要它至少包含一个列标志和列标志下方用于设定条EXCEL函数应用教程

第 86/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

件的单元格

例如如果区域 A1:A2 在 A1 中包含列标志树种在A2中包含名称苹果树可将此区域命名为苹果树树种那么在数据库函数中就可使用该名称作为参数 criteria

2虽然条件区域可以在工作表的任意位置但不要将条件区域置于数据清单的下方因为如果使用数据菜单中的记录单命令在数据清单中添加信息新的信息将被添加在数据清单下方的第一行上如果数据清单下方的行非空Microsoft Excel 将无法添加新的信息

3确定条件区域没有与数据清单相重叠

4若要对数据库的整个列进行操作需要在条件区域中的列标志下方输入一个空白行

六关于条件的建立

在上面的示例中我们简单介绍了条件区域的建立在这里详细介绍有关在Excel中利用高级条件进行数据筛选的方法

1 有关概念

条件是指所指定的限制查询或筛选的结果集中包含哪些记录的条件例如上面示例中条件选择高度字段的值大于10的记录高度>10

清单是指包含相关数据的一系列工作表行例如发票数据库或一组客户名称和电话号码清单的第一行具有列标志

2 建立条件区域的基本要求

1在可用作条件区域的数据清单上插入至少三个空白行

2条件区域必须具有列标志

3请确保在条件值与数据清单之间至少留了一个空白行

如在上面的示例中A1:F3就是一个条件区域其中第一行为列标志如树种高度

3 筛选条件的建立

在列标志下面的一行中键入所要匹配的条件所有以该文本开始的项都将被筛选例如如

Excel 将查找DavolioDavid和Davis果您键入文本Dav作为条件Microsoft

如果只匹配指定的文本可键入公式=''=text''其中text是需要查找的文本如果要查找某些字符相同但其他字符不一定相同的文本值则可使用通配符Excel中支持的通配符为

EXCEL函数应用教程

第 87/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

图7

4 1

几种不同条件的建立 单列上具有多个条件

如果对于某一列具有两个或多个筛选条件那么可直接在各行中从上到下依次键入各个条件例如上面示例的条件区域显示树种列中包含苹果树或梨树的行

2多列上具有单个条件

若要在两列或多列中查找满足单个条件的数据请在条件区域的同一行中输入所有条件例如下面示例的条件区域显示所有在高度列中大于10且产量大于10的数据行

图8

3

某一列或另一列上具有单个条件

若要找到满足一列条件或另一列条件的数据请在条件区域的不同行中输入条件例如上面示例的条件区域显示所有在高度列中大于10的数据行

4两列上具有两组条件之一

若要找到满足两组条件每一组条件都包含针对多列的条件之一的数据行请在各行中键入EXCEL函数应用教程

第 88/89 页

01/22/2005

http://www.cfosky.com C F O 联 盟 小辰工作室整理

条件例如下面的条件区域将显示所有在树种列中包含苹果树数据行同时也显示樱桃树的使用年数大于10年的行

高度

大于10的

图9

5

一列有两组以上条件

若要找到满足两组以上条件的行请用相同的列标包括多列例如上面示例的条件区域显示介于10和16之间的高度

6将公式结果用作条件

Excel中可以将公式公式单元格中的一系列值单元格引用名称或运算符的组合可生成

的计算结果作为条件使用用公式创建条件时不要将新的值公式总是以等号 (=) 开始

列标志作为条件标记使用应该将条件标记置空或者使用清单中非列标志的标记例如下

其值大于单元格区域 C7:C10 平均值的行面的条件区域显示在列 C 中

=C7>AVERAGE($C$7:$C$10)

高度或者引用需要注意的是用作条件的公式必须使用相对引用来引用列标志例如

第一个记录的对应字段公式中的所有其他引用都必须是绝对引用并且公式必须计算出结果 TRUE 或 FALSE在本公式示例中C7 引用了数据清单中第一个记录行 7的字段列 C

Excel 在当然也可以在公式中使用列标志来代替相对的单元格引用或区域名称当 Microsoft

包含条件的单元格中显示错误值 #NAME? 或 #VALUE! 时您可以忽略这些错误因为它们不影响列表的筛选

此外Microsoft Excel 在计算数据时不区分大小写

EXCEL函数应用教程

第 89/89 页

01/22/2005

因篇幅问题不能全部显示,请点此查看更多更全内容

Top