1. 在线学电脑 > 电脑基础 > 办公软件 > Excel教程 >

从菜鸟成为Excel高手之Len函数

第九招:鲁班神尺 (Len函数)

  此招用来对单元格内容的长度进行测量,得出其长度后,再做相应的处理。

  使用语法

  LEN(text)

  Text 是要查找其长度的文本。空格将作为字符进行计数。

  应用示例:

 



  详细解释

  公式“=Len(A2)”中A2表示要查找长度的数据为A2单元格的内容“******19851211****”,系统测量后,返回长度“18”。

  好了,我们己经学完了“瞎子摸象”和“鲁班神尺”,再加上上次所学的三招(留头去尾-Left函数,去头留尾-Right函数和掐头去尾-Mid函数),对一些文本的处理,我们就能将其玩弄与股掌之上。

  下面我们举一个例子,做一次实际操作。假如你有一堆公司员工的身份证号码登记表,但却没有单独的员工出生年月日这一栏,而偏偏员工的生日资料你很需要。一个一个的将其抄出来??这未免太花时间吧!别急,利用上面的几招,不出一分钟你就能够将其“生产”出来。

  第一步的思路,就是利用“掐头去尾”函数,把身份证号码的前后内容去掉,留下中间的出生日期。但因为身份证号有两种长度(15位及18位),直接套用,一定会截错。于是,我们得加上“鲁班神尺”,先量出其长度,再加上“左右逢源”这招,对不同的长度号码,我们做不同的截取,问题就解决了。
 



 



  上图中,两种颜色的数据长度是不一致的,但利用公式,我们很简单的把生日数据截出来了。公式“=IF(LEN(A2)=15,19&MID(A2,7,6),MID(A2,7,8))”中,我们利用IF函数,用Len函数对A2的长度进行判断,如果等于15,则返回“19&MID(A2,7,6)”,表示如果为15位的身份证号码,就在其之前补上“19”(注:“&”符号在Excel中,用来把两个数据合并在一起),然后对A2单元格中的数据从第7位开始,截6位出来,合在一起刚好8位。如果不是15位,则返回“MID(A2,7,8))”,表示直接在A2单元格的数据中,从第7位开始,截取8位出来。做完第一个公式后,不管下面还有几千或几万个数据,一拖到底即可。

  对于要求比较简单的用户,得到这个结果己经够用了。但实际上,这个取出来的数据,并不是日期格式的。因此,就无法像对待日期那样处理它,如更改日期格式,或设置条件格式化,让当天为生日的数据显示为红色等。

  要让其变为日期,其实也是很简单。只是其中一招我们还未介绍-Datevalue,同时,取出的数据,也需额外加上分隔符,让系统识别。我先把公式列在这里,有兴趣的用户可以试试。

  =DATEVALUE(IF(LEN(A2)=15,19&MID(A2,7,2)&-&MID(A2,9,2)&-&MID(A2,11,2),MID(A2,7,4)&-&MID(A2,11,2)&-&MID(A2,13,2)))

  记住:公式得出的结果,是一个时间序列号,日期格式你们可自行设置。下图中,C3及C5单元格的“30720,30034”就是因没设置日期格式而直接显示序列值。

 



  下面我们再来看一个使用了“瞎子摸象”函数的例子。

  假如有这样一串数据,格式类似Bill Gates (****) Bill.Gates@hotmail.com或Charles Peng (****) Charles.Peng@sqtong.com,我们需要取出其中的邮件地址部分。因为其邮件地址时长时短,因此,无法直接截取,单用Len函数也无法实现。但根据观查发现,邮件地址起始于“)”后,因此我们可以利用“瞎子摸象”Find函数,先定出每个数据中的“)”位置,再用Len量出整个数据长度,相减之后,就是邮件地址的长度,这样,用“去头留尾”函数就可将需要的数据取出。公式为:=RIGHT(A2,LEN(A2)-FIND(),A2))。

 

本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:http://zxxdn.com/jc/0316/9430.html

联系我们

在线咨询:点击这里给我发消息

微信号:meishanxinxi

工作日:9:30-18:30,节假日休息