编者语:Excel是办公室自动化中非常重要的一款软件,很多巨型国际企业都是依靠Excel进行数据管理。它不仅仅能够方便的处理表格和进行图形分析,其更强大的功能体现在对数据的自动处理和计算,然而很多缺少理工科背景或是对Excel强大数据处理功能不了解的人却难以进一步深入。编者以为,对Excel函数应用的不了解正是阻挡普通用户完全掌握Excel的拦路虎,然而目前这一部份内容的教学文章却又很少见,所以特别组织了这一个《Excel函数应用》系列,希望能够对Excel进阶者有所帮助。《Excel函数应用》系列,将每周更新,逐步系统的介绍Excel各类函数及其应用,敬请关注! 所谓文本函数,就是可以在公式中处理文字串的函数。例如,可以改变大小写或确定文字串的长度;可以替换某些字符或者去除某些字符等。而日期和时间函数则可以在公式中分析和处理日期值和时间值。关于这两类函数的列表参看附表,这里仅对一些常用的函数做简要介绍。 一、文本函数 (一)大小写转换 LOWER--将一个文字串中的所有大写字母转换为小写字母。 UPPER--将文本转换成大写形式。 PROPER--将文字串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。 这三种函数的基本语法形式均为 函数名(text)。示例说明: 已有字符串为:pLease ComE Here! 可以看到由于输入的不规范,这句话大小写乱用了。 通过以上三个函数可以将文本转换显示样式,使得文本变得规范。参见图1 Lower(pLease ComE Here!)= please come here! upper(pLease ComE Here!)= PLEASE COME HERE! proper(pLease ComE Here!)= Please Come Here! 您可以使用Mid、Left、Right等函数从长字符串内获取一部分字符。具体语法格式为 LEFT函数:LEFT(text,num_chars)其中Text是包含要提取字符的文本串。Num_chars指定要由 LEFT 所提取的字符数。 MID函数:MID(text,start_num,num_chars)其中Text是包含要提取字符的文本串。Start_num是文本中要提取的第一个字符的位置。 RIGHT函数:RIGHT(text,num_chars)其中Text是包含要提取字符的文本串。Num_chars指定希望 RIGHT 提取的字符数。 比如,从字符串"This is an apple."分别取出字符"This"、"apple"、"is"的具体函数写法为。 LEFT("This is an apple",4)=This RIGHT("This is an apple",5)=apple MID("This is an apple",6,2)=is 在字符串形态中,空白也是一个有效的字符,但是如果字符串中出现空白字符时,容易在判断或对比数据是发生错误,在Excel中您可以使用Trim函数清除字符串中的空白。 语法形式为:TRIM(text)其中Text为需要清除其中空格的文本。 需要注意的是,Trim函数不会清除单词之间的单个空格,如果连这部分空格都需清除的话,建议使用替换功能。比如,从字符串"My name is Mary"中清除空格的函数写法为:TRIM("My name is Mary")=My name is Mary 参见图3 在数据表中经常会比对不同的字符串,此时您可以使用EXACT函数来比较两个字符串是否相同。该函数测试两个字符串是否完全相同。如果它们完全相同,则返回 TRUE;否则,返回 FALSE。函数 EXACT 能区分大小写,但忽略格式上的差异。利用函数 EXACT 可以测试输入文档内的文字。语法形式为:EXACT(text1,text2)Text1为待比较的第一个字符串。Text2为待比较的第二个字符串。举例说明:参见图4 EXACT("China","china")=False 在数据表的处理过程中,日期与时间的函数是相当重要的处理依据。而Excel在这方面也提供了相当丰富的函数供大家使用。 (一)取出当前系统时间/日期信息 用于取出当前系统时间/日期信息的函数主要有NOW、TODAY。 语法形式均为 函数名()。 (二)取得日期/时间的部分字段值 如果需要单独的年份、月份、日数或小时的数据时,可以使用HOUR、DAY、MONTH、YEAR函数直接从日期/时间中取出需要的数据。具体示例参看图5。 比如,需要返回2001-5-30 12:30 PM的年份、月份、日数及小时数,可以分别采用相应函数实现。 YEAR(E5)=2001 MONTH(E5)=5 DAY(E5)=30 HOUR(E5)=12 三、示例:做一个美观简洁的人事资料分析表 1、 示例说明 在如图6所示的某公司人事资料表中,除了编号、员工姓名、身份证号码以及参加工作时间为手工添入外,其余各项均为用函数计算所得。 (1)自动从身份证号码中提取出生年月、性别信息。 (2)自动从参加工作时间中提取工龄信息。 2、身份证号码相关知识 在了解如何实现自动从身份证号码中提取出生年月、性别信息之前,首先需要了解身份证号码所代表的含义。我们知道,当今的身份证号码有15/18位之分。早期签发的身份证号码是15位的,现在签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。这两种身份证号码将在相当长的一段时期内共存。两种身份证号码的含义如下: (1)15位的身份证号码:1~6位为地区代码,7~8位为出生年份(2位),9~10位为出生月份,11~12位为出生日期,第13~15位为顺序号,并能够判断性别,奇数为男,偶数为女。 (2)18位的身份证号码:1~6位为地区代码,7~10位为出生年份(4位),11~12位为出生月份,13~14位为出生日期,第15~17位为顺序号,并能够判断性别,奇数为男,偶数为女。18位为效验位。 3、 应用函数 在此例中为了实现数据的自动提取,应用了如下几个Excel函数。 (1)IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。 语法形式为:IF(logical_test, value_if_true,value_if_false) (2)CONCATENATE:将若干个文字项合并至一个文字项中。 语法形式为:CONCATENATE(text1,text2……) (3)MID:从文本字符串中指定的起始位置起,返回指定长度的字符。 语法形式为: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、 公式写法及解释(以员工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用于判断这个身份证号码是奇数还是偶数,当然你也可以用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) 为在身份证号码中获取表示日期的数字的字符串 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")用于计算当前系统时间与参加工作时间相差的月份,忽略日期中的日和年。 d. =CONCATENATE(DATEDIF(F4,TODAY(),"y"),"年",DATEDIF(F4,TODAY(),"ym"),"个月")目的就是将多个字符串合并在一起显示。 5. 其他说明 在这张人事资料表中我们还发现,创建日期:31-05-2001时显示在同一个单元格中的。这是如何实现的呢?难道是手工添加的吗?不是,实际上这个日期还是变化的,它显示的是系统当前时间。这里是利用函数 TODAY 和函数 TEXT 一起来创建一条信息,该信息包含着当前日期并将日期以"dd-mm-yyyy"的格式表示。 具体公式写法为:="创建日期:"&TEXT(TODAY(),"dd-mm-yyyy") 至此,我们对于文本函数、日期与时间函数已经有了大致的了解,同时也设想了一些应用领域。相信随着大家在这方面的不断研究,会有更广泛的应用。 附一:文本函数
附二、日期与时间函数
|
|站长邮箱|小黑屋|手机版|Office中国/Access中国
( 粤ICP备10043721号-1 )
GMT+8, 2025-4-2 12:54 , Processed in 0.069937 second(s), 17 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.