《Excel常用函数应用.doc》由会员分享,可在线阅读,更多相关《Excel常用函数应用.doc(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Excel常用函数应用一、 与求和有关的函数的应用SUM函数是Excel中使用最多的函数,利用它进行求和运算可以忽略存有文本、空格等数据的单元格,语法简单、使用方便。相信这也是大家最先学会使用的Excel函数之一。但是实际上,Excel所提供的求和函数不仅仅只有SUM一种,还包括SUBTOTAL、SUM、SUMIF、SUMPRODUCT、SUMSQ、SUMX2MY2、SUMX2PY2、SUMXMY2几种函数。这里笔者将以某单位工资表为例重点介绍SUM(计算一组参数之和)、SUMIF(对满足某一条件的单元格区域求和)的使用。(说明:为力求简单,示例中忽略税金的计算。) 图1 函数求和SUM1、行
2、或列求和以最常见的工资表(如上图)为例,它的特点是需要对行或列内的若干单元格求和。比如,求该单位2001年5月的实际发放工资总额,就可以在H13中输入公式:=SUM(H3:H12)2、区域求和区域求和常用于对一张工作表中的所有数据求总计。此时你可以让单元格指针停留在存放结果的单元格,然后在Excel编辑栏输入公式=SUM(),用鼠标在括号中间单击,最后拖过需要求和的所有单元格。若这些单元格是不连续的,可以按住Ctrl键分别拖过它们。对于需要减去的单元格,则可以按住Ctrl键逐个选中它们,然后用手工在公式引用的单元格前加上负号。当然你也可以用公式选项板完成上述工作,不过对于SUM函数来说手工还是
3、来的快一些。比如,H13的公式还可以写成:=SUM(D3:D12,F3:F12)-SUM(G3:G12)3、注意SUM函数中的参数,即被求和的单元格或单元格区域不能超过30个。换句话说,SUM函数括号中出现的分隔符(逗号)不能多于29个,否则Excel就会提示参数太多。对需要参与求和的某个常数,可用=SUM(单元格区域,常数)的形式直接引用,一般不必绝对引用存放该常数的单元格。SUMIFSUMIF函数可对满足某一条件的单元格区域求和,该条件可以是数值、文本或表达式,可以应用在人事、工资和成绩统计中。仍以上图为例,在工资表中需要分别计算各个科室的工资发放情况。 要计算销售部2001年5月加班费情
4、况。则在F15种输入公式为=SUMIF($C$3:$C$12,销售部,$F$3:$F$12)其中$C$3:$C$12为提供逻辑判断依据的单元格区域,销售部为判断条件即只统计$C$3:$C$12区域中部门为销售部的单元格,$F$3:$F$12为实际求和的单元格区域。二、与函数图像有关的函数应用我想大家一定还记得我们在学中学数学时,常常需要画各种函数图像。那个时候是用坐标纸一点点描绘,常常因为计算的疏忽,描不出平滑的函数曲线。现在,我们已经知道Excel几乎囊括了我们需要的各种数学和三角函数,那是否可以利用Excel函数与Excel图表功能描绘函数图像呢?当然可以。这里,笔者以正弦函数和余弦函数为
5、例说明函数图像的描绘方法。 图2 函数图像绘制1、 录入数据-如图所示,首先在表中录入数据,自B1至N1的单元格以30度递增的方式录入从0至360的数字,共13个数字。2、 求函数值-在第2行和第三行分别输入SIN和COS函数,这里需要注意的是:由于SIN等三角函数在Excel的定义是要弧度值,因此必须先将角度值转为弧度值。具体公式写法为(以D2为例): =SIN(D1*PI()/180)3、 选择图像类型-首先选中制作函数图像所需要的表中数据,利用Excel工具栏上的图表向导按钮(也可利用插入图表),在图表类型中选择XY散点图,再在右侧的子图表类型中选择无数据点平滑线散点图,单击下一步,出现
6、图表数据源窗口,不作任何操作,直接单击下一步。4、 图表选项操作-图表选项操作是制作函数曲线图的重要步骤,在图表选项窗口中进行(如图3),依次进行操作的项目有:标题-为图表取标题,本例中取名为正弦和余弦函数图像;为横轴和纵轴取标题。坐标轴-可以不做任何操作; 网格线-可以做出类似坐标纸上网格,也可以取消网格线; 图例-本例选择图例放在图像右边,这个可随具体情况选择;数据标志-本例未将数据标志在图像上,主要原因是影响美观。如果有特殊要求例外。5、完成图像-操作结束后单击完成,一幅图像就插入Excel的工作区了。6、 编辑图像-图像生成后,字体、图像大小、位置都不一定合适。可选择相应的选项进行修改
7、。所有这些操作可以先用鼠标选中相关部分,再单击右键弹出快捷菜单,通过快捷菜单中的有关项目即可进行操作。至此,一幅正弦和余弦函数图像制作完成。用同样的方法,还可以制作二次曲线、对数图像等等。三、常见数学函数使用技巧-四舍五入在实际工作的数学运算中,特别是财务计算中常常遇到四舍五入的问题。虽然,excel的单元格格式中允许你定义小数位数,但是在实际操作中,我们发现,其实数字本身并没有真正的四舍五入,只是显示结果似乎四舍五入了。如果采用这种四舍五入方法的话,在财务运算中常常会出现几分钱的误差,而这是财务运算不允许的。那是否有简单可行的方法来进行真正的四舍五入呢?其实,Excel已经提供这方面的函数了
8、,这就是ROUND函数,它可以返回某个数字按指定位数舍入后的数字。在Excel提供的数学与三角函数中提供了一个名为ROUND(number,num_digits)的函数,它的功能就是根据指定的位数,将数字四舍五入。这个函数有两个参数,分别是number和num_digits。其中number就是将要进行四舍五入的数字;num_digits则是希望得到的数字的小数点后的位数。如图3所示:单元格B2中为初始数据0.123456,B3的初始数据为0.234567,将要对它们进行四舍五入。在单元格C2中输入=ROUND(B2,2),小数点后保留两位有效数字,得到0.12、0.23。在单元格D2中输入=
9、ROUND(B2,4),则小数点保留四位有效数字,得到0.1235、0.2346。 图3 对数字进行四舍五入对于数字进行四舍五入,还可以使用INT(取整函数),但由于这个函数的定义是返回实数舍入后的整数值。因此,用INT函数进行四舍五入还是需要一些技巧的,也就是要加上0.5,才能达到取整的目的。仍然以图3为例,如果采用INT函数,则C2公式应写成:=INT(B2*100+0.5)/100。最后需要说明的是:本文所有公式均在Excel97和Excel2000中验证通过,修改其中的单元格引用和逻辑条件值,可用于相似的其他场合。附注:Excel的数学和三角函数一览表ABS 工作表函数返回参数的绝对值
10、ACOS 工作表函数返回数字的反余弦值ACOSH 工作表函数返回参数的反双曲余弦值ASIN 工作表函数返回参数的反正弦值ASINH 工作表函数返回参数的反双曲正弦值ATAN 工作表函数返回参数的反正切值ATAN2 工作表函数返回给定的 X 及 Y 坐标值的反正切值ATANH 工作表函数返回参数的反双曲正切值CEILING 工作表函数将参数 Number 沿绝对值增大的方向,舍入为最接近的整数或基数COMBIN 工作表函数计算从给定数目的对象集合中提取若干对象的组合数COS 工作表函数返回给定角度的余弦值COSH 工作表函数返回参数的双曲余弦值COUNTIF 工作表函数计算给定区域内满足特定条件
11、的单元格的数目DEGREES 工作表函数将弧度转换为度EVEN 工作表函数返回沿绝对值增大方向取整后最接近的偶数EXP 工作表函数返回 e 的 n 次幂常数 e 等于 2.71828182845904,是自然对数的底数FACT 工作表函数返回数的阶乘,一个数的阶乘等于 1*2*3*.*该数FACTDOUBLE 工作表函数返回参数 Number 的半阶乘FLOOR 工作表函数将参数 Number 沿绝对值减小的方向去尾舍入,使其等于最接近的 significance 的倍数GCD 工作表函数返回两个或多个整数的最大公约数INT 工作表函数返回实数舍入后的整数值LCM 工作表函数返回整数的最小公倍
12、数LN 工作表函数返回一个数的自然对数自然对数以常数项 e(2.71828182845904)为底LOG 工作表函数按所指定的底数,返回一个数的对数LOG10 工作表函数返回以 10 为底的对数MDETERM 工作表函数返回一个数组的矩阵行列式的值MINVERSE 工作表函数返回数组矩阵的逆距阵MMULT 工作表函数返回两数组的矩阵乘积结果MOD 工作表函数返回两数相除的余数结果的正负号与除数相同MROUND 工作表函数返回参数按指定基数舍入后的数值MULTINOMIAL 工作表函数返回参数和的阶乘与各参数阶乘乘积的比值ODD 工作表函数返回对指定数值进行舍入后的奇数PI 工作表函数返回数字
13、3.14159265358979,即数学常数 pi,精确到小数点后 15 位POWER 工作表函数返回给定数字的乘幂PRODUCT 工作表函数将所有以参数形式给出的数字相乘,并返回乘积值QUOTIENT 工作表函数回商的整数部分,该函数可用于舍掉商的小数部分RADIANS 工作表函数将角度转换为弧度RAND 工作表函数返回大于等于 0 小于 1 的均匀分布随机数RANDBETWEEN 工作表函数返回位于两个指定数之间的一个随机数ROMAN 工作表函数将阿拉伯数字转换为文本形式的罗马数字ROUND 工作表函数返回某个数字按指定位数舍入后的数字ROUNDDOWN 工作表函数靠近零值,向下(绝对值减
14、小的方向)舍入数字ROUNDUP 工作表函数远离零值,向上(绝对值增大的方向)舍入数字SERIESSUM 工作表函数返回基于以下公式的幂级数之和:SIGN 工作表函数返回数字的符号当数字为正数时返回 1,为零时返回 0,为负数时返回 -1SIN 工作表函数返回给定角度的正弦值SINH 工作表函数返回某一数字的双曲正弦值SQRT 工作表函数返回正平方根SQRTPI 工作表函数返回某数与 pi 的乘积的平方根SUBTOTAL 工作表函数返回数据清单或数据库中的分类汇总SUM 工作表函数返回某一单元格区域中所有数字之和SUMIF 工作表函数根据指定条件对若干单元格求和SUMPRODUCT 工作表函数
15、在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和SUMSQ 工作表函数返回所有参数的平方和SUMX2MY2 工作表函数返回两数组中对应数值的平方差之和SUMX2PY2 工作表函数返回两数组中对应数值的平方和之和,平方和加总在统计计算中经常使用SUMXMY2 工作表函数返回两数组中对应数值之差的平方和TAN 工作表函数返回给定角度的正切值TANH 工作表函数返回某一数字的双曲正切值TRUNC 工作表函数将数字的小数部分截去,返回整数用来判断真假值,或者进行复合检验的Excel函数,我们称为逻辑函数。在Excel中提供了六种逻辑函数。即AND、OR、NOT、FALSE、IF、TRUE函数
16、。一、AND、OR、NOT函数这三个函数都用来返回参数逻辑值。详细介绍见下:(一)AND函数所有参数的逻辑值为真时返回 TRUE;只要一个参数的逻辑值为假即返回 FALSE。简言之,就是当AND的参数全部满足某一条件时,返回结果为TRUE,否则为FALSE。语法为AND(logical1,logical2, .),其中Logical1, logical2, . 表示待检测的 1 到 30 个条件值,各条件值可能为TRUE,可能为 FALSE。 参数必须是逻辑值,或者包含逻辑值的数组或引用。举例说明:1、 在B2单元格中输入数字50,在C2中写公式=AND(B230,B260)。由于B2等于50
17、的确大于30、小于60。所以两个条件值(logical)均为真,则返回结果为TRUE。 图1 AND函数示例12、 如果 B1-B3 单元格中的值为 TRUE、FALSE、TRUE,显然三个参数并不都为真,所以在B4单元格中的公式=AND(B1:B3) 等于 FALSE 图2 AND函数示例2(二)OR函数OR函数指在其参数组中,任何一个参数逻辑值为 TRUE,即返回 TRUE。它与AND函数的区别在于,AND函数要求所有函数逻辑值均为真,结果方为真。而OR函数仅需其中任何一个为真即可为真。比如,上面的示例2,如果在B4单元格中的公式写为=OR(B1:B3)则结果等于TRUE 图3 OR函数示
18、例(三)NOT函数NOT函数用于对参数值求反。当要确保一个值不等于某一特定值时,可以使用 NOT 函数。简言之,就是当参数值为TRUE时,NOT函数返回的结果恰与之相反,结果为FALSE.比如NOT(2+2=4),由于2+2的结果的确为4,该参数结果为TRUE,由于是NOT函数,因此返回函数结果与之相反,为FALSE。二、TRUE、FALSE函数TRUE、FALSE函数用来返回参数的逻辑值,由于可以直接在单元格或公式中键入值TRUE或者FALSE。因此这两个函数通常可以不使用。三、IF函数(一)IF函数说明IF函数用于执行真假值判断后,根据逻辑测试的真假值返回不同的结果,因此If函数也称之为条
19、件函数。它的应用很广泛,可以使用函数 IF 对数值和公式进行条件检测。它的语法为IF(logical_test,value_if_true,value_if_false)。其中Logical_test表示计算结果为 TRUE 或 FALSE 的任意值或表达式。本参数可使用任何比较运算符。Value_if_true显示在logical_test 为 TRUE 时返回的值,Value_if_true 也可以是其他公式。Value_if_false logical_test 为 FALSE 时返回的值。Value_if_false 也可以是其他公式。简言之,如果第一个参数logical_test返回
20、的结果为真的话,则执行第二个参数Value_if_true的结果,否则执行第三个参数Value_if_false的结果。IF函数可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。Excel 还提供了可根据某一条件来分析数据的其他函数。例如,如果要计算单元格区域中某个文本串或数字出现的次数,则可使用 COUNTIF 工作表函数。如果要根据单元格区域中的某一文本串或数字求和,则可使用 SUMIF 工作表函数。(二)IF函数应用1、 输出带有公式的空白表单 图5 人事分析表1以图中所示的人事状况分析表为例,由于各部门关于人员的组成情况的数据尚
21、未填写,在总计栏(以单元格G5为例)公式为:=SUM(C5:F5)我们看到计算为0的结果。如果这样的表格打印出来就页面的美观来看显示是不令人满意的。是否有办法去掉总计栏中的0呢?你可能会说,不写公式不就行了。当然这是一个办法,但是,如果我们利用了IF函数的话,也可以在写公式的情况下,同样不显示这些0。如何实现呢?只需将总计栏中的公式(仅以单元格G5为例)改写成:=IF(SUM(C5:F5),SUM(C5:F5),)通俗的解释就是:如果SUM(C5:F5)不等于零,则在单元格中显示SUM(C5:F5)的结果,否则显示字符串。几点说明:(1) SUM(C5:F5)不等于零的正规写法是SUM(C5:
22、F5)0,在EXCEL中可以省略0;(2) 表示字符串的内容为空,因此执行的结果是在单元格中不显示任何字符。 图42、 不同的条件返回不同的结果如果对上述例子有了很好的理解后,我们就很容易将IF函数应用到更广泛的领域。比如,在成绩表中根据不同的成绩区分合格与不合格。现在我们就以某班级的英语成绩为例具体说明用法。 图6某班级的成绩如图6所示,为了做出最终的综合评定,我们设定按照平均分判断该学生成绩是否合格的规则。如果各科平均分超过60分则认为是合格的,否则记作不合格。根据这一规则,我们在综合评定中写公式(以单元格B12为例):=IF(B1160,合格,不合格)语法解释为,如果单元格B11的值大于
23、60,则执行第二个参数即在单元格B12中显示合格字样,否则执行第三个参数即在单元格B12中显示不合格字样。在综合评定栏中可以看到由于C列的同学各科平均分为54分,综合评定为不合格。其余均为合格。3、 多层嵌套函数的应用在上述的例子中,我们只是将成绩简单区分为合格与不合格,在实际应用中,成绩通常是有多个等级的,比如优、良、中、及格、不及格等。有办法一次性区分吗?可以使用多层嵌套的办法来实现。仍以上例为例,我们设定综合评定的规则为当各科平均分超过90时,评定为优秀。如图7所示。 图7说明:为了解释起来比较方便,我们在这里仅做两重嵌套的示例,您可以按照实际情况进行更多重的嵌套,但请注意Excel的I
24、F函数最多允许七重嵌套。根据这一规则,我们在综合评定中写公式(以单元格F12为例):=IF(F1160,IF(AND(F1190),优秀,合格),不合格)语法解释为,如果单元格F11的值大于60,则执行第二个参数,在这里为嵌套函数,继续判断单元格F11的值是否大于90(为了让大家体会一下AND函数的应用,写成AND(F1190),实际上可以仅写F1190),如果满足在单元格F12中显示优秀字样,不满足显示合格字样,如果F11的值以上条件都不满足,则执行第三个参数即在单元格F12中显示不合格字样。在综合评定栏中可以看到由于F列的同学各科平均分为92分,综合评定为优秀。(三)根据条件计算值在了解了
25、IF函数的使用方法后,我们再来看看与之类似的Excel提供的可根据某一条件来分析数据的其他函数。例如,如果要计算单元格区域中某个文本串或数字出现的次数,则可使用 COUNTIF 工作表函数。如果要根据单元格区域中的某一文本串或数字求和,则可使用 SUMIF 工作表函数。关于SUMIF函数在数学与三角函数中以做了较为详细的介绍。这里重点介绍COUNTIF的应用。COUNTIF可以用来计算给定区域内满足特定条件的单元格的数目。比如在成绩表中计算每位学生取得优秀成绩的课程数。在工资表中求出所有基本工资在2000元以上的员工数。语法形式为COUNTIF(range,criteria)。其中Range为
26、需要计算其中满足条件的单元格数目的单元格区域。Criteria确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、32、32、apples。1、成绩表这里仍以上述成绩表的例子说明一些应用方法。我们需要计算的是:每位学生取得优秀成绩的课程数。规则为成绩大于90分记做优秀。如图8所示 图8根据这一规则,我们在优秀门数中写公式(以单元格B13为例):=COUNTIF(B4:B10,90)语法解释为,计算B4到B10这个范围,即jarry的各科成绩中有多少个数值大于90的单元格。在优秀门数栏中可以看到jarry的优秀门数为两门。其他人也可以依次看到。2、 销售
27、业绩表销售业绩表可能是综合运用IF、SUMIF、COUNTIF非常典型的示例。比如,可能希望计算销售人员的订单数,然后汇总每个销售人员的销售额,并且根据总发货量决定每次销售应获得的奖金。原始数据表如图9所示(原始数据是以流水单形式列出的,即按订单号排列) 图9 原始数据表按销售人员汇总表如图10所示 图10 销售人员汇总表如图10所示的表完全是利用函数计算的方法自动汇总的数据。首先建立一个按照销售人员汇总的表单样式,如图所示。然后分别计算订单数、订单总额、销售奖金。(1) 订单数 -用COUNTIF计算销售人员的订单数。以销售人员ANNIE的订单数公式为例。公式:=COUNTIF($C$2:$
28、C$13,A17)语法解释为计算单元格A17(即销售人员ANNIE)在销售人员清单$C$2:$C$13的范围内(即图9所示的原始数据表)出现的次数。这个出现的次数即可认为是该销售人员ANNIE的订单数。(2) 订单总额-用SUMIF汇总每个销售人员的销售额。以销售人员ANNIE的订单总额公式为例。公式:=SUMIF($C$2:$C$13,A17,$B$2:$B$13)此公式在销售人员清单$C$2:$C$13中检查单元格A17 中的文本(即销售人员ANNIE),然后计算订单金额列($B$2:$B$13)中相应量的和。这个相应量的和就是销售人员ANNIE的订单总额。(3) 销售奖金-用IF根据订单
29、总额决定每次销售应获得的奖金。假定公司的销售奖金规则为当订单总额超过5万元时,奖励幅度为百分之十五,否则为百分之十。根据这一规则仍以销售人员ANNIE为例说明。公式为:=IF(C1750000,10%,15%)*C17如果订单总额小于 50000则奖金为 10%;如果订单总额大于等于 50000,则奖金为 15%。至此,我们已完全了解了EXCEL函数的逻辑函数,相信大家在实际工作中会想出更多更有用的运用。所谓文本函数,就是可以在公式中处理文字串的函数。例如,可以改变大小写或确定文字串的长度;可以替换某些字符或者去除某些字符等。而日期和时间函数则可以在公式中分析和处理日期值和时间值。关于这两类函
30、数的列表参看附表,这里仅对一些常用的函数做简要介绍。一、文本函数(一)大小写转换LOWER-将一个文字串中的所有大写字母转换为小写字母。UPPER-将文本转换成大写形式。PROPER-将文字串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。这三种函数的基本语法形式均为 函数名(text)。示例说明:已有字符串为:pLease ComE Here! 可以看到由于输入的不规范,这句话大小写乱用了。通过以上三个函数可以将文本转换显示样式,使得文本变得规范。参见图1Lower(pLease ComE Here!)= please come here!upper(pLease C
31、omE Here!)= PLEASE COME HERE!proper(pLease ComE Here!)= Please Come Here! 图1(二)取出字符串中的部分字符您可以使用Mid、Left、Right等函数从长字符串内获取一部分字符。具体语法格式为LEFT函数:LEFT(text,num_chars)其中Text是包含要提取字符的文本串。Num_chars指定要由 LEFT 所提取的字符数。MID函数:MID(text,start_num,num_chars)其中Text是包含要提取字符的文本串。Start_num是文本中要提取的第一个字符的位置。RIGHT函数:RIGHT(
32、text,num_chars)其中Text是包含要提取字符的文本串。Num_chars指定希望 RIGHT 提取的字符数。比如,从字符串This is an apple.分别取出字符This、apple、is的具体函数写法为。LEFT(This is an apple,4)=ThisRIGHT(This is an apple,5)=appleMID(This is an apple,6,2)=is 图2(三)去除字符串的空白在字符串形态中,空白也是一个有效的字符,但是如果字符串中出现空白字符时,容易在判断或对比数据是发生错误,在Excel中您可以使用Trim函数清除字符串中的空白。语法形式为
33、:TRIM(text)其中Text为需要清除其中空格的文本。需要注意的是,Trim函数不会清除单词之间的单个空格,如果连这部分空格都需清除的话,建议使用替换功能。比如,从字符串My name is Mary中清除空格的函数写法为:TRIM(My name is Mary)=My name is Mary 参见图3 图3(四)字符串的比较在数据表中经常会比对不同的字符串,此时您可以使用EXACT函数来比较两个字符串是否相同。该函数测试两个字符串是否完全相同。如果它们完全相同,则返回 TRUE;否则,返回 FALSE。函数 EXACT 能区分大小写,但忽略格式上的差异。利用函数 EXACT 可以测
34、试输入文档内的文字。语法形式为:EXACT(text1,text2)Text1为待比较的第一个字符串。Text2为待比较的第二个字符串。举例说明:参见图4EXACT(China,china)=False 图4二、日期与时间函数在数据表的处理过程中,日期与时间的函数是相当重要的处理依据。而Excel在这方面也提供了相当丰富的函数供大家使用。(一)取出当前系统时间/日期信息用于取出当前系统时间/日期信息的函数主要有NOW、TODAY。语法形式均为 函数名()。(二)取得日期/时间的部分字段值如果需要单独的年份、月份、日数或小时的数据时,可以使用HOUR、DAY、MONTH、YEAR函数直接从日期/
35、时间中取出需要的数据。具体示例参看图5。比如,需要返回2001-5-30 12:30 PM的年份、月份、日数及小时数,可以分别采用相应函数实现。YEAR(E5)=2001MONTH(E5)=5DAY(E5)=30HOUR(E5)=12 图5此外还有更多有用的日期/时间函数,可以查阅附表。下面我们将以一个具体的示例来说明Excel的文本函数与日期函数的用途。三、示例:做一个美观简洁的人事资料分析表1、 示例说明在如图6所示的某公司人事资料表中,除了编号、员工姓名、身份证号码以及参加工作时间为手工添入外,其余各项均为用函数计算所得。 图6在此例中我们将详细说明如何通过函数求出:(1)自动从身份证号
36、码中提取出生年月、性别信息。(2)自动从参加工作时间中提取工龄信息。2、身份证号码相关知识在了解如何实现自动从身份证号码中提取出生年月、性别信息之前,首先需要了解身份证号码所代表的含义。我们知道,当今的身份证号码有15/18位之分。早期签发的身份证号码是15位的,现在签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。这两种身份证号码将在相当长的一段时期内共存。两种身份证号码的含义如下:(1)15位的身份证号码:16位为地区代码,78位为出生年份(2位),910位为出生月份,1112位为出生日期,第1315位为顺序号,并能够判断性别,奇数为男,偶数为女。(2)18位的身
37、份证号码:16位为地区代码,710位为出生年份(4位),1112位为出生月份,1314位为出生日期,第1517位为顺序号,并能够判断性别,奇数为男,偶数为女。18位为效验位。3、 应用函数在此例中为了实现数据的自动提取,应用了如下几个Excel函数。(1)IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。语法形式为:IF(logical_test, value_if_true,value_if_false)(2)CONCATENATE:将若干个文字项合并至一个文字项中。语法形式为:CONCATENATE(text1,text2)(3)MID:从文本字符串中指定的起始位置起,返
38、回指定长度的字符。语法形式为:MID(text,start_num,num_chars)(4)TODAY:返回计算机系统内部的当前日期。语法形式为:TODAY()(5)DATEDIF:计算两个日期之间的天数、月数或年数。语法形式为:DATEDIF(start_date,end_date,unit)(6)VALUE:将代表数字的文字串转换成数字。语法形式为:VALUE(text)(7)RIGHT:根据所指定的字符数返回文本串中最后一个或多个字符。语法形式为:RIGHT(text,num_chars)(8)INT:返回实数舍入后的整数值。语法形式为:INT(number)4、 公式写法及解释(以员
39、工Andy为例说明)说明:为避免公式中过多的嵌套,这里的身份证号码限定为15位的。如果您看懂了公式的话,可以进行简单的修改即可适用于18位的身份证号码,甚至可适用于15、18两者并存的情况。(1)根据身份证号码求性别=IF(VALUE(RIGHT(E4,3)/2=INT(VALUE(RIGHT(E4,3)/2),女,男)公式解释:a. RIGHT(E4,3)用于求出身份证号码中代表性别的数字,实际求得的为代表数字的字符串b. VALUE(RIGHT(E4,3)用于将上一步所得的代表数字的字符串转换为数字c. VALUE(RIGHT(E4,3)/2=INT(VALUE(RIGHT(E4,3)/2
40、用于判断这个身份证号码是奇数还是偶数,当然你也可以用Mod函数来做出判断。d. =IF(VALUE(RIGHT(E4,3)/2=INT(VALUE(RIGHT(E4,3)/2),女,男)及如果上述公式判断出这个号码是偶数时,显示女,否则,这个号码是奇数的话,则返回男。(2)根据身份证号码求出生日期=CONCATENATE(19,MID(E4,7,2),/,MID(E4,9,2),/,MID(E4,11,2)公式解释:a. MID(E4,7,2)为在身份证号码中获取表示年份的数字的字符串b. MID(E4,9,2) 为在身份证号码中获取表示月份的数字的字符串c. MID(E4,11,2) 为在身
41、份证号码中获取表示日期的数字的字符串d. CONCATENATE(19,MID(E4,7,2),/,MID(E4,9,2),/,MID(E4,11,2)目的就是将多个字符串合并在一起显示。(3)根据参加工作时间求年资(即工龄)=CONCATENATE(DATEDIF(F4,TODAY(),y),年,DATEDIF(F4,TODAY(),ym),个月)公式解释:a. TODAY()用于求出系统当前的时间b. DATEDIF(F4,TODAY(),y)用于计算当前系统时间与参加工作时间相差的年份c. DATEDIF(F4,TODAY(),ym)用于计算当前系统时间与参加工作时间相差的月份,忽略日期
42、中的日和年。d. =CONCATENATE(DATEDIF(F4,TODAY(),y),年,DATEDIF(F4,TODAY(),ym),个月)目的就是将多个字符串合并在一起显示。5. 其他说明在这张人事资料表中我们还发现,创建日期:31-05-2001时显示在同一个单元格中的。这是如何实现的呢?难道是手工添加的吗?不是,实际上这个日期还是变化的,它显示的是系统当前时间。这里是利用函数 TODAY 和函数 TEXT 一起来创建一条信息,该信息包含着当前日期并将日期以dd-mm-yyyy的格式表示。具体公式写法为:=创建日期:&TEXT(TODAY(),dd-mm-yyyy)至此,我们对于文本函
43、数、日期与时间函数已经有了大致的了解,同时也设想了一些应用领域。相信随着大家在这方面的不断研究,会有更广泛的应用。附一:文本函数函数名函数说明语法ASC将字符串中的全角(双字节)英文字母更改为半角(单字节)字符。ASC(text)CHAR返回对应于数字代码的字符,函数 CHAR 可将其他类型计算机文件中的代码转换为字符。CHAR(number)CLEAN删除文本中不能打印的字符。对从其他应用程序中输入的字符串使用 CLEAN 函数,将删除其中含有的当前操作系统无法打印的字符。例如,可以删除通常出现在数据文件头部或尾部、无法打印的低级计算机代码。CLEAN(text)CODE返回文字串中第一个字
44、符的数字代码。返回的代码对应于计算机当前使用的字符集。CODE(text)CONCATENATE将若干文字串合并到一个文字串中。CONCATENATE (text1,text2,.)DOLLAR依照货币格式将小数四舍五入到指定的位数并转换成文字。DOLLAR 或 RMB(number,decimals)EXACT该函数测试两个字符串是否完全相同。如果它们完全相同,则返回 TRUE;否则,返回 FALSE。函数 EXACT 能区分大小写,但忽略格式上的差异。利用函数 EXACT 可以测试输入文档内的文字。EXACT(text1,text2)FINDFIND 用于查找其他文本串 (within_t
45、ext) 内的文本串 (find_text),并从 within_text 的首字符开始返回 find_text 的起始位置编号。FIND(find_text,within_text,start_num)FIXED按指定的小数位数进行四舍五入,利用句点和逗号,以小数格式对该数设置格式,并以文字串形式返回结果。FIXED(number,decimals,no_commas)JIS将字符串中的半角(单字节)英文字母或片假名更改为全角(双字节)字符。JIS(text)LEFTLEFT 基于所指定的字符数返回文本串中的第一个或前几个字符。LEFTB 基于所指定的字节数返回文本串中的第一个或前几个字符。
46、此函数用于双字节字符。LEFT(text,num_chars)LEFTB(text,num_bytes)LENLEN 返回文本串中的字符数。LENB 返回文本串中用于代表字符的字节数。此函数用于双字节字符。LEN(text)LENB(text)LOWER将一个文字串中的所有大写字母转换为小写字母。LOWER(text)MIDMID 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。MIDB 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。此函数用于双字节字符。MID(text,start_num,num_chars)MIDB(text,start_num,num_bytes)PHONETIC提取文本串中的拼音 (furigana) 字符。PHONETIC(reference)PROPER将文字串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。PROPER(text)REPLACEREPLACE 使用