Excel2003 函数完全手册
  一、函数应用基础
  1.函数和公式
  (1)什么是函数
   Excel函数即是预先定义,执行计算、分析等处理数据任务的特殊公式。以常用的求和函数SUM为例,它的语法是“SUM(number1, number2,......)”。其中“SUM”称为函数名称,一个函数只有唯一的一个名称,它决定了函数的功能和用途。函数名称后紧跟左括号,接着是 用逗号分隔的称为参数的内容,最后用一个右括号表示函数结束。
  参数是函数中最复杂的组成部分,它规定了函数的运算对象、顺序或结构等。使得用户可以对某个单元格或区域进行处理,如分析存款利息、确定成绩名次、计算三角函数值等。
  按照函数的来源,Excel函数可以分为内置函数和扩展函数两大类。前者只要启动了Excel,用户就可以使用它们;而后者必须通过单击“工具→加载宏”菜单命令加载,然后才能像内置函数那样使用。
  (2)什么是公式
   函数与公式既有区别又互相联系。如果说前者是Excel预先定义好的特殊公式,后者就是由用户自行设计对工作表进行计算和处理的公式。以公式“=SUM (E1:H1)*A1+26”为例,它
要以等号“=”开始,其内部可以包括函数、引用、运算符和常量。上式中的“SUM(E1:H1)”是函数,“A1 则是对单元格A1的引用(使用其中存储的数据),“26”则是常量,“*”和“+”则是算术运算符(另外还有比较运算符、文本运算符和引用运算符)
  如果函数要以公式的形式出现,它必须有两个组成部分,一个是函数名称前面的等号,另一个则是函数本身。
  2.函数的参数
   函数右边括号中的部分称为参数,假如一个函数可以使用多个参数,那么参数与参数之间使用半角逗号进行分隔。参数可以是常量(数字和文本)、逻辑值(例如 TRUEFALSE)、数组、错误值(例如#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行中 567889和第2行中的907680,就应该建立一个23列的常量数组“{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)”。
   上面的几个实例引用的都是同一工作表中的数据,如果要分析同一工作簿中多张工作
表上的数据,就要使用三维引用。假如公式放在工作表Sheet1C6 元格,要引用工作表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开始直到number3030个参数。对上面的公式来说,首先 应当把光标放在对话框的“number1”框中,单击工作簿中的“Sheet2!”工作表标签,“Sheet2!”即可自动进入其中,接着鼠标拖动选中你 要引用的区域即可。接着用鼠标单击对话框的“number2”框,单击工作簿中的“Sheet3!”工作表标签,其名称“Sheet3!”即可自动进入其 中,再按相同方法选择要引用的单元格区域即可。
  上述方法的最大优点就是引用的区域很准确,特别是三维引用时不容易发生工作表或工作簿名称输入错误的问题。
  (2)编辑栏输入
  如果你要套用某个现成公式,或者输入一些嵌套关系复杂的公式,利用编辑栏输入更加快捷。
  首先选中存放计算结果的单元格;鼠标单击Excel编辑栏,按照公式的组成顺序依次输入各个部分,公式输入完毕后,单击编辑栏中的“输入”(即“√”)按钮(或回车)即可。
   手工输入时同样可以采取上面介绍的方法引用区域,以公式“=SUM(Sheet2!A1:A6,Sheet3!B2:B9)”为例,你可以先在编辑栏中 输入“=SUM()”,然后将光标插入括号中间,再按上面介绍的方法操作就可以引用输入公式了。但是分隔引用之间的逗号必须用手工输入,而不能像“插入函 数”对话框那样自动添加。
二、函数速查一览
  ()数据库函数
  1.DAVERAGE
  用途:返回数据库或数据清单中满足指定条件的列中数值的平均值。
  语法:DAVERAGE(databasefieldcriteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  2.DCOUNT
  用途:返回数据库或数据清单的指定字段中,满足给定条件并且包含数字的单元格数目。
  语法:DCOUNT(databasefieldcriteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  3.DCOUNTA
  用途:返回数据库或数据清单指定字段中满足给定条件的非空单元格数目。
  语法:DCOUNTA(databasefieldcriteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  4.DGET
  用途:从数据清单或数据库中提取符合指定条件的单个值。
  语法:DGET(databasefieldcriteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  5.DMAX
  用途:返回数据清单或数据库的指定列中,满足给定条件单元格中的最大数值。
  语法:DMAX(databasefieldcriteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  6.DMIN
  用途:返回数据清单或数据库的指定列中满足给定条件的单元格中的最小数字。
  语法:DMIN(databasefieldcriteria)
  参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria为一组包含给定条件的单元格区域。
  7.DPRODUCT
  用途:返回数据清单或数据库的指定列中,满足给定条件单元格中数值乘积。
  语法:DPRODUCT(databasefieldcriteria)
  参数:同上
  8.DSTDEV
  用途:将列表或数据库的列中满足指定条件的数字作为一个样本,估算样本总体的标准偏差。
  语法:DSTDEV(databasefieldcriteria)
  参数:同上
  9.DSTDEVP
  参数:将数据清单或数据库的指定列中,满足给定条件单元格中的数字作为样本总体,计算总体的标准偏差。
  语法:DSTDEVP(databasefieldcriteria)
  参数:同上
  10.DSUM
  用途:返回数据清单或数据库的指定列中,满足给定条件单元格中的数字之和。
  语法:DSUM(databasefieldcriteria)
  参数:同上
  11.DVAR
  用途:将数据清单或数据库的指定列中满足给定条件单元格中的数字作为一个样本,估算样本总体的方差。
  语法:DVAR(databasefieldcriteria)
  参数:同上
  12.DVARP
  用途:将数据清单或数据库的指定列中满足给定条件单元格中的数字作为样本总体,计算总体的方差。
  语法:DVARP(databasefieldcriteria)
  参数:同上
  13.GETPIVOTDATA
  用途:返回存储在数据透视表报表中的数据。如果报表中的汇总数据可见,则可以使用函数GETPIVOTDATAexcel数组函数的实例从数据透视表报表中检索汇总数据。
  语法:GETPIVOTDATA(pivot_tablename)
   参数:Data_field为包含要检索的数据的数据字段的名称(放在引号中)Pivot_table在数据透视表中对任何单元格、单元格区域或定义 的单元格区域的引用,该信息用于决定哪个数据数据透视表包含要检索的数据。Field1Item1Field2Item2114对用于描述检索 数据的字段名和项名称,可以任意次序排列。
()日期与时间函数
  1.DATE
  用途:返回代表特定日期的序列号。
  语法:DATE(yearmonthday)
   参数:year为一到四位,根据使用的日期系统解释该参数。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法 运算。Day代表在该月份中第几天的数字。如果 day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加。
  实例:如果采用1900日期系统(Excel默认),则公式“=DATE(200111)”返回36892
  2.DATEVALUE
  用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。
  语法:DATEVALUE(date_text)
  参数:Date_text是用Excel日期格式表示日期的文本。如果省略参数date_text中的年代,则函数DATEVALUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。
  实例:公式“=DATEVALUE("2001/3/5")”返回36955DATEVALUE("2-26")返回36948
  3.DAY
  用途:返回用序列号(整数131)表示的某日期的天数,用整数 1  31 表示。
  语法:DAY(serial_number)
  参数:Serial_number是要查的天数日期,
  实例:公式“=DAY("2001/1/27")”返回27=DAY(35825)返回30=DAY(DATEVALUE("2001/1/25"))返回25
  4.DAYS360
  用途:按照一年360天的算法(每个月30天,一年共计12 个月),返回两日期间相差的天数。
  语法:DAYS360(start_dateend_datemethod)
   参数:Start_dateend_date是用于计算期间天数的起止日期。如果start_dateend_date之后,则DAYS360将返 回一个负数。  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_datemonths)
  参数:Start_date参数代表开始日期。Months 为在start_date之前或之后的月份数,未来日期用正数表示,过去日期用负数表示。
  实例:公式“=EDATE("2001/3/5"2)”返回37016200155日,=EDATE("2001/3/5"-6)返回36774200095日。
  6.EOMONTH
  用途:返回start-date之前或之后指定月份中最后一天的序列号。
  语法:EOMONTH(start_datemonths)
  参数:Start_date参数代表开始日期。Monthstart_date之前或之后的月份数,正数表示未来日期,负数表示过去日期。
  实例:公式“=EOMONTH("2001/01/01"2)”返回369812001331日,=EOMONTH("2001/01/01"-6)返回367382000731日。
  7.HOUR
  用途:返回时间值的小时数。即介于0(12:00 A.M.)23(11:00 P.M.) 之间的一个整数。
  语法:HOUR(serial_number)
  参数:Serial_number表示一个时间值,其中包含着要返回的小时数。
  实例:公式“=HOUR("3:30:30 PM")”返回15=HOUR(0.5)返回1212:00:00 AM=HOUR(29747.7)返回16
  8.MINUTE
  用途:返回时间值中的分钟,即介于059之间的一个整数。
  语法:MINUTE(serial_number)
  参数:Serial_number是一个时间值,
  实例:公式“=MINUTE("15:30:00")”返回30=MINUTE(0.06)返回26=MINUTE(TIMEVALUE("9:45 PM"))返回45
  9.MONTH
  用途:返回以序列号表示的日期中的月份,它是介于 1(一月)12(十二月)之间的整数。
  语法:MONTH(serial_number)
  参数:Serial_number表示一个日期值,其中包含着要查的月份。
  实例:公式“=MONTH("2001/02/24")”返回2=MONTH(35825)返回1=MONTH(DATEVALUE("2000/6/30"))返回6
  10.NETWORKDAYS
  用途:返回参数start-dataend-data之间完整的工作日(不包括周末和专门指定的假期)数值。
  语法:NETWORKDAYS(start_dateend_dateholidays)
  参数:Start_date代表开始日期,End_date代表终止日;Holidays是表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。
  注意:该函数只有加载“分析工具库”以后方能使用。
  11.NOW
  用途:返回当前日期和时间所对应的序列号。
  语法:NOW()
  参数:无
  实例:如果正在使用的是1900日期系统,而且计算机的内部时钟为 2001-1-28 12:53,则公式“=NOW()”返回36919.54
  12.SECOND
  用途:返回时间值的秒数(059之间的一个整数)
  语法: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(hourminutesecond)
  参数:Hour023之间的数,代表小时;Minute059之间的数,代表分;Second059之间的数,代表秒。
   实例:公式“=TIME(121030)”返回序列号0.51,等价于12:10:30 PM=TIME(93010)返回序列号0.40 等价于9:30:10 AM=TEXT(TIME(231814)"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_numberreturn_type)
  参数:Serial_number是要返回日期数的日期。Return_type为确定返回值类型的数字,数字1或省略则17代表星期天到数星期六,数字217代表星期一到星期天,数字306代表星期一到星期天。 
  实例:公式“=WEEKDAY("2001/8/28"2)”返回2(星期二)=WEEKDAY("2003/02/23"3)返回6(星期日)
  17.WEEKNUM
  用途:返回一个数字,该数字代表一年中的第几周。
  语法:WEEKNUM(serial_numreturn_type)
  参数:Serial_num代表一周中的日期。应使用DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。Return_type为一数字,确定星期计算从哪一天开始。默认值为 1
  18.WORKDAY
  用途:返回某日期(起始日期)之前或之后相隔指定工作日(不包括周末和专门指定的假日)的某一日期的值,并扣除周末或假日。
  语法:WORKDAY(start_datedaysholidays)
   参数:Start_date为开始日期;DaysStart_date之前或之后不含周末及节假日的天数;Days是正值将产生未来日期、负值产生过 去日期;Holidays为可选的数据清单,表示需要从工作日历中排除的日期值(如法定假日或非法定假日)。此清单可以是包含日期的单元格区域,也可以是 由代表日期的序列号所构成的数组常量。
   19.YEAR
  用途:返回某日期的年份。其结果为19009999之间的一个整数。
  语法:YEAR(serial_number)
  参数:Serial_number是一个日期值,其中包含要查的年份。
  实例:公式“=YEAR("2000/8/6")返回2000”,=YEAR("2003/05/01")返回2003=YEAR(35825)返回1998
  20.YEARFRAC
  用途:返回start_dateend_date之间的天数占全年天数的百分比。
  语法:YEARFRAC(start_dateend_datebasis)
  参数:Start_date表示开始日期,End_date代表结束日期。Basis表示日计数基准类型,其中0或省略为US(NASD)30/3601实际天数/实际天数,2实际天数/3603实际天数/3654欧洲30/360
  实例:公式“=YEARFRAC("2001/01/31""2001/06/30"0)”返回0.416666667YEARFRAC("2001/01/25""2001/09/27")返回0.67222

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。