Excel 2003函数应用完全手册收藏(一)

Excel 2003函数应用完全手册收藏

一、函数应用基础  

    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<B4,B4<   p>    

    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。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值