当前位置:首页>网络学院>办公软件教程>Excel教程>文章内容
广告位出租 广告位出租

让你从菜鸟成为Excel高手(三)

[ 来源:www.it55.com | 作者: | 时间:2007-07-08 | 收藏 | 推荐 ] 【

广告位出租


  第八招:瞎子摸象(Find函数)

  此招用来对原始数据中某个字符串进行定位,以确定其位置。因为该招进行定位时,总是从指定位置开始,返回找到的第一个匹配字符串的位置,而不管其后是否还有相匹配的字符串,有点像瞎子摸象,摸到哪就说哪,因此取名“瞎子摸象”。

  使用语法

  FIND(find_text,within_text,start_num)

  Find_text 是要查找的文本。

  Within_text 是包含要查找文本的文本。

  Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。

  注意:

  使用 start_num 可跳过指定数目的字符。例如,假定使用文本字符串“AYF0093.YoungMensApparel”,如果要查找文本字符串中说明部分的第一个“Y”的编号,则可将 start_num 设置为 8,这样就不会查找文本的序列号部分。FIND 将从第 8 个字符开始查找,而在下一个字符处即可找到 find_text,于是返回编号 9。FIND 总是从 within_text 的起始处返回字符编号,如果 start_num 大于 1,也会对跳过的字符进行计数。

  如果 find_text 是空文本 (""),则 FIND 则会返回数值1。

  Find_text 中不能包含通配符。

  如果 within_text 中没有 find_text,则 FIND返回错误值 #VALUE!。

  如果 start_num 不大于 0,则 FIND返回错误值 #VALUE!。

  如果 start_num 大于 within_text 的长度,则 FIND 返回错误值 #VALUE!。

  应用示例:

让你从菜鸟成为Excel高手(三)(图一)


  上图中,对含有不同地方的数据,利用“Find”函数,非常简单地确定了“省”出现的位置。

  详细解释

  公式“=FIND("省",A2)”中,“省”表示要查找的文本为“省”,(实际使用中,也可以很长的一串字符)。要找查找的对象是A2单元格的内容“广东省东莞市东城区…”,因为没有指定起始位置,所以系统从第一位开始。返回的“3”,表示“省“字在第三位。而“黑龙江省哈尔滨市…”则返回4。

  与Find类似,Search函数也有相同的功能。它们的区别是,Find区分大小写,而Search不分大小写(当被查找的文本为英文时)。
  另外,在Excel中,对文本进行处理的很多函数都提供了一个特别用来处理双字节字符(如中文,日文)的函数,一般是在原函数后加“B”,如FIND, 就有一个FINDB。之前讲过的LEFT,相对应的就是LEFTB等。其实,我们在实际应用中,使用不带“B”的函数就足够了。如果你想使用带“B”的函数,则要特别注意,尤其是在组合运用函数时,其中一个函数使用带“B”的形式,则其它有带“B”形式的函数,全部都要使用其带“B”的形式,否则结果极可能是错的。

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

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

  使用语法

  LEN(text)

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

  应用示例:

让你从菜鸟成为Excel高手(三)(图二)


  详细解释

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

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

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

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


  上图中,两种颜色的数据长度是不一致的,但利用公式,我们很简单的把生日数据截出来了。公式“=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,同时,取出的数据,也需额外加上分隔符,让系统识别。我先把公式列在这里,有兴趣的用户可以试试。

(阅读次数:

返回顶部
共2页: 上一页 1 [2] 下一页  
广告位出租

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]