常用函数完全手册.docx
《常用函数完全手册.docx》由会员分享,可在线阅读,更多相关《常用函数完全手册.docx(99页珍藏版)》请在冰豆网上搜索。
常用函数完全手册
目录
一、函数和公式2
1.什么是函数2
2.什么是公式2
二、函数的参数2
1.常量3
3.数组3
4.错误值3
5.单元格引用3
6.嵌套函数4
7.名称和标志5
三、函数输入方法5
四、函数速查一览6
1、数据库函数6
2、日期与时间函数8
3、外部函数14
4、工程函数14
5、财务函数19
6、信息函数29
7、逻辑运算符31
8、查找和引用函数33
9、数学和三角函数38
10、统计函数48
11、文本和数据函数65
五、函数应用案例──信息统计74
一、函数和公式
1.什么是函数
Excel函数即是预先定义,执行计算、分析等处理数据任务的特殊公式。
以常用的求和函数SUM为例,它的语法是
“SUM(number1,number2,......)”。
其中“SUM”称为函数名称,一个函数只有唯一的一个名称,它决定了函数的功能和用途。
函数名称后紧跟左括号,接着是用逗号分隔的称为参数的内容,最后用一个右括号表示函数结束。
参数是函数中最复杂的组成部分,它规定了函数的运算对象、顺序或结构等。
使得用户可以对某个单元格或区域进行处理,如分析存款利息、确定成绩名次、计算三角函数值等。
按照函数的来源,Excel函数可以分为内置函数和扩展函数两大类。
前者只要启动了Excel,用户就可以使用它们;而后者必须通过单击“工具→加载宏”菜单命令加载,然后才能像内置函数那样使用。
2.什么是公式
函数与公式既有区别又互相联系。
如果说前者是Excel预先定义好的特殊公式,后者就是由用户自行设计对工作表进行计算和处理的公式。
以公式“=SUM(E1:
H1)*A1+26”为例,它要以等号“=”开始,其内部可以包括函数、引用、运算符和常量。
上式中的“SUM(E1:
H1)”是函数,“A1”则是对单元格A1的引用(使用其中存储的数据),“26”则是常量,“*”和“+”则是算术运算符(另外还有比较运算符、文本运算符和引用运算符)。
如果函数要以公式的形式出现,它必须有两个组成部分,一个是函数名称前面的等号,另一个则是函数本身。
二、函数的参数
函数右边括号中的部分称为参数,假如一个函数可以使用多个参数,那么参数与参数之间使用半角逗号进行分隔。
参数可以是常量(数字和文本)、逻辑值(例如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!
SAS1:
SAS8,[Book2]Sheet2!
SBS1:
SBS9)”,也就是在原来单元格引用的前面加上“[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(物理)”。
需要特别说明的是,创建好的名称可以被所有工作表引用,而且引用时不需要在名称前面添加工作表名(这就是使用名称的主要优点),因此名称引用实际上是一种绝对引用。
但是公式引用“列标志”时的限制较多,它只能在当前数据列的下方引用,不能跨越工作表引用,但是引用“列标志”的公式在一定条件下可以复制。
从本质上讲,名称和标志都是单元格引用的一种方式。
因为它们不是文本,使用时名称和标志都不能添加引号。
三、函数输入方法
对Excel公式而言,函数是其中的主要组成部分,因此公式输入可以归结为函数输入的问题。
“插入函数”对话框“插入函数”对话框是Excel输入公式的重要工具,以公式“=SUM(Sheet2!
A1:
A6,Sheet3!
B2:
B9)”为例,Excel输入该公式的具体过程是:
首先选中存放计算结果(即需要应用公式)的单元格,单击编辑栏(或工具栏)中的“fx”按钮,则表示公式开始的“=”出现在单元格和编辑栏,然后在打开的“插入函数”对话框中的“选择函数”列表找到“SUM”函数。
如果你需要的函数不在里面,可以打开“或选择类别”下拉列表进行选择。
最后单击“确定”按钮,打开“函数参数”对话框。
对SUM函数而言,它可以使用从number1开始直到number30共30个参数。
对上面的公式来说,首先应当把光标放在对话框的“number1”框中,单击工作簿中的“Sheet2!
”工作表标签,“Sheet2!
”即可自动进入其中,接着鼠标拖动选中你要引用的区域即可。
接着用鼠标单击对话框的“number2”框,单击工作簿中的“Sheet3!
”工作表标签,其2名称“Sheet3!
”即可自动进入其中,再按相同方法选择要引用的单元格区域即可。
上述方法的最大优点就是引用的区域很准确,特别是三维引用时不容易发生工作表或工作簿名称输入错误的问题。
2.编辑栏输入如果你要套用某个现成公式,或者输入一些嵌套关系复杂的公式,利用编辑栏输入更加快捷。
首先选中存放计算结果的单元格;鼠标单击Excel编辑栏,按照公式的组成顺序依次输入各个部分,公式输入完毕后,单击编辑栏中的“输入”(即“√”)按钮(或回车)即可。
手工输入时同样可以采取上面介绍的方法引用区域,以公式“=SUM(Sheet2!
A1:
A6,Sheet3!
B2:
B9)”为例,你可以先在编辑栏中输入“=SUM()”,然后将光标插入括号中间,再按上面介绍的方法操作就可以引用输入公式了。
但是分隔引用之间的逗号必须用手工输入,而不能像“插入函数”对话框那样自动添加。
在《电脑报2003年合订本附赠光盘》相应文章中,我们列出了所有Excel2003函数,供读者速查。
四、函数速查一览
1、数据库函数
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)参数:
同上3
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对用于描述检索数据的字段名和项名称,可以任意次序排列。
2、日期与时间函数
1.DATE
用途:
返回代表特定日期的序列号。
语法:
DATE(year,month,day)参数:
year为一到四位,根据使用的日期系统解释该参数。
默认情况下,ExcelforWindows使用1900日期系统,而ExcelforMacintosh使用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:
00A.M.)到23(11:
00P.M.)之间的一个整数。
语法:
HOUR(serial_number)
参数:
Serial_number表示一个时间值,其中包含着要返回的小时数。
它有多种输入方式:
带引号的文本串(如"6:
45
PM")、十进制数(如0.78125表示6:
45PM)或其他公式或函数的结果(如TIMEVALUE("6:
45PM"))。
实例:
公式“=HOUR("3:
30:
30PM")”返回15,=HOUR(0.5)返回12即12:
00:
00AM,=HOUR(29747.7)返回16。
8.MINUTE
用途:
返回时间值中的分钟,即介于0到59之间的一个整数。
语法:
MINUTE(serial_number)参数:
Serial_number是一个时间值,其中包含着要查找的分钟数。
时间有多种输入方式:
带引号的文本串(如"6:
45PM")、十进制数(如0.78125表示6:
45PM)或其他公式或函数的结果(如TIMEVALUE("6:
45PM"))。
实例:
公式“=MINUTE("15:
30:
00")”返回30,=MINUTE(0.06)返回26,=MINUTE(TIMEVALUE("9:
45PM"))返回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.NETWORKDAY