首页  ·  知识 ·  
Excel2003函数应用完全手册
佚名  本站原创    编辑:dezai  图片来源:网络
一、函数应用基础  1.函数和公式  (1)什么是函数  Excel函数即是预先定义,执行计算、分析等处理数据任务的特殊公式。以常用的求和函数SU

一、函数应用基础
  1.函数和公式
  (1)什么是函数
  Excel函数即是预先定义,执行计算、分析等处理数据任务的特殊公式。以常用的求和函数SUM为例,它的语法是“SUM(number1,number2,......)”。其中“SUM”称为函数名称,一个函数只有唯一的一个名称,它决定了函数的功能和用途。函数名称后紧跟左括号,接着是用逗号分隔的称为参数的内容,最后用一个右括号表示函数结束。
  参数是函数中最复杂的组成部分,它规定了函数的运算对象、顺序或结构等。使得用户可以对某个单元格或区域进行处理,如分析存款利息、确定成绩名次、计算三角函数值等。
  按照函数的来源,Excel函数可以分为内置函数和扩展函数两大类。前者只要启动了Excel,用户就可以使用它们;而后者必须通过单击“工具→加载宏”菜单命令加载,然后才能像内置函数那样使用。
  (2)什么是公式
  函数与公式既有区别又互相联系。如果说前者是Excel预先定义好的特殊公式,后者就是由用户自行设计对工作表进行计算和处理的公式。以公式“=SUM(E1:H1)*A1+26”为例,它要以等号“=”开始,其内部可以包括函数、引用、运算符和常量。上式中的“SUM(E1:H1)”是函数,“A1”则是对单元格A1的引用(使用其中存储的数据),“26”则是常量,“*”和“+”则是算术运算符(另外还有比较运算符、文本运算符和引用运算符)。
  如果函数要以公式的形式出现,它必须有两个组成部分,一个是函数名称前面的等号,另一个则是函数本身。
  2.函数的参数
  函数右边括号中的部分称为参数,假如一个函数可以使用多个参数,那么参数与参数之间使用半角逗号进行分隔。参数可以是常量(数字和文本)、逻辑值(例如TRUE或FALSE)、数组、错误值(例如#N/A)或单元格引用(例如E1:H1),甚至可以是另一个或几个函数等。参数的类型和位置必须满足函数语法的要求,否则将返回错误信息。
  (1)常量
  常量是直接输入到单元格或公式中的数字或文本,或由名称所代表的数字或文本值,例如数字“2890.56”、日期“2003-8-19”和文本“黎明”都是常量。但是公式或由公式计算出的结果都不是常量,因为只要公式的参数发生了变化,它自身或计算出来的结果就会发生变化。
  (2)逻辑值
  逻辑值是比较特殊的一类参数,它只有TRUE(真)或FALSE(假)两种类型。例如在公式“=IF(A3=0,"",A2/A3)”中,“A3=0”就是一个可以返回TRUE(真)或FALSE(假)两种结果的参数。当“A3=0”为TRUE(真)时在公式所在单元格中填入“0”,否则在单元格中填入“A2/A3”的计算结果。
  (3)数组
  数组用于可产生多个结果,或可以对存放在行和列中的一组参数进行计算的公式。Excel中有常量和区域两类数组。前者放在“{}”(按下Ctrl+Shift+Enter组合键自动生成)内部,而且内部各列的数值要用逗号“,”隔开,各行的数值要用分号“;”隔开。假如你要表示第1行中的56、78、89和第2行中的90、76、80,就应该建立一个2行3列的常量数组“{56,78,89;90,76,80}。
  区域数组是一个矩形的单元格区域,该区域中的单元格共用一个公式。例如公式“=TREND(B1:B3,A1:A3)”作为数组公式使用时,它所引用的矩形单元格区域“B1:B3,A1:A3”就是一个区域数组。
  (4)错误值
  使用错误值作为参数的主要是信息函数,例如“ERROR.TYPE”函数就是以错误值作为参数。它的语法为“ERROR.TYPE(error_val)”,如果其中的参数是#NUM!,则返回数值“6”。
  (5)单元格引用
  单元格引用是函数中最常见的参数,引用的目的在于标识工作表单元格或单元格区域,并指明公式或函数所使用的数据的位置,便于它们使用工作表各处的数据,或者在多个函数中使用同一个单元格的数据。还可以引用同一工作簿不同工作表的单元格,甚至引用其他工作簿中的数据。
  根据公式所在单元格的位置发生变化时,单元格引用的变化情况,我们可以引用分为相对引用、绝对引用和混合引用三种类型。以存放在F2单元格中的公式“=SUM(A2:E2)”为例,当公式由F2单元格复制到F3单元格以后,公式中的引用也会变化为“=SUM(A3:E3)”。若公式自F列向下继续复制,“行标”每增加1行,公式中的行标也自动加1。
  如果上述公式改为“=SUM($A $3:$E $3)”,则无论公式复制到何处,其引用的位置始终是“A3:E3”区域。
  混合引用有“绝对列和相对行”,或是“绝对行和相对列”两种形式。前者如“=SUM($A3:$E3)”,后者如“=SUM(A$3:E$3)”。
  上面的几个实例引用的都是同一工作表中的数据,如果要分析同一工作簿中多张工作表上的数据,就要使用三维引用。假如公式放在工作表Sheet1的C6单元格,要引用工作表Sheet2的“A1:A6”和Sheet3的“B2:B9”区域进行求和运算,则公式中的引用形式为“=SUM(Sheet2!A1:A6,Sheet3!B2:B9)”。也就是说三维引用中不仅包含单元格或区域引用,还要在前面加上带“!”的工作表名称。
  假如你要引用的数据来自另一个工作簿,如工作簿Book1中的SUM函数要绝对引用工作簿Book2中的数据,其公式为“=SUM([Book2]Sheet1! SA S1: SA S8,[Book2]Sheet2! SB S1: SB S9)”,也就是在原来单元格引用的前面加上“[Book2]Sheet1!”。放在中括号里面的是工作簿名称,带“!”的则是其中的工作表名称。即是跨工作簿引用单元格或区域时,引用对象的前面必须用“!”作为工作表分隔符,再用中括号作为工作簿分隔符。不过三维引用的要受到较多的限制,例如不能使用数组公式等。
  提示:上面介绍的是Excel默认的引用方式,称为“A1引用样式”。如果你要计算处在“宏”内的行和列,必须使用“R1C1引用样式”。在这种引用样式中,Excel使用“R”加“行标”和“C”加“列标”的方法指示单元格位置。启用或关闭R1C1引用样式必须单击“工具→选项”菜单命令,打开对话框的“常规”选项卡,选中或清除“设置”下的“R1C1引用样式”选项。由于这种引用样式很少使用,限于篇幅本文不做进一步介绍。
  (6)嵌套函数
  除了上面介绍的情况外,函数也可以是嵌套的,即一个函数是另一个函数的参数,例如“=IF(OR(RIGHTB(E2,1)="1",RIGHTB(E2,1)="3",RIGHTB(E2,1)="5",RIGHTB(E2,1)="7",RIGHTB(E2,1)="9"),"男","女")”。其中公式中的IF函数使用了嵌套的RIGHTB函数,并将后者返回的结果作为IF的逻辑判断依据。
  (7)名称和标志
  为了更加直观地标识单元格或单元格区域,我们可以给它们赋予一个名称,从而在公式或函数中直接引用。例如“B2:B46”区域存放着学生的物理成绩,求解平均分的公式一般是“=AVERAGE(B2:B46)”。在给B2:B46区域命名为“物理分数”以后,该公式就可以变为“=AVERAGE(物理分数)”,从而使公式变得更加直观。
  给一个单元格或区域命名的方法是:选中要命名的单元格或单元格区域,鼠标单击编辑栏顶端的“名称框”,在其中输入名称后回车。也可以选中要命名的单元格或单元格区域,单击“插入→名称→定义”菜单命令,在打开的“定义名称”对话框中输入名称后确定即可。如果你要删除已经命名的区域,可以按相同方法打开“定义名称”对话框,选中你要删除的名称删除即可。
  由于Excel工作表多数带有“列标志”。例如一张成绩统计表的首行通常带有“序号”、“姓名”、“数学”、“物理”等“列标志”(也可以称为字段),如果单击“工具→选项”菜单命令,在打开的对话框中单击“重新计算”选项卡,选中“工作簿选项”选项组中的“接受公式标志”选项,公式就可以直接引用“列标志”了。例如“B2:B46”区域存放着学生的物理成绩,而B1单元格已经输入了“物理”字样,则求物理平均分的公式可以写成“=AVERAGE(物理)”。
  需要特别说明的是,创建好的名称可以被所有工作表引用,而且引用时不需要在名称前面添加工作表名(这就是使用名称的主要优点),因此名称引用实际上是一种绝对引用。但是公式引用“列标志”时的限制较多,它只能在当前数据列的下方引用,不能跨越工作表引用,但是引用“列标志”的公式在一定条件下可以复制。从本质上讲,名称和标志都是单元格引用的一种方式。因为它们不是文本,使用时名称和标志都不能添加引号。

3.函数输入方法
  对Excel公式而言,函数是其中的主要组成部分,因此公式输入可以归结为函数输入的问题。
  (1)“插入函数”对话框
  “插入函数”对话框是Excel输入公式的重要工具,以公式“=SUM(Sheet2!A1:A6,Sheet3!B2:B9)”为例,Excel输入该公式的具体过程是:
  首先选中存放计算结果(即需要应用公式)的单元格,单击编辑栏(或工具栏)中的“fx”按钮,则表示公式开始的“=”出现在单元格和编辑栏,然后在打开的“插入函数”对话框中的“选择函数”列表找到“SUM”函数。如果你需要的函数不在里面,可以打开“或选择类别”下拉列表进行选择。最后单击“确定”按钮,打开“函数参数”对话框。
  对SUM函数而言,它可以使用从number1开始直到number30共30个参数。对上面的公式来说,首先应当把光标放在对话框的“number1”框中,单击工作簿中的“Sheet2!”工作表标签,“Sheet2!”即可自动进入其中,接着鼠标拖动选中你要引用的区域即可。接着用鼠标单击对话框的“number2”框,单击工作簿中的“Sheet3!”工作表标签,其名称“Sheet3!”即可自动进入其中,再按相同方法选择要引用的单元格区域即可。
  上述方法的最大优点就是引用的区域很准确,特别是三维引用时不容易发生工作表或工作簿名称输入错误的问题。
  (2)编辑栏输入
  如果你要套用某个现成公式,或者输入一些嵌套关系复杂的公式,利用编辑栏输入更加快捷。
  首先选中存放计算结果的单元格;鼠标单击Excel编辑栏,按照公式的组成顺序依次输入各个部分,公式输入完毕后,单击编辑栏中的“输入”(即“√”)按钮(或回车)即可。
  手工输入时同样可以采取上面介绍的方法引用区域,以公式“=SUM(Sheet2!A1:A6,Sheet3!B2:B9)”为例,你可以先在编辑栏中输入“=SUM()”,然后将光标插入括号中间,再按上面介绍的方法操作就可以引用输入公式了。但是分隔引用之间的逗号必须用手工输入,而不能像“插入函数”对话框那样自动添加。
  二、函数速查一览
  (一)数据库函数
  1.DAVERAGE
  用途:返回数据库或数据清单中满足指定条件的列中数值的平均值。
  语法:DAVERAGE(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  2.DCOUNT
  用途:返回数据库或数据清单的指定字段中,满足给定条件并且包含数字的单元格数目。
  语法:DCOUNT(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  3.DCOUNTA
  用途:返回数据库或数据清单指定字段中满足给定条件的非空单元格数目。
  语法:DCOUNTA(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  4.DGET
  用途:从数据清单或数据库中提取符合指定条件的单个值。
  语法:DGET(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  5.DMAX
  用途:返回数据清单或数据库的指定列中,满足给定条件单元格中的最大数值。
  语法:DMAX(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  6.DMIN
  用途:返回数据清单或数据库的指定列中满足给定条件的单元格中的最小数字。
  语法:DMIN(database,field,criteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  7.DPRODUCT
  用途:返回数据清单或数据库的指定列中,满足给定条件单元格中数值乘积。
  语法:DPRODUCT(database,field,criteria)
  参数:同上
  8.DSTDEV
  用途:将列表或数据库的列中满足指定条件的数字作为一个样本,估算样本总体的标准偏差。
  语法:DSTDEV(database,field,criteria)
  参数:同上
  9.DSTDEVP
  参数:将数据清单或数据库的指定列中,满足给定条件单元格中的数字作为样本总体,计算总体的标准偏差。
  语法:DSTDEVP(database,field,criteria)
  参数:同上
  10.DSUM
  用途:返回数据清单或数据库的指定列中,满足给定条件单元格中的数字之和。
  语法:DSUM(database,field,criteria)
  参数:同上
  11.DVAR
  用途:将数据清单或数据库的指定列中满足给定条件单元格中的数字作为一个样本,估算样本总体的方差。
  语法:DVAR(database,field,criteria)
  参数:同上
  12.DVARP
  用途:将数据清单或数据库的指定列中满足给定条件单元格中的数字作为样本总体,计算总体的方差。
  语法:DVARP(database,field,criteria)
  参数:同上
  13.GETPIVOTDATA
  用途:返回存储在数据透视表报表中的数据。如果报表中的汇总数据可见,则可以使用函数GETPIVOTDATA从数据透视表报表中检索汇总数据。
  语法:GETPIVOTDATA(pivot_table,name)
  参数:Data_field为包含要检索的数据的数据字段的名称(放在引号中)。Pivot_table在数据透视表中对任何单元格、单元格区域或定义的单元格区域的引用,该信息用于决定哪个数据数据透视表包含要检索的数据。Field1,Item1,Field2,Item2为1到14对用于描述检索数据的字段名和项名称,可以任意次序排列。
(二)日期与时间函数
  1.DATE
  用途:返回代表特定日期的序列号。
  语法:DATE(year,month,day)
  参数:year为一到四位,根据使用的日期系统解释该参数。默认情况下,Excel for Windows使用1900日期系统,而Excel for Macintosh使用1904日期系统。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。Day代表在该月份中第几天的数字。如果 day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加。
  注意:Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。
  实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2001,1,1)”返回36892。
  2.DATEVALUE
  用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。
  语法:DATEVALUE(date_text)
  参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVALUE返回错误值#VALUE!。
  如果省略参数date_text中的年代,则函数DATEVALUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。
  实例:公式“=DATEVALUE("2001/3/5")”返回36955,DATEVALUE("2-26")返回36948。
  3.DAY
  用途:返回用序列号(整数1到31)表示的某日期的天数,用整数 1 到 31 表示。
  语法:DAY(serial_number)
  参数:Serial_number是要查找的天数日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统的35825表示 的1998年1月30日),以及其他公式或函数的结果(如DATEVALUE("1998/1/30"))。
  实例:公式“=DAY("2001/1/27")”返回27,=DAY(35825)返回30,=DAY(DATEVALUE("2001/1/25"))返回25。
  4.DAYS360
  用途:按照一年360天的算法(每个月30天,一年共计12 个月),返回两日期间相差的天数。
  语法:DAYS360(start_date,end_date,method)
  参数:Start_date和end_date是用于计算期间天数的起止日期。如果start_date在end_date之后,则DAYS360将返回一个负数。日期可以有多种输入方式:带引号的文本串(例如:"1998/01/30")、序列号(例如:如果使用1900日期系统,则35825表示1998年1月30日)或其他公式或函数的结果(例如,DATEVALUE("1998/1/30"))。
  Method是一个逻辑值,它指定了在计算中是采用欧洲方法还是美国方法。若为FALSE或忽略,则采用美国方法(如果起始日期是一个月的31日,则等于同月的30日。如果终止日期是一个月的31日,并且起始日期早于30日,则终止日期等于下一个月的1日,否则,终止日期等于本月的30日)。 若为TRUE则采用欧洲方法(无论是起始日期还是终止日期为一个月的 31 号,都将等于本月的 30 号)。
  实例:公式“=DAYS360("1998/2/1","2001/2-1")”返回1080。
  5.EDATE
  用途:返回指定日期(start_date)之前或之后指定月份的日期序列号。
  语法:EDATE(start_date,months)
  参数:Start_date参数代表开始日期,它有多种输入方式:带引号的文本串(例如:"1998/01/30")、序列号(如35825表示1998年1月30日)或其他公式或函数的结果(例如:DATEVALUE("1998/1/30"))。Months 为在start_date之前或之后的月份数,未来日期用正数表示,过去日期用负数表示。
  实例:公式“=EDATE("2001/3/5",2)”返回37016即2001年5月5日,=EDATE("2001/3/5",-6)返回36774即2000年9月5日。
  6.EOMONTH
  用途:返回start-date之前或之后指定月份中最后一天的序列号。
  语法:EOMONTH(start_date,months)
  参数:Start_date参数代表开始日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统中的35825)或其他公式或函数的结果(如DATEVALUE("1998/1/30"))。Month为start_date之前或之后的月份数,正数表示未来日期,负数表示过去日期。
  实例:公式“=EOMONTH("2001/01/01",2)”返回36981即2001年3月31日,=EOMONTH("2001/01/01",-6)返回36738即2000年7月31日。
  7.HOUR
  用途:返回时间值的小时数。即介于0(12:00 A.M.)到23(11:00 P.M.) 之间的一个整数。
  语法:HOUR(serial_number)
  参数:Serial_number表示一个时间值,其中包含着要返回的小时数。它有多种输入方式:带引号的文本串(如"6:45 PM")、十进制数(如0.78125 表示6:45PM)或其他公式或函数的结果(如TIMEVALUE("6:45 PM"))。
  实例:公式“=HOUR("3:30:30 PM")”返回15,=HOUR(0.5)返回12即12:00:00 AM,=HOUR(29747.7)返回16。
  8.MINUTE
  用途:返回时间值中的分钟,即介于0到59之间的一个整数。
  语法:MINUTE(serial_number)
  参数:Serial_number是一个时间值,其中包含着要查找的分钟数。时间有多种输入方式:带引号的文本串(如"6:45 PM")、十进制数(如 0.78125表示6:45 PM)或其他公式或函数的结果(如TIMEVALUE("6:45 PM"))。
  实例:公式“=MINUTE("15:30:00")”返回30,=MINUTE(0.06)返回26,=MINUTE(TIMEVALUE("9:45 PM"))返回45。
  9.MONTH
  用途:返回以序列号表示的日期中的月份,它是介于 1(一月)和12(十二月)之间的整数。
  语法:MONTH(serial_number)
  参数:Serial_number表示一个日期值,其中包含着要查找的月份。日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如表示1998年1月30日的35825)或其他公式或函数的结果(如DATEVALUE("1998/1/30"))等。
  实例:公式“=MONTH("2001/02/24")”返回2,=MONTH(35825)返回1,=MONTH(DATEVALUE("2000/6/30"))返回6。
  10.NETWORKDAYS
  用途:返回参数start-data和end-data之间完整的工作日(不包括周末和专门指定的假期)数值。
  语法:NETWORKDAYS(start_date,end_date,holidays)
  参数:Start_date代表开始日期,End_date代表终止日;Holidays是表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。此数据清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。
  函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如使用1900日期系统的35825)或其他公式或函数的结果(如 DATEVALUE("1998/1/30"))。
  注意:该函数只有加载“分析工具库”以后方能使用。
  11.NOW
  用途:返回当前日期和时间所对应的序列号。
  语法:NOW()
  参数:无
  实例:如果正在使用的是1900日期系统,而且计算机的内部时钟为 2001-1-28 12:53,则公式“=NOW()”返回36919.54。
  12.SECOND
  用途:返回时间值的秒数(为0至59之间的一个整数)。
  语法:SECOND(serial_number)
  参数:Serial_number表示一个时间值,其中包含要查找的秒数。关于时间的输入方式见上文的有关内容。
  实例:公式“=SECOND("3:30:26 PM")”返回26,=SECOND(0.016)返回2。
  13.TIME
  用途:返回某一特定时间的小数值,它返回的小数值从0到 0.99999999之间,代表0:00:00(12:00:00 A.M)到23:59:59(11:59:59 P.M) 之间的时间。
  语法:TIME(hour,minute,second)
  参数:Hour是0到23之间的数,代表小时;Minute是0到59之间的数,代表分;Second是0到59之间的数,代表秒。
  实例:公式“=TIME(12,10,30)”返回序列号0.51,等价于12:10:30 PM。=TIME(9,30,10)返回序列号0.40,等价于9:30:10 AM。=TEXT(TIME(23,18,14),"h:mm:ss AM/PM")返回“11:18:14 PM”。
  14.TIMEVALUE
  用途:返回用文本串表示的时间小数值。该小数值为从 0 到 0.999999999 的数值,代表从 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 PM) 之间的时间。
  语法:TIMEVALUE(time_text)
  参数:Time_text是一个用Excel 时间格式表示时间的文本串(如"6:45 PM"和"18:45"等)。
  实例:公式“=TIMEVALUE("3:30 AM")”返回0.145833333,=TIMEVALUE("2001/1/26 6:35 AM")返回0.274305556。
15.TODAY
  用途:返回系统当前日期的序列号。
  参数:无
  语法:TODAY()
  实例:公式“=TODAY()”返回2001-8-28(执行公式时的系统时间)。
  16.WEEKDAY
  用途:返回某日期的星期数。在默认情况下,它的值为1(星期天)到7(星期六)之间的一个整数。
  语法:WEEKDAY(serial_number,return_type)
  参数:Serial_number是要返回日期数的日期,它有多种输入方式:带引号的文本串(如"2001/02/26")、序列号(如35825表示1998年1月30日)或其他公式或函数的结果(如DATEVALUE("2000/1/30"))。Return_type为确定返回值类型的数字,数字1或省略则1至7代表星期天到数星期六,数字2则1至7代表星期一到星期天,数字3则0至6代表星期一到星期天。
  实例:公式“=WEEKDAY("2001/8/28",2)”返回2(星期二),=WEEKDAY("2003/02/23",3)返回6(星期日)。
  17.WEEKNUM
  用途:返回一个数字,该数字代表一年中的第几周。
  语法:WEEKNUM(serial_num,return_type)
  参数:Serial_num代表一周中的日期。应使用DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。Return_type为一数字,确定星期计算从哪一天开始。默认值为 1。
  18.WORKDAY
  用途:返回某日期(起始日期)之前或之后相隔指定工作日(不包括周末和专门指定的假日)的某一日期的值,并扣除周末或假日。
  语法:WORKDAY(start_date,days,holidays)
  参数:Start_date为开始日期;Days为Start_date之前或之后不含周末及节假日的天数;Days是正值将产生未来日期、负值产生过去日期;Holidays为可选的数据清单,表示需要从工作日历中排除的日期值(如法定假日或非法定假日)。此清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900 日期系统时的35825表示1998年1月30日)或其他公式或函数的结果(例如 DATEVALUE("1998/1/30"))。
  19.YEAR
  用途:返回某日期的年份。其结果为1900到9999之间的一个整数。
  语法:YEAR(serial_number)
  参数:Serial_number是一个日期值,其中包含要查找的年份。日期有多种输入方式:带引号的文本串(例如 "1998/01/30")、序列号(例如,如果使用 1900 日期系统则 35825 表示 1998 年 1 月 30 日)或其他公式或函数的结果(例如 DATEVALUE("1998/1/30"))。
  实例:公式“=YEAR("2000/8/6")返回2000”,=YEAR("2003/05/01")返回2003,=YEAR(35825)返回1998。
  20.YEARFRAC
  用途:返回start_date和end_date之间的天数占全年天数的百分比。
  语法:YEARFRAC(start_date,end_date,basis)
  参数:Start_date表示开始日期,End_date代表结束日期。函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如35829表示1900 日期系统中的1998年1月30日),或其他公式或函数的结果(例如DATEVALUE("1998/1/30"))。Basis表示日计数基准类型,其中0或省略为US(NASD)30/360,1实际天数/实际天数,2实际天数/360,3实际天数/365,4欧洲30/360。
  实例:公式“=YEARFRAC("2001/01/31","2001/06/30",0)”返回0.416666667,YEARFRAC("2001/01/25","2001/09/27")返回0.67222。
(三)外部函数
  1.EUROCONVERT
  用途:将数字转换为欧元形式,将数字由欧元形式转换为欧盟成员国货币形式,或利用欧元作为中间货币将数字由某一欧盟成员国货币转化为另一欧盟成员国货币的形式(三角转换关系)。
  语法:EUROCONVERT(number,source,target,full_precision,triangulation_precision)
  参数:Number为要转换的货币值,或对包含该值的单元格的引用。Source是由三个字母组成的字符串,或对包含字符串的单元格的引用,该字符串对应于源货币的ISO代码。EUROCONVERT函数中可以使用下列货币代码:
  
国家/地区基本货币单位ISO代码
比利时法郎BEF
卢森堡法郎LUF
德国德国马克DEM
西班牙西班牙比塞塔ESP
法国法郎FRF
爱尔兰爱尔兰磅IEP
意大利里拉ITL
荷兰荷兰盾NLG
奥地利奥地利先令ATS
葡萄牙埃斯库多PTE
芬兰芬兰马克FIM
希腊德拉克马GRD
欧盟成员国欧元EUR
  2.SQL.REQUEST
  用途:与外部数据源连接,从工作表运行查询,然后 SQL.REQUEST 将查询结果以数组的形式返回,而无需进行宏编程。
  语法:SQL.REQUEST(connection_string,output_ref,driver_prompt,query_text,col_names_logical)
  参数:Connection_string提供信息,如数据源名称、用户ID和密码等。Output_ref对用于存放完整的连接字符串的单元格的引用。Driver_prompt指定驱动程序对话框何时显示以及何种选项可用。Column_names_logical指示是否将列名作为结果的第一行返回。如果要将列名作为结果的第一行返回,请将该参数设置为TRUE。如果不需要将列名返回,则设置为FALSE。如果省略column_names_logical,则SQL.REQUEST函数不返回列名。
(四)工程函数
  1.BESSELI
  用途:返回修正Bessel函数值,它与用纯虚数参数运算时的Bessel 函数值相等。
  语法:BESSELI(x,n)
  参数:X为参数值。N为函数的阶数。如果 n 非整数,则截尾取整。
  2.BESSELJ
  用途:返回 Bessel 函数值。
  语法:BESSELJ(x,n)
  参数:同上
  3.BESSELK
  用途:返回修正Bessel函数值,它与用纯虚数参数运算时的Bessel 函数值相等。
  语法:BESSELK(x,n)
  参数:同上
  4.BESSELY
  用途:返回Bessel 函数值,也称为Weber函数或Neumann函数。
  语法:BESSELY(x,n)
  参数:同上
  5.BIN2DEC
  用途:将二进制数转换为十进制数。
  语法:BIN2DEC(number)
  参数:Number待转换的二进制数。Number的位数不能多于10位(二进制位),最高位为符号位,后9位为数字位。负数用二进制数补码表示。
  6.BIN2HEX
  用途:将二进制数转换为十六进制数。
  语法:BIN2HEX(number,places)
  参数:Number为待转换的二进制数。Number 的位数不能多于10位(二进制位),最高位为符号位,后 9 位为数字位。负数用二进制数补码表示;Places为所要使用的字符数。如果省略places,函数 DEC2BIN用能表示此数的最少字符来表示。
  7.BIN2OCT
  用途:将二进制数转换为八进制数。
  语法:BIN2OCT(number,places)
  参数:Number为待转换的二进制数;Places为所要使用的字符数。
  8.COMPLEX
  用途:将实系数及虚系数转换为 x+yi 或 x+yj 形式的复数。
  语法:COMPLEX(real_num,i_num,suffix)
  参数:Real_num为复数的实部,I_num为复数的虚部,Suffix为复数中虚部的后缀,省略时则认为它为i。
  9.CONVERT
  用途:将数字从一个度量系统转换到另一个度量系统中。
  语法:CONVERT(number,from_unit,to_unit)
  参数:Number是以from_units为单位的需要进行转换的数值。From_unit是数值 number的单位。To_unit是结果的单位。
  10.DEC2BIN
  用途:将十进制数转换为二进制数。
  语法:DEC2BIN(number,places)
  参数:Number是待转换的十进制数。Places是所要使用的字符数,如果省略places,函数DEC2OCT用能表示此数的最少字符来表示。
  11.DEC2HEX
  用途:将十进制数转换为十六进制数。
  语法:DEC2HEX(number,places)
  参数:Number为待转换的十进制数。如果参数 number是负数,则省略places。Places是所要使用的字符数。
  12.DEC2OCT
  用途:将十进制数转换为八进制数。
  语法:DEC2OCT(number,places)
  参数:Number为待转换的十进制数。如果参数 number是负数,则省略places。Places是所要使用的字符数。
  13.DELTA
  用途:测试两个数值是否相等。如果 number1=number2,则返回1,否则返回0。
  语法:DELTA(number1,number2)
  参数:Number1为第一个参数。Number2为第二个参数。如果省略,假设Number2的值为零。
  14.ERF
  用途:返回误差函数在上下限之间的积分。
  语法:ERF(lower_limit,upper_limit)
  参数:Lower_limit是ERF函数的积分下限。Upper_limit是ERF函数的积分上限。如果省略,ERF将在零到下限之间进行积分。
  15.ERFC
  用途:返回从 x 到 ∞(无穷)积分的 ERF 函数的余误差函数
  语法:ERFC(x)
  参数:X?是ERF函数积分的下限。
  16.GESTEP
  用途:如果 Number大于等于step,返回1,否则返回0。使用该函数可筛选数据。
  语法:GESTEP(number,step)
  参数:Number是待测试的数值。Step是阈值。如果省略step,则函数GESTEP 假设其为零。
  17.HEX2BIN
  用途:将十六进制数转换为二进制数。
  语法:HEX2BIN(number,places)
  参数:Number是待转换的十六进制数,Places是所要使用的字符数。
  18.HEX2DEC
  用途:将十六进制数转换为十进制数。
  语法:HEX2DEC(number)
  参数:Number是待转换的十六进制数。参数 number的位数不能多于 10 位(40 位二进制),最高位为符号位,其余 39 位是数字位。负数用二进制数的补码表示。
  19.HEX2OCT
  用途:将十六进制数转换为八进制数。
  语法:HEX2OCT(number,places)
  参数:Number是待转换的十六进制数,Places是所要使用的字符数。
  20.IMABS
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的绝对值(模)。
  语法:IMABS(inumber)
  参数:Inumber?为需要计算其绝对值的复数。
  21.IMAGINARY
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的虚系数。
  语法:IMAGINARY(inumber)
  参数:Inumber?为需要计算其虚系数的复数。
  22.IMARGUMENT
  用途:返回以弧度表示的角。
  语法:IMARGUMENT(inumber)
  参数:Inumber为用来计算角度值的复数。
  23.MCONJUGATE
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的共轭复数。
  语法:IMCONJUGATE(inumber)
  参数:Inumber为需要计算其共轭数的复数。
  24.IMCOS
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的余弦。
  语法:MCOS(inumber)
  参数:Inumber为需要计算其余弦值的复数。
  25.IMDIV
  用途:返回以 x+yi 或 x+yj 文本格式表示的两个复数的商。
  语法:IMDIV(inumber1,inumber2)
  参数:Inumber1为复数分子(被除数),Inumber2为复数分母(除数)。
  26.IMEXP
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的指数。
  语法:IMEXP(inumber)
  参数:Inumber?为需要计算其指数的复数。
  27.IMLN
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的自然对数。
  语法:IMLN(inumber)
  参数:Inumber为需要计算其自然对数的复数。
  28.IMLOG10
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的常用对数(以 10 为底数)。
  语法:IMLOG10(inumber)
  参数:Inumber?为需要计算其常用对数的复数。
  29.IMLOG2
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的以 2 为底数的对数。
  语法:IMLOG2(inumber)
  参数:Inumber为需要计算以2为底数的对数值的复数。
  30.IMPOWER
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的 n 次幂。
  语法:IMPOWER(inumber,number)
  参数:Inumber为需要计算其幂值的复数,Number为需要计算的幂次。
  31.IMPRODUCT
  用途:返回以 x+yi 或 x+yj 文本格式表示的 2 至 29 个复数的乘积。
  语法:IMPRODUCT(inumber1,inumber2,...)
  参数:Inumber1,inumber2,… 为1到29个用来相乘的复数。
  32.IMREAL
  用途:返回以x+yi或x+yj文本格式表示的复数的实系数。
  语法:IMREAL(inumber)
  参数:Inumber?为需要计算其实系数的复数。
  33.IMSIN
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的正弦值。
  语法:IMSIN(inumber)
  参数:Inumber?为需要计算其正弦的复数。
  34.IMSQRT
  用途:返回以 x+yi 或 x+yj 文本格式表示的复数的平方根。
  语法:IMSQRT(inumber)
  参数:Inumber为需要计算其平方根的复数。
  35.IMSUB
  用途:返回以 x+yi 或 x+yj 文本格式表示的两个复数的差。
  语法:IMSUB(inumber1,inumber2)
  参数:Inumber1是被减(复)数,Inumber2是为减(复)数。
  35、IMSUM
  用途:返回以 x+yi 或 x+yj 文本格式表示的两个或多个复数的和。
  语法:IMSUM(inumber1,inumber2,...)
  参数:Inumber1,inumber2,...为1到29个需要相加的复数。
  36.OCT2BIN
  用途:将八进制数转换为二进制数。
  语法:OCT2BIN(number,places)
  参数:Number是待转换的八进制数。Places是所要使用的字符数。
  37.OCT2DEC
  用途:将八进制数转换为十进制数。
  语法:OCT2DEC(number)
  参数:Number?是待转换的八进制数。
  38.OCT2HEX
  用途:将八进制数转换为十六进制数。
  语法:OCT2HEX(number,places)
  参数:Number是待转换的八进制数。Places是所要使用的字符数。
(五)财务函数
  1.ACCRINT
用途:返回定期付息有价证券的应计利息。
  语法:ACCRINT(issue,first_interest, settlement,rate,par,frequency, basis)
  参数:Issue为有价证券的发行日,First_interest是证券的起息日,Settlement是证券的成交日(即发行日之后证券卖给购买者的日期),Rate为有价证券的年息票利率,Par为有价证券的票面价值(如果省略par,函数 ACCRINT将par看作$1000),Frequency为年付息次数(如果按年支付,frequency = 1;按半年期支付,frequency = 2;按季支付,frequency = 4)。
  2.ACCRINTM
  用途:返回到期一次性付息有价证券的应计利息。
  语法:ACCRINTM(issue,maturity,rate, par,basis)
  参数:Issue为有价证券的发行日,Maturity为有价证券的到期日,Rate为有价证券的年息票利率,Par为有价证券的票面价值,Basis为日计数基准类型(0 或省略时为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  3.AMORDEGRC
  用途:返回每个会计期间的折旧值。
  语法:AMORDEGRC(cost,date_purchased,first_period,salvage,period,rate,basis)
  参数:Cost为资产原值,Date_purchased为购入资产的日期,First_period为第一个期间结束时的日期,Salvage为资产在使用寿命结束时的残值,Period是期间,Rate为折旧率,Basis是所使用的年基准(0 或省略时为360 天,1为实际天数,3为一年365天,4为一年 360天)。
  4.AMORLINC
  用途:返回每个会计期间的折旧值,该函数为法国会计系统提供。如果某项资产是在会计期间内购入的,则按线性折旧法计算。
  语法:AMORLINC(cost,date_purchased,first_period,salvage,period,rate,basis)
  参数:Date_purchased为购入资产的日期,First_period为第一个期间结束时的日期,Salvage为资产在使用寿命结束时的残值,Period为期间,Rate为折旧率,Basis为所使用的年基准(0 或省略时为360 天,1为实际天数,3为一年365天,4为一年 360天)。
  5.COUPDAYBS
  用途:返回当前付息期内截止到成交日的天数。
  语法:COUPDAYBS(settlement,maturity,frequency,basis)
  参数:Settlement是证券的成交日(即发行日之后证券卖给购买者的日期),Maturity为有价证券的到期日,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  6.COUPDAYS
  用途:返回成交日所在的付息期的天数。
  语法:COUPDAYS(settlement,maturity,frequency,basis)
  参数:Settlement是证券的成交日(即发行日之后证券卖给购买者的日期),Maturity为有价证券的到期日(即有价证券有效期截止时的日期),Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  7.COUPDAYSNC
  用途:返回从成交日到下一付息日之间的天数。
  语法:COUPDAYSNC(settlement,maturity,frequency,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  8.COUPNUM
  用途:返回成交日和到期日之间的利息应付次数,向上取整到最近的整数。
  语法:COUPNUM(settlement,maturity,frequency,basis)
  参数:同上
  9.COUPPCD
  用途:用途:返回成交日之前的上一付息日的日期。
  语法:COUPPCD(settlement,maturity,frequency,basis)
  参数:同上
  10.CUMIPMT
  用途:返回一笔贷款在给定的start-period到end-period期间累计偿还的利息数额。
  语法:CUMIPMT(rate,nper,pv,start_period,end_period,type)
  参数:Rate为利率,Nper为总付款期数,Pv为现值,Start_period为计算中的首期(付款期数从1开始计数),End_period为计算中的末期,Type为付款时间类型(0(零)为期末付款,1为期初付款)。
  11.CUMPRINC
  用途:返回一笔贷款在给定的start-period到end-period期间累计偿还的本金数额。
  语法:CUMPRINC(rate,nper,pv,start_period,end_period,type)
  参数:Rate为利率,Nper为总付款期数,Pv为现值,Start_period为计算中的首期(付款期数从1开始计数),End_period为计算中的末期,Type为付款时间类型(0(零)为期末付款,1为期初付款)。
  12.DB
  用途:使用固定余额递减法,计算一笔资产在给定期间内的折旧值。
  语法:DB(cost,salvage,life,period,month)
  参数:Cost为资产原值,Salvage为资产在折旧期末的价值(也称为资产残值),Life为折旧期限(有时也称作资产的使用寿命),Period为需要计算折旧值的期间。Period必须使用与life相同的单位,Month为第一年的月份数(省略时假设为12)。
  13.DDB
  用途:使用双倍余额递减法或其他指定方法,计算一笔资产在给定期间内的折旧值。
  语法:DDB(cost,salvage,life,period,factor)
  参数:Cost为资产原值,Salvage为资产在折旧期末的价值(也称为资产残值),Life为折旧期限(有时也称作资产的使用寿命),Period为需要计算折旧值的期间。Period必须使用与life相同的单位,Factor为余额递减速率(如果factor省略,则假设为2)。
  14.DISC
  用途:返回有价证券的贴现率。
  语法:DISC(settlement,maturity,pr,redemption,basis)
  参数:Settlement是证券的成交日(即在发行日之后,证券卖给购买者的日期),Maturity为有价证券的到期日,Pr为面值$100的有价证券的价格,Redemption为面值$100的有价证券的清偿价值,Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  15.DOLLARDE
  用途:将按分数表示的价格转换为按小数表示的价格,如证券价格,转换为小数表示的数字。
  语法:DOLLARDE(fractional_dollar,fraction)
  参数:Fractional_dollar以分数表示的数字,Fraction分数中的分母(整数)。
  16.DOLLARFR
  用途:将按小数表示的价格转换为按分数表示的价格。
  语法:DOLLARFR(decimal_dollar,fraction)
  参数:Decimal_dollar为小数,Fraction分数中的分母(整数)。
  17.DURATION
  用途:返回假设面值$100的定期付息有价证券的修正期限。期限定义为一系列现金流现值的加权平均值,用于计量债券价格对于收益率变化的敏感程度。
  语法:DURATION(settlement,maturity,couponyld,frequency,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Coupon为有价证券的年息票利率,Yld为有价证券的年收益率,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  18.EFFECT
  用途:利用给定的名义年利率和一年中的复利期次,计算实际年利率。
  语法:EFFECT(nominal_rate,npery)
  参数:Nominal_rate为名义利率,Npery为每年的复利期数。
  19.FV
  用途:基于固定利率及等额分期付款方式,返回某项投资的未来值。
  语法:FV(rate,nper,pmt,pv,type)
  参数:Rate为各期利率,Nper为总投资期(即该项投资的付款期总数),Pmt为各期所应支付的金额,Pv为现值(即从该项投资开始计算时已经入帐的款项,或一系列未来付款的当前值的累积和,也称为本金),Type为数字0或1(0为期末,1为期初)。
20.FVSCHEDULE
  用途:基于一系列复利返回本金的未来值,用于计算某项投资在变动或可调利率下的未来值。
  语法:FVSCHEDULE(principal,schedule)
  参数:Principal为现值,Schedule为利率数组。
  21.INTRATE
  用途:返回一次性付息证券的利率。
  语法:INTRATE(settlement,maturity,investment,redemption,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Investment为有价证券的投资额,Redemption为有价证券到期时的清偿价值,Basis日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  22.IPMT
  用途:基于固定利率及等额分期付款方式,返回投资或贷款在某一给定期限内的利息偿还额。
  语法:IPMT(rate,per,nper,pv,fv,type)
  参数:Rate为各期利率,Per用于计算其利息数额的期数(1到nper之间),Nper为总投资期,Pv为现值(本金),Fv为未来值(最后一次付款后的现金余额。如果省略fv,则假设其值为零),Type指定各期的付款时间是在期初还是期末(0为期末,1为期初)。
  23.IRR
  用途:返回由数值代表的一组现金流的内部收益率。
  语法:IRR(values,guess)
  参数:Values为数组或单元格的引用,包含用来计算返回的内部收益率的数字。Guess 为对函数IRR计算结果的估计值。
  24.ISPMT
  用途:计算特定投资期内要支付的利息。
  语法:ISPMT(rate,per,nper,pv)
  参数:Rate为投资的利率,Per为要计算利息的期数(在1到nper之间),Nper为投资的总支付期数,Pv为投资的当前值(对于贷款来说pv为贷款数额)。
  25.MDURATION
  用途:返回假设面值$100的有价证券的Macauley修正期限。
  语法:MDURATION(settlement,maturity,coupon,yld,frequency,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Coupon为有价证券的年息票利率,Yld为有价证券的年收益率,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  26.MIRR
  用途:返回某一期限内现金流的修正内部收益率。
  语法:MIRR(values,finance_rate,reinvest_rate)
  参数:Values为一个数组或对包含数字的单元格的引用(代表着各期的一系列支出及收入,其中必须至少包含一个正值和一个负值,才能计算修正后的内部收益率),Finance_rate为现金流中使用的资金支付的利率,Reinvest_rate为将现金流再投资的收益率。
  27.NOMINAL
  用途:基于给定的实际利率和年复利期数,返回名义年利率。
  语法:NOMINAL(effect_rate,npery)
  参数:Effect_rate为实际利率,Npery为每年的复利期数。
  28.NPER
  用途:基于固定利率及等额分期付款方式,返回某项投资(或贷款)的总期数。
  语法:NPER(rate,pmt,pv,fv,type)
  参数:Rate为各期利率,Pmt为各期所应支付的金额,Pv为现值(本金),Fv为未来值(即最后一次付款后希望得到的现金余额),Type可以指定各期的付款时间是在期初还是期末(0为期末,1为期初)。
  29.NPV
  用途:通过使用贴现率以及一系列未来支出(负值)和收入(正值),返回一项投资的净现值。
  语法:NPV(rate,value1,value2,...)
  参数:Rate为某一期间的贴现率,Value1,value2,...为1到29个参数,代表支出及收入。
  30.ODDFPRICE
  用途:返回首期付息日不固定的面值$100的有价证券的价格。
  语法:ODDFPRICE(settlement,maturity,issue,first_coupon,rate,yld,redemption,frequency,basis)
  参数:Settlement为证券的成交日,Maturity为有价证券的到期日,Issue为有价证券的发行日,First_coupon为有价证券的首期付息日,Rate为有价证券的利率,Yld为有价证券的年收益率,Redemption为面值$100的有价证券的清偿价值,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  31.ODDFYIELD
  用途:返回首期付息日不固定的有价证券(长期或短期)的收益率。
  语法:ODDFYIELD(settlement,maturity,issue,first_coupon,rate,pr,redemption,frequency,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Issue为有价证券的发行日,First_coupon为有价证券的首期付息日,Rate为有价证券的利率,Pr为有价证券的价格,Redemption为面值$100的有价证券的清偿价值,Frequency为年付息次数(按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  32.ODDLPRICE
  用途:返回末期付息日不固定的面值$100的有价证券(长期或短期)的价格。
  语法:ODDLPRICE(settlement,maturity,last_interest,rate,yld,redemption,frequency,basis)
  参数:Settlement为有价证券的成交日,Maturity为有价证券的到期日,Last_interest为有价证券的末期付息日,Rate为有价证券的利率,Yld为有价证券的年收益率,Redemption为面值$100的有价证券的清偿价值,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  33.ODDLYIELD
  用途:返回末期付息日不固定的有价证券(长期或短期)的收益率。
  语法:ODDLYIELD(settlement,maturity,last_interest,rate,pr,redemption,frequency,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Last_interest为有价证券的末期付息日,Rate为有价证券的利率,Pr为有价证券的价格,Redemption为面值$100的有价证券的清偿价值,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  34.PMT
  用途:基于固定利率及等额分期付款方式,返回贷款的每期付款额。
  语法:PMT(rate,nper,pv,fv,type)
  参数:Rate贷款利率,Nper该项贷款的付款总数,Pv为现值(也称为本金),Fv为未来值(或最后一次付款后希望得到的现金余额),Type指定各期的付款时间是在期初还是期末(1为期初。0为期末)。
  35.PPMT
  用途:基于固定利率及等额分期付款方式,返回投资在某一给定期间内的本金偿还额。
  语法:PPMT(rate,per,nper,pv,fv,type)
  参数:Rate为各期利率,Per用于计算其本金数额的期数(介于1到nper之间),Nper为总投资期(该项投资的付款期总数),Pv为现值(也称为本金),Fv为未来值,Type指定各期的付款时间是在期初还是期末(1为期初。0为期末)。
  36.PRICE
  用途:返回定期付息的面值$100的有价证券的价格。
  语法:PRICE(settlement,maturity,rate,yld,redemption,frequency,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Rate为有价证券的年息票利率,Yld为有价证券的年收益率,Redemption为面值$100的有价证券的清偿价值,Frequency为年付息次数(如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4),Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  37.PRICEDISC
  用途:返回折价发行的面值$100的有价证券的价格。
  语法:PRICEDISC(settlement,maturity,discount,redemption,basis)
  参数:Settlement是证券的成交日,Maturity为有价证券的到期日,Discount为有价证券的贴现率,Redemption为面值$100的有价证券的清偿价值,Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  38.PRICEMAT
  用途:返回到期付息的面值$100的有价证券的价格。
  语法:PRICEMAT(settlement,maturity,issue,rate,yld,basis)
  参数:Settlement为证券的成交日,Maturity为有价证券的到期日,Issue为有价证券的发行日(以时间序列号表示),Rate为有价证券在发行日的利率,Yld为有价证券的年收益率,Basis为日计数基准类型(0或省略为30/360,1为实际天数/实际天数,2为实际天数/360,3为实际天数/365,4为欧洲30/360)。
  39.PV
  用途:返回投资的现值(即一系列未来付款的当前值的累积和),如借入方的借入款即为贷出方贷款的现值。
  语法:PV(rate,nper,pmt,fv,type)
  参数:Rate为各期利率,Nper为总投资(或贷款)期数,Pmt为各期所应支付的金额,Fv为未来值,Type指定各期的付款时间是在期初还是期末(1为期初。0为期末)。
(六)信息函数
  1.CELL
  用途:返回某一引用区域的左上角单元格的格式、位置或内容等信息,该函数主要用于保持与其它电子表格程序的兼容性。
  语法:CELL(info_type,reference)
  参数:Info_type为一个文本值,指明所需要的单元格信息的类型。Reference表示要获取其有关信息的单元格。如果忽略,则在info_type中所指定的信息将返回给最后更改的单元格。
  实例:公式“=CELL("row",A20)”返回20,如果A3单元格包含TOTAL,则CELL("contents",A3)返回"TOTAL"。
  2.ERROR.TYPE
  用途:返回对应于某一错误类型的数字,如果没有错误则返回#N/A。在IF函数中可以使用ERROR.TYPE检测错误值,并返回文字串(如“发生错误”)来取代错误值。
  语法:ERROR.TYPE(error_val)
  参数:Error_val为需要得到其数字代码的一个错误类型。尽管error_val可以是实际的错误值,但它通常为一个单元格引用,而此单元格中包含需要检测的公式。
  注意:ERROR.TYPE函数返回的错误代码是:#NULL!返回1,#DIV/0!返回2,#VALUE!返回3,#REF!返回4,#NAME?返回5,#NUM!返回6,#N/A返回7,其他错误则返回#N/A。
  实例:如果A5=36/0,则公式“=ERROR.TYPE(A5)”返回2。
  3.INFO
  用途:返回有关当前操作环境的的信息。
  语法:INFO(type_text)
  参数:Type_text是一文本,指明所要返回的信息类型。其中"directory"返回当前目录或文件夹的路径,"memavail"返回可用的内存空间(以字节为单位),"memused"返回数据占用的内存空间,"numfile"返回当前所有打开的工作表的数目,"osversion"返回当前操作系统的版本号(文本),"recalc"返回当前的重计算方式(“自动”或“人工”),"release"返回Excel的版本号(文本),"system"返回操作系统名称(Macintosh="mac",Windows="pcdos"),"totmem"返回全部内存空间,包括已经占用的内存空间(以字节为单位)。
  注意:INFO函数中的文本参数必须用西文引号引起来。
  实例:公式“=INFO("osversion")”返回“Windows(32-bit)4.90”,=INFO("memavail")返回1048576。
  4.IS类函数
  用途:其中包括用来检验数值或引用类型的九个工作表函数。它们可以检验数值的类型并根据参数的值返回TRUE或FALSE。例如,数值为空白单元格引用时,ISBLANK函数返回逻辑值TRUE,否则返回FALSE。
  语法:ISBLANK(value)、ISERR(value)、ISERROR(value)、ISLOGICAL(value)、ISNA(value)、ISNONTEXT(value)、ISNUMBER(value)、ISREF(value)、ISTEXT(value)。
  参数:Value是需要进行检验的参数。分别为空白(空白单元格)、错误值、逻辑值、文本、数字、引用值或对于以上任意参数的名称引用。
  如果函数中的参数为下面的内容,则返回TRUE:ISBLANK的参数是空白单元格,ISERR的参数是任意错误值(除去#N/A),ISERROR的参数是任意错误值(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?或#NULL!),ISLOGICAL的参数是逻辑值,ISNA的参数是错误值#N/A,ISNONTEXT的参数是任意不是文本的内容(此函数在值为空白单元格时返回TRUE),ISNUMBER的参数是数字,ISREF的参数是引用,ISTEXT的参数是文本。
  注意:IS类函数的参数value是不可转换的。在其他大多数需要数字的函数中,文本"19"会被转换成数字19。然而在公式ISNUMBER("19")中,"19"并由文本值转换成其他类型的值,而是返回FALSE。
  IS类函数用于检验公式计算结果十分有用,它与函数IF结合在一起可以提供一种在公式中查出错误值的方法。
  实例:公式“=ISBLANK("")”返回FALSE,=ISREF(A5)返回TRUE(其中a5为空白单元格)。如果需要计算A1:A4区域的平均值,但不能确定单元格内是否包含数字,则公式AVERAGE(A1:A4)返回错误值#DIV/0!。为了应付这种情况,可以使用公式“=IF(ISERROR(AVERAGE(A1:A4)),"引用包含空白单元格",AVERAGE(A1:A4))”查出可能存在的错误。
  5.ISEVEN
  用途:测试参数的奇偶性,如果参数为偶数返回TRUE,否则返回FALSE。
  语法:ISEVEN(number)
  Number待测试的数值。如果参数值不是整数,则自动截去小数部分取整。
  注意:该函数必须加载“分析工具库”方能使用。如果参数number不是数值,ISEVEN函数返回错误值#VALUE!。
  实例:公式“=ISEVEN(11)返回FALSE”,=ISEVEN(6)返回TRUE。
  6.ISODD
  用途:测试参数的奇偶性,如果参数为奇数返回TRUE,否则返回FALSE。
  语法:ISODD(number)
  参数:Number待测试的数值。如果参数不是整数,则自动截去小数部分取整。
  注意:该函数必须加载“分析工具库”方能使用。
  实例:公式“=ISODD(19)”返回TRUE,=ISODD(14.5)返回FALSE。
  7.N
  用途:返回转化为数值后的值。
  语法:N(value)
  参数:Value为要转化的值。函数N可以转化下表列出的值:数字返回该数字,日期返回该日期的序列号,TRUE返回1,FALSE返回0,错误值(如#DIV/0!)返回该错误值,其他值返回0。
  实例:如果A1包含"7",A2包含"文件",A3包含"TRUE",则公式“=N(A1)”返回7,=N(A2)返回0(因为A2含有文字),=N(A3)返回1(因为A3含有TRUE)。
  8.NA
  用途:返回错误值#N/A。#N/A表示“无法得到有效值”。如果使用#N/A标志空白单元格,可以避免不小心将空白单元格计算在内而产生的问题,因为公式引用含有#N/A的单元格时返回错误值#N/A。
  语法:NA()
  参数:空白单元格
  实例:公式“=NA("")”返回#N/A。
  9.TYPE
  用途:返回数值的类型。当某一个函数的计算结果取决于特定单元格中数值的类型时,可使用函数TYPE。
  语法:TYPE(value)
  参数:Value可以是Excel中的数据,如数字、文本、逻辑值等等。
如果value为数字返回1,是文本返回2,逻辑值返回4,错误值返回16,数组返回64。
  实例:如果A1包含文本"金额",则公式“=TYPE(A1)”返回2。=TYPE(2+A1)返回16。
  (七)逻辑运算符
  1.AND
  用途:所有参数的逻辑值为真时返回TRUE(真);只要有一个参数的逻辑值为假,则返回FALSE(假)。
  语法:AND(logical1,logical2,…)。
  参数:Logical1,logical2,…为待检验的1~30个逻辑表达式,它们的结论或为TRUE(真)或为FALSE(假)。参数必须是逻辑值或者包含逻辑值的数组或引用,如果数组或引用内含有文字或空白单元格,则忽略它的值。如果指定的单元格区域内包括非逻辑值,AND将返回错误值#VALUE!。
  实例:如果A1=2、A=6,那么公式“=AND(A1A2)”返回FALSE。如果B4=104,那么公式“=IF(AND(1
  2.FALSE
  用途:返回逻辑值FALSE。
  语法:FALSE()
  参数:该函数不需要参数
  实例:如果在A1单元格内输入公式“=FALSE()”,回车后即可返回FALSE。若在单元格或公式中输入文字FALSE,Excel会自动将它解释成逻辑值FALSE。
  3.IF
  用途:执行逻辑判断,它可以根据逻辑表达式的真假,返回不同的结果,从而执行数值或公式的条件检测任务。
  语法:IF(logical_test,value_if_true,value_if_false)。
  参数:Logical_test计算结果为TRUE或FALSE的任何数值或表达式;Value_if_true是Logical_test为TRUE时函数的返回值,如果logical_test为TRUE并且省略了value_if_true,则返回TRUE。而且Value_if_true可以是一个表达式;Value_if_false是Logical_test为FALSE时函数的返回值。如果logical_test为FALSE并且省略value_if_false,则返回FALSE。Value_if_false也可以是一个表达式。
  实例:公式“=IF(C2>=85,"A",IF(C2>=70,"B",IF(C2>=60,"C",IF(C2<60,"D"))))”,其中第二个IF语句同时也是第一个IF语句的参数。同样,第三个IF语句是第二个IF语句的参数,以此类推。例如,若第一个逻辑判断表达式C2>=85成立,则D2单元格被赋值“A”;如果第一个逻辑判断表达式C2>=85不成立,则计算第二个IF语句“IF(C2>=70”;以此类推直至计算结束,该函数广泛用于需要进行逻辑判断的场合。
  4.NOT
  用途:求出一个逻辑值或逻辑表达式的相反值。如果您要确保一个逻辑值等于其相反值,就应该使用NOT函数。
  语法:NOT(logical)
  参数:Logical是一个可以得出TRUE或FALSE结论的逻辑值或逻辑表达式。如果逻辑值或表达式的结果为FALSE,则NOT函数返回TRUE;如果逻辑值或表达式的结果为TRUE,那么NOT函数返回的结果为FALSE。
  实例:如果A1=6、A2=8,那么公式“=NOT(A1< p>
  5.OR
  用途:所有参数中的任意一个逻辑值为真时即返回TRUE(真)。
  语法:OR(logical1,logical2,...)
  参数:Logical1,logical2,...是需要进行检验的1至30个逻辑表达式,其结论分别为TRUE或FALSE。如果数组或引用的参数包含文本、数字或空白单元格,它们将被忽略。如果指定的区域中不包含逻辑值,OR函数将返回错误#VALUE!。
  实例:如果A1=6、A2=8,则公式“=OR(A1+A2>A2,A1=A2)”返回TRUE;而公式“=OR(A1>A2,A1=A2)”返回FALSE。
  6.TRUE
  用途:返回逻辑值TRUE。
  语法:TRUE()
  参数:该函数不需要参数
  实例:如果在A1单元格内输入公式“=TRUE()”,回车后即可返回TRUE。若在单元格或公式中输入文字TRUE,Excel会自动将它解释成逻辑值TRUE。函数TRUE主要用于与其它电子表格程序兼容。
(八)查找和引用函数
  1.ADDRESS
  用途:以文字形式返回对工作簿中某一单元格的引用。
  语法:ADDRESS(row_num,column_num,abs_num,a1,sheet_text)
  参数: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(1,4,4,1)”返回D1。
  2.AREAS
  用途:返回引用中包含的区域个数。
  语法:AREAS(reference)。
  参数:Reference是对某一单元格或单元格区域的引用,也可以引用多个区域。
  注意:如果需要将几个引用指定为一个参数,则必须用括号括起来,以免Excel将逗号作为参数间的分隔符。
  实例:公式“=AREAS(a2:b4)”返回1,=AREAS((A1:A3,A4:A6,B4:B7,A16:A18))返回4。
  3.CHOOSE
  用途:可以根据给定的索引值,从多达29个待选参数中选出相应的值或操作。
  语法:CHOOSE(index_num,value1,value2,...)。
  参数:Index_num是用来指明待选参数序号的值,它必须是1到29之间的数字、或者是包含数字1到29的公式或单元格引用;Value1,value2,...为1到29个数值参数,可以是数字、单元格,已定义的名称、公式、函数或文本。
  实例:公式“=CHOOSE(2,"电脑","爱好者")返回“爱好者”。公式“=SUM(A1:CHOOSE(3,A10,A20,A30))”与公式“=SUM(A1:A30)”等价(因为CHOOSE(3,A10,A20,A30)返回A30)。
  4.COLUMN
  用途:返回给定引用的列标。
  语法:COLUMN(reference)。
  参数:Reference为需要得到其列标的单元格或单元格区域。如果省略reference,则假定函数COLUMN是对所在单元格的引用。如果reference为一个单元格区域,并且函数COLUMN作为水平数组输入,则COLUMN函数将reference中的列标以水平数组的形式返回。
  实例:公式“=COLUMN(A3)”返回1,=COLUMN(B3:C5)返回2。
  5.COLUMNS
  用途:返回数组或引用的列数。
  语法:COLUMNS(array)。
  参数:Array为需要得到其列数的数组、数组公式或对单元格区域的引用。
  实例:公式“=COLUMNS(B1:C4)”返回2,=COLUMNS({5,4;4,5})返回2。
  6.HLOOKUP
  用途:在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行处的数值。
  语法:HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
  参数:Lookup_value是需要在数据表第一行中查找的数值,它可以是数值、引用或文字串;Table_array是需要在其中查找数据的数据表,可以使用对区域或区域名称的引用,Table_array的第一行的数值可以是文本、数字或逻辑值。Row_index_num为table_array中待返回的匹配值的行序号。Range_lookup为一逻辑值,指明函数HLOOKUP查找时是精确匹配,还是近似匹配。
  实例:如果A1:B3区域存放的数据为34、23、68、69、92、36,则公式“=HLOOKUP(34,A1:B3,1,FALSE)返回34;=HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE)返回“c”。
  7.HYPERLINK
  用途:创建一个快捷方式,用以打开存储在网络服务器、Intranet(Internet)或本地硬盘的其它文件。
  语法:HYPERLINK(link_location,friendly_name)
  参数:Link_location是文件的路径和文件名,它还可以指向文档中的某个更为具体的位置,如Execl工作表或工作簿中特定的单元格或命名区域,或是指向Word文档中的书签。路径可以是存储在硬盘驱动器上的文件,或是Internet或Intranet上的URL路径;Friendly_name为单元格中显示的链接文字或数字,它用蓝色显示并带有下划线。如果省略了Friendly_name,单元格就将link_location显示为链接。
  实例:HYPERLINK("http://www.mydrivers.com/","驱动之家")会在工作表中显示文本“驱动之家”,单击它即可连接到“http://www.mydrivers.com/”。公式“=HYPERLINK("D:\README.TXT","说明文件")”在工作表中建立一个的蓝色“说明文件”链接,单击它可以打开D盘上的README.TXT文件。
  8.INDEX
  用途:返回表格或区域中的数值或对数值的引用。函数INDEX()有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。
  语法:INDEX(array,row_num,column_num)返回数组中指定的单元格或单元格数组的数值。INDEX(reference,row_num,column_num,area_num)返回引用中指定单元格或单元格区域的引用。
  参数:Array为单元格区域或数组常数;Row_num为数组中某行的行序号,函数从该行返回数值。如果省略row_num,则必须有column_num;Column_num是数组中某列的列序号,函数从该列返回数值。如果省略column_num,则必须有row_num。Reference是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括号括起来。Area_num是选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,则INDEX函数使用区域1。
  实例:如果A1=68、A2=96、A3=90,则公式“=INDEX(A1:A3,1,1)”返回68,=INDEX(A1:A3,1,1,1)返回68。
  9.INDIRECT
  用途:返回由文字串指定的引用。此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,即可使用INDIRECT函数。
  语法:INDIRECT(ref_text,a1)。
  参数:Ref_text是对单元格的引用,此单元格可以包含A1样式的引用、R1C1样式的引用、定义为引用的名称或对文字串单元格的引用;A1为一逻辑值,指明包含在单元格ref_text中的引用的类型。如果a1为TRUE或省略,ref_text被解释为A1-样式的引用。如果a1为FALSE,ref_text被解释为R1C1-样式的引用。
  实例:如果单元格A1存放有文本B1,而B1单元格中存放了数值68.75,则公式“=INDIRECT($A$1)”返回68.75。
  10.LOOKUP
  用途:返回向量(单行区域或单列区域)或数组中的数值。该函数有两种语法形式:向量和数组,其向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值;其数组形式在数组的第一行或第一列查找指定的数值,然后返回数组的最后一行或最后一列中相同位置的数值。
  语法1(向量形式):LOOKUP(lookup_value,lookup_vector,result_vector)
  语法2(数组形式):LOOKUP(lookup_value,array)。
  参数1(向量形式):Lookup_value为函数LOOKUP在第一个向量中所要查找的数值。Lookup_value可以为数字、文本、逻辑值或包含数值的名称或引用。Lookup_vector为只包含一行或一列的区域。Lookup_vector的数值可以为文本、数字或逻辑值。
  参数2(数组形式):Lookup_value为函数LOOKUP在数组中所要查找的数值。Lookup_value可以为数字、文本、逻辑值或包含数值的名称或引用。如果函数LOOKUP找不到lookup_value,则使用数组中小于或等于lookup_value的最大数值。Array为包含文本、数字或逻辑值的单元格区域,它的值用于与lookup_value进行比较。
  注意:Lookup_vector的数值必须按升序排列,否则LOOKUP函数不能返回正确的结果,参数中的文本不区分大小写。
  实例:如果A1=68、A2=76、A3=85、A4=90,则公式“=LOOKUP(76,A1:A4)”返回2,=LOOKUP("bump",{"a",1;"b",2;"c",3})返回2。
11.MATCH
  用途:返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用MATCH函数。
  语法:MATCH(lookup_value,lookup_array,match_type)。
  参数:Lookup_value为需要在数据表中查找的数值,它可以是数值(或数字、文本或逻辑值)、对数字、文本或逻辑值的单元格引用。Lookup_array是可能包含所要查找的数值的连续单元格区域,Lookup_array可以是数组或数组引用;Match_type为数字-1、0或1,它说明Excel如何在lookup_array中查找lookup_value。如果match_type为1,函数MATCH查找小于或等于lookup_value的最大数值。如果match_type为0,函数MATCH查找等于lookup_value的第一个数值。如果match_type为-1,函数MATCH查找大于或等于lookup_value的最小数值。
  注意:MATCH函数返回lookup_array中目标值的位置,而不是数值本身。如果match_type为0且lookup_value为文本,lookup_value可以包含通配符(“*”和“?”)。星号可以匹配任何字符序列,问号可以匹配单个字符。
  实例:如果A1=68、A2=76、A3=85、A4=90,则公式“=MATCH(90,A1:A5,0)”返回3。
  12.OFFSET
  用途:以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以是一个单元格或单元格区域,并可以指定返回的行数或列数。
  语法:OFFSET(reference,rows,cols,height,width)。
  参数:Reference是作为偏移量参照系的引用区域,它必须是单元格或相连单元格区域的引用;Rows是相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用5作为参数Rows,则说明目标引用区域的左上角单元格比reference低5行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方);Cols是相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用5作为参数Cols,则说明目标引用区域的左上角的单元格比reference靠右5列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边);Height是要返回的引用区域的行数,Height必须为正数;Width是要返回的引用区域的列数,Width必须为正数。
  实例:如果A1=68、A2=76、A3=85、A4=90,则公式“=SUM(OFFSET(A1:A2,2,0,2,1))”返回177。
  13.ROW
  用途:返回给定引用的行号。
  语法:ROW(reference)。
  Reference为需要得到其行号的单元格或单元格区域。
  实例:公式“=ROW(A6)”返回6,如果在C5单元格中输入公式“=ROW()”,其计算结果为5。
  14.ROWS
  用途:返回引用或数组的行数。
  语法:ROWS(array)。
  参数:Array是需要得到其行数的数组、数组公式或对单元格区域的引用。
  实例:公式“=ROWS(A1:A9)”返回9,=ROWS({1,2,3;4,5,6;1,2,3})返回3。
  15.RTD
  用途:从支持COM自动化的程序中返回实时数据。
  语法:RTD(ProgID,server,topic1,[topic2],...)
  参数:ProgID已安装在本地计算机中,经过注册的COM自动化加载宏的ProgID名称,该名称用引号引起来。Server是运行加载宏的服务器的名称。如果没有服务器,程序是在本地计算机上运行,那么该参数为空白。topic1,topic2,...为1到28个参数,这些参数放在一起代表一个唯一的实时数据。
  16.TRANSPOSE
  用途:返回区域的转置(所谓转置就是将数组的第一行作为新数组的第一列,数组的第二行作为新数组的第二列,以此类推)。
  语法:TRANSPOSE(array)。
  参数:Array是需要转置的数组或工作表中的单元格区域。
  实例:如果A1=68、A2=76、B1=85、B2=90,那么公式“{=TRANSPOSE(A1:B1)}”返回C1=56、D1=98、C2=90、D2=87。
  17.VLOOKUP
  用途:在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数VLOOKUP代替函数HLOOKUP。
  语法:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
  参数:Lookup_value为需要在数据表第一列中查找的数值,它可以是数值、引用或文字串。Table_array为需要在其中查找数据的数据表,可以使用对区域或区域名称的引用。Col_index_num为table_array中待返回的匹配值的列序号。Col_index_num为1时,返回table_array第一列中的数值;col_index_num为2,返回table_array第二列中的数值,以此类推。Range_lookup为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果range_value为FALSE,函数VLOOKUP将返回精确匹配值。如果找不到,则返回错误值#N/A。
  实例:如果A1=23、A2=45、A3=50、A4=65,则公式“=VLOOKUP(50,A1:A4,1,TRUE)”返回50。
(九)数学和三角函数
  1.ABS
  用途:返回某一参数的绝对值。
  语法:ABS(number)
  参数:number是需要计算其绝对值的一个实数。
  实例:如果A1=-16,则公式“=ABS(A1)”返回16。
  2.ACOS
  用途:返回以弧度表示的参数的反余弦值,范围是0~π。
  语法:ACOS(number)
  参数:number是某一角度的余弦值,大小在-1~1之间。
  实例:如果A1=0.5,则公式“=ACOS(A1)”返回1.047197551(即π/3弧度,也就是600);而公式“=ACOS(-0.5)*180/PI()”返回120°。
  3.ACOSH
  用途:返回参数的反双曲余弦值。
  语法:ACOSH(number)
  参数:number必须大于或等于1。
  实例:公式“=ACOSH(1)”的计算结果等于0;“=ACOSH(10)”的计算结果等于2.993223。
  4.ASIN
  用途:返回参数的反正弦值。
  语法:ASIN(number)
  参数:Number为某一角度的正弦值,其大小介于-1~1之间。
  实例:如果A1=-0.5,则公式“=ASIN(A1)”返回-0.5236(-π/6弧度);而公式“=ASIN(A1)*180/PI()”返回-300。
  5.ASINH
  用途:返回参数的反双曲正弦值。
  语法:ASINH(number)
  参数:number为任意实数。
  实例:公式“=ASINH(-2.5)”返回-1.64723;“=ASINH(10)”返回2.998223。
  6.ATAN
  用途:返回参数的反正切值。返回的数值以弧度表示,大小在-π/2~π/2之间。
  语法:ATAN(number)
  参数:number为某一角度的正切值。如果要用度表示返回的反正切值,需将结果乘以180/PI()。
  实例:公式“=ATAN(1)”返回0.785398(π/4弧度);=ATAN(1)*180/PI()返回450。
  7.ATAN2
  用途:返回直角坐标系中给定X及Y的反正切值。它等于X轴与过原点和给定点(x_num,y_num)的直线之间的夹角,并介于-π~π之间(以弧度表示,不包括-π)。
  语法:ATAN2(x_num,y_num)
  参数:X_num为给定点的X坐标,Y_num为给定点的Y坐标。
  实例:公式“=ATAN2(1,1)”返回0.785398(即π/4弧度);=ATAN2(-1,-1)返回-2.35619(-3π/4弧度);=ATAN2(-1,-1)*180/PI()返回-1350。
  8.ATANH
  用途:返回参数的反双曲正切值,参数必须在-1~1之间(不包括-1和1)。
  语法:ATANH(number)
  参数:number是-1
  实例:公式“=ATANH(0.5)”返回0.549306144;=ATANH(-0.1)返回-0.10034。
  9.CEILING
  用途:将参数Number沿绝对值增大的方向,返回一个最接近的整数或基数significance的最小倍数。
  语法:CEILING(number,significance)
  参数:number为待返回的数值,Significance为待返回的最小倍数。
  注意:无论number的正负如何,都是按远离0点的方向返回结果。如果number是Significance的倍数,则返回的数值是其自身。
  实例:如果A1=3.1416,则公式“=CEILING(A1,1)”返回的结果是4;=CEILING(-2.5,-2)返回的结果为–4。
  10.COMBIN
  用途:返回一组对象所有可能的组合数目。
  语法:COMBIN(number,number_chosen)
  参数:number是某一对象的总数量,number_chosen则是每一组合中对象的数量。
  注意:函数中的参数按照截尾取整的原则参与运算,并且要求number>0、number_chosen>0以及number>number_chosen。
  实例:假设有10名乒乓球队员,从中选出任意两人搭配参加双打,则计算公式为“=COMBIN(10,2)”,可以得出45种搭配方案。
11.COS
  用途:返回某一角度的余弦值。
  语法:COS(number)
  参数:number为需要求余弦值的一个角度,必须用弧度表示。如果number的单位是度,可以乘以PI()/180转换为弧度。
  实例:如果A1=1,则公式“=COS(A1)”返回0.540302;若A2=60,则公式“=COS(A2*PI()/180)”返回0.5。
  12.COSH
  用途:返回参数的双曲余弦值。
  语法:COSH(number)
  参数:number为任意实数。
  实例:如果A1=5、A3=6,则公式“=COSH(A1+A3)”返回29937.07087;若C1=60,则公式“=COSH(COS(C1*PI()/180))”返回1.127625965。
  13.COUNTIF
  用途:统计某一区域中符合条件的单元格数目。
  语法:COUNTIF(range,criteria)
  参数:range为需要统计的符合条件的单元格数目的区域;Criteria为参与计算的单元格条件,其形式可以为数字、表达式或文本(如36、">160"和"男"等)。其中数字可以直接写入,表达式和文本必须加引号。
  实例:假设A1:A5区域内存放的文本分别为女、男、女、男、女,则公式“=COUNTIF(A1:A5,"女")”返回3。
  14.DEGREES
  用途:将弧度转换为度。
  语法:DEGREES(angle)
  参数:angle是采用弧度单位的一个角度。
  实例:公式“=DEGREES(1)返回57.29577951”,=DEGREES(PI()/3)返回60。
  15.EVEN
  用途:返回沿绝对值增大方向,将一个数值取整为最接近的偶数。
  语法:EVEN(number)
  参数:number是要取整的一个数值。
  实例:如果A1=-2.6则公式“=EVEN(A1)”返回-4;=EVEN(-4.56+6.87)返回4。
  16.EXP
  用途:返回e的n次幂。
  语法:EXP(number)
  参数:Number为底数e的指数。
  注意:EXP函数是计算自然对数的LN函数的反函数。
  实例:如果A1=3,则公式“=EXP(A1)”返回20.085537即e3。
  17.FACT
  用途:返回一个数的阶乘,即1*2*3*...*该数。
  语法:FACT(number)
  注意:Number是计算其阶乘的非负数。如果输入的Number不是整数,则截去小数部分取整数。
  实例:如果A1=3,则公式“=FACT(A1)”返回6;=FACT(5.5)返回1*2*3*4*5.5即120。
  18.FACTDOUBLE
  用途:返回参数Number的半阶乘。
  语法:FACTDOUBLE(number)
  Number要计算其半阶乘的数值,如果参数Number为非整数,则截尾取整。
  注意:如果该函数不存在,应当运行“安装”程序加载“分析工具库”。
  实例:公式“=FACTDOUBLE(4)”返回8。
  19.FLOOR
  用途:将参数Number沿绝对值减小的方向去尾舍入,使其等于最接近的significance的倍数。
  语法:FLOOR(number,significance)
  参数:Number为要舍入的某一数值,Significance为该数值的倍数。
  实例:如果A1=22.5,则公式“=FLOOR(A1,1)”返回22;=FLOOR(-2.5,-2)返回-2。
20.G  C  D
  用途:返回两个或多个整数的最大公约数。
  语法:G  C  D(number1,number2,...)
  参数:Number1,number2,...为1到29个数值,如果数值为非整数,则截尾取整。
  说明:如果该函数不存在,必须运行“安装”程序加载“分析工具库”。
  实例:如果A1=16、A2=28、A3=46,则公式“=G  C  D(A1:A3)”返回2。
21.INT
  用途:将任意实数向下取整为最接近的整数。
  语法:INT(number)
  参数:Number为需要处理的任意一个实数。
  实例:如果A1=16.24、A2=-28.389,则公式“=INT(A1)”返回16,=INT(A2)返回-29。
  22.LCM
  用途:返回整数的最小公倍数。最小公倍数是所有整数参数number1、number2、…,的最小正整数倍数。用函数LCM可以将分母不同的分数相加。
  语法:LCM(number1,number2,...)
  参数:Number1,number2,...是要计算最小公倍数的1到29个参数。如果参数不是整数,则自动截去小数部分取整。
  说明:该函数需要加载“分析工具库”才能使用。
  实例:如果A1=4、A2=16、A3=8,则公式“=LCM(A1:A3)”返回16。
  23.LN
  用途:返回一个数的自然对数,即以e(2.71828182845904)为底的对数(LN函数是EXP函数的反函数)。
  语法:LN(number)
  参数:Number是待计算其自然对数的正实数。
  实例:如果A1=100、A2=67,则公式“=LN(A1+A2)”返回5.117993812;=LN(EXP(3))返回3;=EXP(LN(4))返回4。
  24.LOG
  用途:按所指定的底数,返回某个数的对数。
  语法:LOG(number,base)
  参数:Number是计算对数的任意实数,Base是对数的底数。如果省略底数,则默认它的值为10。
  实例:如果A1=8,则公式“=LOG(A1,2)”返回3;=LOG(100,10)返回2。
  25.LOG10
  用途:返回以10为底的对数。
  语法:LOG10(number)
  参数:Number是待计算常用对数的一个正实数。
  实例:如果A1=1000,则公式“=LOG10(A1)”返回3;=LOG10(10^5)返回5。
  26.MDETERM
  用途:返回一个数组的矩阵行列式的值。
  语法:MDETERM(array)
  参数:Array是一个行列数相等的数值数组。Array可以是单元格区域,例如A1:C3;或是一个数组常量,如{1,2,3;4,5,6;7,8,9};也可以是区域或数组常量的名称。矩阵行列式的值多用于求解多元联立方程。
  实例:如果A1=1、A2=2、B1=3、B2=4,则公式“=MDETERM(A1:B2)”返回-2。
  27.MINVERSE
  用途:返回数组矩阵的逆距阵。
  语法:MINVERSE(array)
  参数:Array是具有相等行列数的数值数组,它可以是单元格区域,例如A1:C3;也可以是常数数组如{1,2,3;4,5,6;7,8,9};或者是两者的名称。
  实例:公式“=MINVERSE({4,-1;2,0})”返回{0,0.5;-1,2};=MINVERSE({1,2,1;3,4,-1;0,2,0})返回{0.25,0.25,-0.75;0,0,0.5;0.75,-0.25,-0.25}。
  28.MMULT
  用途:返回两数组的矩阵乘积。结果矩阵的行数与array1的行数相同,矩阵的列数与array2的列数相同。
  语法:MMULT(array1,array2)
  参数:Array1和array2是要进行矩阵乘法运算的两个数组。Array1的列数必须与array2的行数相同,而且两个数组中都只能包含数值。Array1和array2可以是单元格区域、数组常数或引用。
  实例:公式“=MMULT({1,2;2,3},{3,4;4,5})”返回11。
  29.MOD
  用途:返回两数相除的余数,其结果的正负号与除数相同。
  语法:MOD(number,divisor)
  参数:Number为被除数,Divisor为除数(divisor不能为零)。
  实例:如果A1=51,则公式“=MOD(A1,4)”返回3;=MOD(-101,-2)返回–1。
  30.MROUND
  用途:返回参数按指定基数舍入后的数值。
  语法:MROUND(number,significance)
  参数:Number是将要舍入的数值,Significance是要对参数Number进行舍入运算的基数。
  注意:如果参数number除以基数Significance的余数大于或等于基数Significance的一半,则函数MROUND向远离零的方向舍入。另外,该函数只有加载了“分析工具库”方可使用。
  实例:如果A1=6.6876,则公式“=MROUND(A1,4)”的计算结果是8。
  31.MULTINOMIAL
  用途:返回参数和的阶乘与各参数阶乘乘积的比值,例如MULTINOMIAL(2,3,4)执行的运算为9!/2!*3!*4!。
  语法:MULTINOMIAL(number1,number2,...)
  参数:Number1,number2,...是用于进行函数Multinomial运算的1到29个数值参数。
  注意:该函数只有加载“分析工具库”方可使用。
  实例:MULTINOMIAL(2,3,4)返回的结果为1260。
  32.ODD
  用途:将一个正(负数)向上(向下)舍入为最接近的奇数。
  语法:ODD(number)
  参数:Number是待计算的一个数值。
  注意:参数number必须是一个数值参数,不论它的正负号如何,其结果均按远离0的方向舍入。如果number恰好是奇数,则保持原来的数值不变。
  实例:如果A1=31.5,则公式“=ODD(A1)”返回33;=ODD(3)返回3;=ODD(-26.38)返回–27。
  33.PI
  用途:返回圆周率π,精确到小数点后14位。
  语法:PI()
  参数:不需要
  实例:公式“=PI()”返回3.14159265358979。
  34.POWER
  用途:返回给定数字的乘幂。
  语法:POWER(number,power)
  参数:其中Number为底数,Power为指数,均可以为任意实数。
  注意:可以用“^”运算符代替POWER函数执行乘幂运算,例如公式“=5^2”与“=POWER(5,2)”等价。
  实例:如果A1=25.37,则公式“=POWER(A1,7)”返回6764617901;=POWER(4,5/4)返回5.656854。
  35.PRODUCT
  用途:将所有数字形式给出的参数相乘,然后返回乘积值。
  语法:PRODUCT(number1,number2,...)
  参数:Number1,number2,...为1到30个需要相乘的数字参数。
  实例:如果单元格A1=24、A2=36、A3=80,则公式“=PRODUCT(A1:A3)”返回69120;=PRODUCT(12,26,39)返回12168。
  36.QUOTIENT
  用途:返回商的整数部分,即舍去商的小数部分。
  语法:QUOTIENT(numerator,denominator)
  参数:Numerator为被除数,Denominator为除数。
  注意:该函数只有加载“分析工具库”方可使用。
  实例:如果A1=86、A2=9,则公式“=QUOTIENT(A1,A2)”返回9;=QUOTIENT(-10,3)返回–3。
  37.RADIANS
  用途:将一个表示角度的数值或参数转换为弧度。
  语法:RADIANS(angle)
  参数:Angle为需要转换成弧度的角度。
  实例:如果A1=90,则公式“=RADIANS(A1)”返回1.57,=RADIANS(360)返回6.28(均取两位小数)。
  38.RAND
  用途:返回一个大于等于0小于1的随机数,每次计算工作表(按F9键)将返回一个新的数值。
  语法:RAND()
  参数:不需要
  注意:如果要生成a,b之间的随机实数,可以使用公式“=RAND()*(b-a)+a”。如果在某一单元格内应用公式“=RAND()”,然后在编辑状态下按住F9键,将会产生一个变化的随机数。
  实例:公式“=RAND()*1000”返回一个大于等于0、小于1000的随机数。
  39.RANDBETWEEN
  用途:产生位于两个指定数值之间的一个随机数,每次重新计算工作表(按F9键)都将返回新的数值。
  语法:RANDBETWEEN(bottom,top)
  参数:Bottom是RANDBETWEEN函数可能返回的最小随机数,Top是RANDBETWEEN函数可能返回的最大随机数。
  注意:该函数只有在加载了“分析工具库”以后才能使用。
  实例:公式“=RANDBETWEEN(1000,9999)”将返回一个大于等于1000、小于等于9999的随机数。
  40.ROMAN
  用途:将阿拉伯数字转换为文本形式的罗马数字。
  语法:ROMAN(number,form)
  参数:Number为需要转换的阿拉伯数字。Form则是一个数字,它指定要转换的罗马数字样式。可以从经典到简化,随着form值的增加趋于简单。
  实例:公式“=ROMAN(499,0)”返回“CDXCIX”;=ROMAN(499,1)返回“LDVLIV”。
41.ROUND
  用途:按指定位数四舍五入某个数字。
  语法:ROUND(number,num_digits)
  参数:Number是需要四舍五入的数字;Num_digits为指定的位数,Number按此位数进行处理。
  注意:如果num_digits大于0,则四舍五入到指定的小数位;如果num_digits等于0,则四舍五入到最接近的整数;如果num_digits小于0,则在小数点左侧按指定位数四舍五入。
  实例:如果A1=65.25,则公式“=ROUND(A1,1)”返回65.3;=ROUND(82.149,2)返回82.15;=ROUND(21.5,-1)返回20。
  42.ROUNDDOWN
  用途:按绝对值减小的方向舍入某一数字。
  语法:ROUNDDOWN(number,num_digits)
  参数:Number是需要向下舍入的任意实数,Num_digits指定计算的小数位数。
  注意:ROUNDDOWN函数和ROUND函数的用途相似,不同之处是ROUNDDOWN函数总是向下舍入数字。
  实例:如果A1=65.251,则公式“=ROUNDDOWN(A1,0)”返回65;=ROUNDDOWN(A1,2)返回65.25;=ROUNDDOWN(3.14159,3)返回3.141;=ROUNDDOWN(-3.14159,1)返回-3.1;=ROUNDDOWN(31415.92654,-2)返回31400。
  43.ROUNDUP
  用途:按绝对值增大的方向舍入一个数字。
  语法:ROUNDUP(number,num_digits)
  参数:Number为需要舍入的任意实数,Num_digits指定舍入的数字位数。
  注意:如果num_digits为0或省略,则将数字向上舍入到最接近的整数。如果num_digits小于0,则将数字向上舍入到小数点左边的相应位数。
  实例:如果A1=65.251,则公式“=ROUNDUP(A1,0)”返回66;=ROUNDUP(A1,1)返回66;=ROUNDUP(A1,2)返回65.26;=ROUNDUP(-3.14159,1)返回-3.2;=ROUNDUP(31415.92654,-2)返回31500。
  44.SERIESSUM
  用途:返回幂级数的和。
  语法:SERIESSUM(x,n,m,coefficients)
  参数:X幂级数的输入值,N为x的首项乘幂,M为级数中每一项的乘幂n的步长增加值,Coefficients为一系列与x各级乘幂相乘的系数。Coefficients的值决定了幂级数的项数。
  注意:SERIESSUM函数只有加载“分析工具库”以后方能使用。
  实例:如果单元格A1=65.25,则公式“=SERIESSUM(A1,3,2,6)”返回1666835.719。
45.SIGN
  用途:返回数字的符号。正数返回1,零返回0,负数时返回-1。
  语法:SIGN(number)
  参数:Number是需要返回符号的任意实数。
  实例:如果A1=65.25,则公式“=SIGN(A1)”返回1;=SIGN(6-12)返回-1;=SIGN(9-9)返回0。
  46.SIN
  用途:返回某一角度的正弦值。
  语法:SIN(number)
  参数:Number是待求正弦值的一个角度(采用弧度单位),如果它的单位是度,则必须乘以PI()/180转换为弧度。
  实例:如果A1=60,则公式“=SIN(A1*PI()/180)”返回0.866,即60度角的正弦值。
  47.SINH
  用途:返回任意实数的双曲正弦值。
  语法:SINH(number)
  参数:Number为任意实数。
  实例:公式“=SINH(10)”返回11013.23287,=SINH(-6)返回-201.7131574。
  48.SQRT
  用途:返回某一正数的算术平方根。
  语法:SQRT(number)
  参数:Number为需要求平方根的一个正数。
  实例:如果A1=81,则公式“=SQRT(A1)”返回9;=SQRT(4+12)返回6。
  49.SQRTPI
  用途:返回一个正实数与π的乘积的平方根。
  语法:SQRTPI(number)
  参数:Number是用来与π相乘的正实数。
  注意:SQRTPI函数只有加载“分析工具库”以后方能使用。如果参数number<0,则函数SQRTPI返回错误值#NUM!。
  实例:公式“=SQRTPI(1)”返回1.772454,=SQRTPI(2)返回2.506628。
  50.SUBTOTAL
  用途:返回数据清单或数据库中的分类汇总。如果用户使用“数据”菜单中的“分类汇总”命令创建了分类汇总数据清单,即可编辑SUBTOTAL函数对其进行修改。
  语法:SUBTOTAL(function_num,ref1,ref2…)
  参数:Function_num为1到11之间的自然数,用来指定分类汇总计算使用的函数(1是AVERAGE;2是COUNT;3是COUNTA;4是MAX;5是MIN;6是PRODUCT;7是STDEV;8是STDEVP;9是SUM;10是VAR;11是VARP)。Ref1、ref2…则是需要分类汇总的1到29个区域或引用。
实例:如果A1=1、A2=2、A3=3,则公式“=SUBTOTAL(9,A1:A3)”将使用SUM函数对“A1:A3”区域进行分类汇总,其结果为6。
  51.SUM
  用途:返回某一单元格区域中所有数字之和。
  语法:SUM(number1,number2,...)。
  参数:Number1,number2,...为1到30个需要求和的数值(包括逻辑值及文本表达式)、区域或引用。
  注意:参数表中的数字、逻辑值及数字的文本表达式可以参与计算,其中逻辑值被转换为1、文本被转换为数字。如果参数为数组或引用,只有其中的数字将被计算,数组或引用中的空白单元格、逻辑值、文本或错误值将被忽略。
  实例:如果A1=1、A2=2、A3=3,则公式“=SUM(A1:A3)”返回6;=SUM("3",2,TRUE)返回6,因为"3"被转换成数字3,而逻辑值TRUE被转换成数字1。
  52.SUMIF
  用途:根据指定条件对若干单元格、区域或引用求和。
  语法:SUMIF(range,criteria,sum_range)
  参数:Range为用于条件判断的单元格区域,Criteria是由数字、逻辑表达式等组成的判定条件,Sum_range为需要求和的单元格、区域或引用。
  实例:某单位统计工资报表中职称为“中级”的员工工资总额。假设工资总额存放在工作表的F列,员工职称存放在工作表B列。则公式为“=SUMIF(B1:B1000,"中级",F1:F1000)”,其中“B1:B1000”为提供逻辑判断依据的单元格区域,"中级"为判断条件,就是仅仅统计B1:B1000区域中职称为“中级”的单元格,F1:F1000为实际求和的单元格区域。
  53.SUMPRODUCT
  用途:在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
  语法:SUMPRODUCT(array1,array2,array3,...)
  参数:Array1,array2,array3,...为2至30个数组,其相应元素需要进行相乘并求和。
  实例:公式“=SUMPRODUCT({3,4;8,6;1,9},{2,7;6,7;5,3})”的计算结果是156。
  54.SUMSQ
  用途:返回所有参数的平方和。
  语法:SUMSQ(number1,number2,...)
  参数:Number1,number2,...为1到30个需要求平方和的参数,它可以是数值、区域、引用或数组。
  实例:如果A1=1、A2=2、A3=3,则公式“=SUMSQ(A1:A3)返回14(即12+22+32=14)。
  55.SUMX2MY2
  用途:返回两数组中对应数值的平方差之和。
  语法:SUMX2MY2(array_x,array_y)
  参数:Array_x为第一个数组或数值区域。Array_y为第二个数组或数值区域。
  实例:如果A1=1、A2=2、A3=3、B1=4、B2=5、B3=6,则公式“=SUMX2MY2(A1:A3,B1:B3)”返回-63。
  56.SUMX2PY2
  用途:返回两数组中对应数值的平方和的总和,此类运算在统计中经常遇到。
  语法:SUMX2PY2(array_x,array_y)
  参数:Array_x为第一个数组或数值区域,Array_y为第二个数组或数值区域。
  实例:如果A1=1、A2=2、A3=3、B1=4、B2=5、B3=6,则公式“=SUMX2PY2(A1:A3,B1:B3)”返回91。
  57.SUMXMY2
  用途:返回两数组中对应数值之差的平方和。
  语法:SUMXMY2(array_x,array_y)
  参数:Array_x为第一个数组或数值区域。Array_y为第二个数组或数值区域。
  实例:如果A1=1、A2=2、A3=3、B1=4、B2=5、B3=6,则公式“=SUMXMY2(A1:A3,B1:B3)”返回27。
  58.TAN
  用途:返回某一角度的正切值。
  语法:TAN(number)
  参数:Number为需要求正切的角度,以弧度表示。如果参数的单位是度,可以乘以P1()/180转换为弧度。
  实例:如果A1=60,则公式“=TAN(A1*PI()/180)”返回1.732050808;TAN(1)返回1.557407725。
  59.TANH
  用途:返回任意实数的双曲正切值。
  语法:TANH(number)
  参数:Number为任意实数。
  实例:如果A1=60,则公式“=TANH(A1)”返回1,=TANH(0.5)返回0.462117。
  60.TRUNC
  用途:将数字的小数部分截去,返回整数。
  语法:TRUNC(number,num_digits)
  参数:Number是需要截去小数部分的数字,Num_digits则指定保留小数的精度(几位小数)。
  注意:TRUNC函数可以按需要截取数字的小数部分,而INT函数则将数字向下舍入到最接近的整数。INT和TRUNC函数在处理负数时有所不同:TRUNC(-4.3)返回-4,而INT(-4.3)返回-5。
  实例:如果A1=78.652,则公式“=TRUNC(A1,1)”返回78.6,=TRUNC(A1,2)返回78.65,=TRUNC(-8.963,2)返回–8.96。
(十)统计函数
  1.AVEDEV
  用途:返回一组数据与其平均值的绝对偏差的平均值,该函数可以评测数据(例如学生的某科考试成绩)的离散度。
  语法:AVEDEV(number1,number2,...)
  参数:Number1、number2、...是用来计算绝对偏差平均值的一组参数,其个数可以在1~30个之间。
  实例:如果A1=79、A2=62、A3=45、A4=90、A5=25,则公式“=AVEDEV(A1:A5)”返回20.16。
  2.AVERAGE
  用途:计算所有参数的算术平均值。
  语法:AVERAGE(number1,number2,...)。
  参数:Number1、number2、...是要计算平均值的1~30个参数。
  实例:如果A1:A5区域命名为分数,其中的数值分别为100、70、92、47和82,则公式“=AVERAGE(分数)”返回78.2。
  3.AVERAGEA
  用途:计算参数清单中数值的平均值。它与AVERAGE函数的区别在于不仅数字,而且文本和逻辑值(如TRUE和FALSE)也参与计算。
  语法:AVERAGEA(value1,value2,...)
  参数:Value1、value2、...为需要计算平均值的1至30个单元格、单元格区域或数值。
  实例:如果A1=76、A2=85、A3=TRUE,则公式“=AVERAGEA(A1:A3)”返回54(即76+85+1/3=54)。
  4.BETADIST
  用途:返回Beta分布累积函数的函数值。Beta分布累积函数通常用于研究样本集合中某些事物的发生和变化情况。例如,人们一天中看电视的时间比率。
  语法:BETADIST(x,alpha,beta,A,B)
  参数:X用来进行函数计算的值,须居于可选性上下界(A和B)之间。Alpha分布的参数。Beta分布的参数。A是数值x所属区间的可选下界,B是数值x所属区间的可选上界。
  实例:公式“=BETADIST(2,8,10,1,3)”返回0.685470581。
  5.BETAINV
  用途:返回beta分布累积函数的逆函数值。即,如果probability=BETADIST(x,...),则BETAINV(probability,...)=x。beta分布累积函数可用于项目设计,在给出期望的完成时间和变化参数后,模拟可能的完成时间。
  语法:BETAINV(probability,alpha,beta,A,B)
  参数:Probability为Beta分布的概率值,Alpha分布的参数,Beta分布的参数,A数值x所属区间的可选下界,B数值x所属区间的可选上界。
  实例:公式“=BETAINV(0.685470581,8,10,1,3)”返回2。
  6.BINOMDIST
  用途:返回一元二项式分布的概率值。BINOMDIST函数适用于固定次数的独立实验,实验的结果只包含成功或失败二种情况,且成功的概率在实验期间固定不变。例如,它可以计算掷10次硬币时正面朝上6次的概率。
  语法:BINOMDIST(number_s,trials,probability_s,cumulative)
  参数:Number_s为实验成功的次数,Trials为独立实验的次数,Probability_s为一次实验中成功的概率,Cumulative是一个逻辑值,用于确定函数的形式。如果cumulative为TRUE,则BINOMDIST函数返回累积分布函数,即至多number_s次成功的概率;如果为FALSE,返回概率密度函数,即number_s次成功的概率。
  实例:抛硬币的结果不是正面就是反面,第一次抛硬币为正面的概率是0.5。则掷硬币10次中6次的计算公式为“=BINOMDIST(6,10,0.5,FALSE)”,计算的结果等于0.205078
  7.CHIDIST
  用途:返回c2分布的单尾概率。c2分布与c2检验相关。使用c2检验可以比较观察值和期望值。例如,某项遗传学实验假设下一代植物将呈现出某一组颜色。使用此函数比较观测结果和期望值,可以确定初始假设是否有效。
  语法:CHIDIST(x,degrees_freedom)
  参数:X是用来计算c2分布单尾概率的数值,Degrees_freedom是自由度。
  实例:公式“=CHIDIST(1,2)”的计算结果等于0.606530663。
  8.CHIINV
  用途:返回c2分布单尾概率的逆函数。如果probability=CHIDIST(x,?),则CHIINV(probability,?)=x。使用此函数比较观测结果和期望值,可以确定初始假设是否有效。
  语法:CHIINV(probability,degrees_freedom)
  参数:Probability为c2分布的单尾概率,Degrees_freedom为自由度。
  实例:公式“=CHIINV(0.5,2)”返回1.386293564。
  9.CHITEST
  用途:返回相关性检验值,即返回c2分布的统计值和相应的自由度,可使用c2检验确定假设值是否被实验所证实。
  语法:CHITEST(actual_range,expected_range)
  参数:Actual_range是包含观察值的数据区域,Expected_range是包含行列汇总的乘积与总计值之比的数据区域。
  实例:如果A1=1、A2=2、A3=3、B1=4、B2=5、B3=6,则公式“=CHITEST(A1:A3,B1:B3)”返回0.062349477。
  10.CONFIDENCE
  用途:返回总体平均值的置信区间,它是样本平均值任意一侧的区域。例如,某班学生参加考试,依照给定的置信度,可以确定该次考试的最低和最高分数。
  语法:CONFIDENCE(alpha,standard_dev,size)。
  参数:Alpha是用于计算置信度(它等于100*(1-alpha)%,如果alpha为0.05,则置信度为95%)的显著水平参数,Standard_dev是数据区域的总体标准偏差,Size为样本容量。
  实例:假设样本取自46名学生的考试成绩,他们的平均分为60,总体标准偏差为5分,则平均分在下列区域内的置信度为95%。公式“=CONFIDENCE(0.05,5,46)”返回1.44,即考试成绩为60±1.44分。
  11.CORREL
  用途:返回单元格区域array1和array2之间的相关系数。它可以确定两个不同事物之间的关系,例如检测学生的物理与数学学习成绩之间是否关联。
  语法:CORREL(array1,array2)
  参数:Array1第一组数值单元格区域。Array2第二组数值单元格区域。
  实例:如果A1=90、A2=86、A3=65、A4=54、A5=36、B1=89、B2=83、B3=60、B4=50、B5=32,则公式“=CORREL(A1:A5,B1:B5)”返回0.998876229,可以看出A、B两列数据具有很高的相关性。
  12.COUNT
  用途:返回数字参数的个数。它可以统计数组或单元格区域中含有数字的单元格个数。
  语法:COUNT(value1,value2,...)。
  参数:Value1,value2,...是包含或引用各种类型数据的参数(1~30个),其中只有数字类型的数据才能被统计。
  实例:如果A1=90、A2=人数、A3=〞〞、A4=54、A5=36,则公式“=COUNT(A1:A5)”返回3。
  13.COUNTA
  用途:返回参数组中非空值的数目。利用函数COUNTA可以计算数组或单元格区域中数据项的个数。
  语法:COUNTA(value1,value2,...)
  说明:Value1,value2,...所要计数的值,参数个数为1~30个。在这种情况下的参数可以是任何类型,它们包括空格但不包括空白单元格。如果参数是数组或单元格引用,则数组或引用中的空白单元格将被忽略。如果不需要统计逻辑值、文字或错误值,则应该使用COUNT函数。
  实例:如果A1=6.28、A2=3.74,其余单元格为空,则公式“=COUNTA(A1:A7)”的计算结果等于2。
  14.COUNTBLANK
  用途:计算某个单元格区域中空白单元格的数目。
  语法:COUNTBLANK(range)
  参数:Range为需要计算其中空白单元格数目的区域。
  实例:如果A1=88、A2=55、A3=""、A4=72、A5="",则公式“=COUNTBLANK(A1:A5)”返回2。
  15.COUNTIF
  用途:计算区域中满足给定条件的单元格的个数。
  语法:COUNTIF(range,criteria)
  参数:Range为需要计算其中满足条件的单元格数目的单元格区域。Criteria为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本。
  16.COVAR
  用途:返回协方差,即每对数据点的偏差乘积的平均数。利用协方差可以研究两个数据集合之间的关系。
  语法:COVAR(array1,array2)
  参数:Array1是第一个所含数据为整数的单元格区域,Array2是第二个所含数据为整数的单元格区域。
  实例:如果A1=3、A2=2、A3=1、B1=3600、B2=1500、B3=800,则公式“=COVAR(A1:A3,B1:B3)”返回933.3333333。
  17.CRITBINOM
  用途:返回使累积二项式分布大于等于临界值的最小值,其结果可以用于质量检验。例如决定最多允许出现多少个有缺陷的部件,才可以保证当整个产品在离开装配线时检验合格。
  语法:CRITBINOM(trials,probability_s,alpha)
  参数:Trials是伯努利实验的次数,Probability_s是一次试验中成功的概率,Alpha是临界值。
  实例:公式“=CRITBINOM(10,0.9,0.75)”返回10。
  18.DEVSQ
  用途:返回数据点与各自样本平均值的偏差的平方和。
  语法:DEVSQ(number1,number2,...)
  参数:Number1、number2、...是用于计算偏差平方和的1到30个参数。它们可以是用逗号分隔的数值,也可以是数组引用。
  实例:如果A1=90、A2=86、A3=65、A4=54、A5=36,则公式“=DEVSQ(A1:A5)”返回2020.8。
  19.EXPONDIST
  用途:返回指数分布。该函数可以建立事件之间的时间间隔模型,如估计银行的自动取款机支付一次现金所花费的时间,从而确定此过程最长持续一分钟的发生概率。
  语法:EXPONDIST(x,lambda,cumulative)。
  参数:X函数的数值,Lambda参数值,Cumulative为确定指数函数形式的逻辑值。如果cumulative为TRUE,EXPONDIST返回累积分布函数;如果cumulative为FALSE,则返回概率密度函数。
  实例:公式“=EXPONDIST(0.2,10,TRUE)”返回0.864665,=EXPONDIST(0.2,10,FALSE)返回1.353353。

20.FDIST
  用途:返回F概率分布,它可以确定两个数据系列是否存在变化程度上的不同。例如,通过分析某一班级男、女生的考试分数,确定女生分数的变化程度是否与男生不同。
  语法:FDIST(x,degrees_freedom1,degrees_freedom2)
  参数:X是用来计算概率分布的区间点,Degrees_freedom1是分子自由度,Degrees_freedom2是分母自由度。
  实例:公式“=FDIST(1,90,89)”返回0.500157305。
  21.FINV
  用途:返回F概率分布的逆函数值,即F分布的临界值。如果p=FDIST(x,…),则FINV(p,…)=x。
  语法:FINV(probability,degrees_freedom1,degrees_freedom2)
  参数:Probability是累积F分布的概率值,Degrees_freedom1是分子自由度,Degrees_freedom2是分母自由度。
  实例:公式“=FINV(0.1,86,74)”返回1.337888023。
  22.FISHER
  用途:返回点x的Fisher变换。该变换生成一个近似正态分布而非偏斜的函数,使用此函数可以完成相关系数的假设性检验。
  语法:FISHER(x)
  参数:X为一个数字,在该点进行变换。
  实例:公式“=FISHER(0.55)”返回0.618381314。
  23.FISHERINV
  用途:返回Fisher变换的逆函数值,如果y=FISHER(x),则FISHERINV(y)=x。上述变换可以分析数据区域或数组之间的相关性。
  语法:FISHERINV(y)
  参数:Y为一个数值,在该点进行反变换。
  实例:公式“=FISHERINV(0.765)”返回0.644012628。
  24.FORECAST
  用途:根据一条线性回归拟合线返回一个预测值。使用此函数可以对未来销售额、库存需求或消费趋势进行预测。
  语法:FORECAST(x,known_y's,known_x's)。
  参数:X为需要进行预测的数据点的X坐标(自变量值)。Known_y's是从满足线性拟合直线y=kx+b的点集合中选出的一组已知的y值,Known_x's是从满足线性拟合直线y=kx+b的点集合中选出的一组已知的x值。
  实例:公式“=FORECAST(16,{7,8,9,11,15},{21,26,32,36,42})”返回4.378318584。
  25.FREQUENCY
  用途:以一列垂直数组返回某个区域中数据的频率分布。它可以计算出在给定的值域和接收区间内,每个区间包含的数据个数。
  语法:FREQUENCY(data_array,bins_array)
  参数:Data_array是用来计算频率一个数组,或对数组单元区域的引用。Bins_array是数据接收区间,为一数组或对数组区域的引用,设定对data_array进行频率计算的分段点。
  26.FTEST
  用途:返回F检验的结果。它返回的是当数组1和数组2的方差无明显差异时的单尾概率,可以判断两个样本的方差是否不同。例如,给出两个班级同一学科考试成绩,从而检验是否存在差别。
  语法:FTEST(array1,array2)
  参数:Array1是第一个数组或数据区域,Array2是第二个数组或数据区域。
  实例:如果A1=71、A2=83、A3=76、A4=49、A5=92、A6=88、A7=96,B1=59、B2=70、B3=80、B4=90、B5=89、B6=84、B7=92,则公式“=FTEST(A1:A7,B1:B7)”返回0.519298931。
  27.GAMMADIST
  用途:返回伽玛分布。可用它研究具有偏态分布的变量,通常用于排队分析。
  语法:GAMMADIST(x,alpha,beta,cumulative)。
  参数:X为用来计算伽玛分布的数值,Alpha是γ分布参数,Betaγ分布的一个参数。如果beta=1,GAMMADIST函数返回标准伽玛分布。Cumulative为一逻辑值,决定函数的形式。如果cumulative为TRUE,GAMMADIST函数返回累积分布函数;如果为FALSE,则返回概率密度函数。
  实例:公式“=GAMMADIST(10,9,2,FALSE)”的计算结果等于0.032639,=GAMMADIST(10,9,2,TRUE)返回0.068094。
  28.GAMMAINV
  用途:返回具有给定概率的伽玛分布的区间点,用来研究出现分布偏斜的变量。如果P=GAMMADIST(x,...),则GAMMAINV(p,...)=x。
  语法:GAMMAINV(probability,alpha,beta)
  参数:Probability为伽玛分布的概率值,Alphaγ分布参数,Betaγ分布参数。如果beta=1,函数GAMMAINV返回标准伽玛分布。
  实例:公式“=GAMMAINV(0.05,8,2)”返回7.96164386。
  29.GAMMALN
  用途:返回伽玛函数的自然对数Γ(x)。
  语法:GAMMALN(x)
  参数:X为需要计算GAMMALN函数的数值。
  实例:公式“=GAMMALN(6)”返回4.787491743。
  30.GEOMEAN
  用途:返回正数数组或数据区域的几何平均值。可用于计算可变复利的平均增长率。
  语法:GEOMEAN(number1,number2,...)
  参数:Number1,number2,...为需要计算其平均值的1到30个参数,除了使用逗号分隔数值的形式外,还可使用数组或对数组的引用。
  实例:公式“=GEOMEAN(1.2,1.5,1.8,2.3,2.6,2.8,3)”的计算结果是2.069818248。
  31.GROWTH
  用途:给定的数据预测指数增长值。根据已知的x值和y值,函数GROWTH返回一组新的x值对应的y值。通常使用GROWTH函数拟合满足给定x值和y值的指数曲线。
  语法:GROWTH(known_y's,known_x's,new_x's,const)
  参数:Known_y's是满足指数回归拟合曲线y=b*m^x的一组已知的y值;Known_x's是满足指数回归拟合曲线y=b*m^x的一组已知的x值的集合(可选参数);New_x's是一组新的x值,可通过GROWTH函数返回各自对应的y值;Const为一逻辑值,指明是否将系数b强制设为1,如果const为TRUE或省略,b将参与正常计算。如果const为FALSE,b将被设为1,m值将被调整使得y=m^x。
  32.HARMEAN
  用途:返回数据集合的调和平均值。调和平均值与倒数的算术平均值互为倒数。调和平均值总小于几何平均值,而几何平均值总小于算术平均值。
  语法:HARMEAN(number1,number2,...)
  参数:Number1,number2,...是需要计算其平均值的1到30个参数。可以使用逗号分隔参数的形式,还可以使用数组或数组的引用。
  实例:公式“=HARMEAN(66,88,92)”返回80.24669604。
  33.HYPGEOMDIST
  用途:返回超几何分布。给定样本容量、样本总体容量和样本总体中成功的次数,HYPGEOMDIST函数返回样本取得给定成功次数的概率。
  语法:HYPGEOMDIST(sample_s,number_sample,population_s,number_population)
  参数:Sample_s为样本中成功的次数,Number_sample为样本容量。Population_s为样本总体中成功的次数,Number_population为样本总体的容量。
  实例:如果某个班级有42名学生。其中22名是男生,20名是女生。如果随机选出6人,则其中恰好有三名女生的概率公式是:“=HYPGEOMDIST(3,6,20,42)”,返回的结果为0.334668627。
  34.INTERCEPT
  用途:利用已知的x值与y值计算直线与y轴的截距。当已知自变量为零时,利用截距可以求得因变量的值。
  语法:INTERCEPT(known_y's,known_x's)
  参数:Known_y's是一组因变量数据或数据组,Known_x's是一组自变量数据或数据组。
  实例:如果A1=71、A2=83、A3=76、A4=49、A5=92、A6=88、A7=96,B1=59、B2=70、B3=80、B4=90、B5=89、B6=84、B7=92,则公式“=INTERCEPT(A1:A7,B1:B7)”返回87.61058785。

35.KURT
  用途:返回数据集的峰值。它反映与正态分布相比时某一分布的尖锐程度或平坦程度,正峰值表示相对尖锐的分布,负峰值表示相对平坦的分布。
  语法:KURT(number1,number2,...)
  参数:Number1,number2,...为需要计算其峰值的1到30个参数。它们可以使用逗号分隔参数的形式,也可以使用单一数组,即对数组单元格的引用。
  实例:如果某次学生考试的成绩为A1=71、A2=83、A3=76、A4=49、A5=92、A6=88、A7=96,则公式“=KURT(A1:A7)”返回-1.199009798,说明这次的成绩相对正态分布是一比较平坦的分布。
  36.LARGE
  用途:返回某一数据集中的某个最大值。可以使用LARGE函数查询考试分数集中第一、第二、第三等的得分。
  语法:LARGE(array,k)
  参数:Array为需要从中查询第k个最大值的数组或数据区域,K为返回值在数组或数据单元格区域里的位置(即名次)。
  实例:如果B1=59、B2=70、B3=80、B4=90、B5=89、B6=84、B7=92,,则公式“=LARGE(B1,B7,2)”返

本文作者:佚名 来源:本站原创
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读