【原创】图文讲解Excel中“find、left、right、mid以及len”等函数的联体使用
2010-10-13 13:21
话说好久没有敲点有文化营养的东西咯。今日恰好遇到了,我就把这些个值得学习的函数使用方法结合今早遇到的问题记录下来。呵呵,一来么给大家以后遇到时有个参考,二来么防止日后我再次用到时记不清具体的操作咯。 情况是这样的:今早我手头上有一份综合清单,而我现在需要把清单中的内容按照不同的性质分列成单独的清单。咳咳,由于表格内容的不方便展示,所以我这里表达起来也比较困难,我还是截图给大家看看究竟是要做个什么事情。额,对了,当中的数据内容纯属胡扯瞎掰掰咯,不要当真。主要是看一下操作的过程! FIND用来对原始数据中某个字符串进行定位,以确定其位置。 使用语法 FIND(find_text,within_text,start_num) Find_text 是要查的文本。 Within_text 是包含要查文本的文本。 Start_num 指定开始进行查的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。此种情况就相当于从第一个字符就开始啊。如果说有一个大概的位置,就可以缩小的范围,比如说从第“4”个字符开始。咳咳,对于这点本人认为没有必要去想这个Start_num应该设做几。毕竟,计算机本就是给懒人用的。我才懒得去管他大概从几开始,反正从第一个开始绝对不会错就成。所以呀,对于这个我一般无视处理。 如果 find_text 是空文本 (""),则 FIND 则会返回数值1。 Find_text 中不能包含通配符。 如果 within_text 中没有 find_text,则 FIND返回错误值 #VALUE!。 如果 start_num 不大于 0,则 FIND返回错误值 #VALUE!。 如果 start_num 大于 within_text 的长度,则 FIND 返回错误值 #VALUE!。 其实吧,在我眼里此公式就只相当于于 find(“要的那个特殊字符”,用鼠标选择寻的区域:可以是一个单元格,也可以是一片单元区)。 对了,先说明一下:这里我之所以“放屁脱裤子多麻烦”的还要罗嗦用到“查替换2”这一步,主要是为了防止出现“2”前面的数据可不一定是清一的“部”字结尾咯。此外,最重要的是由于后边我要用mid函数提取中间部分的时候,会用到“2”所在的位置!具体的后边会逐一说到。 应用示例: 此处的find函数相当于: find(特殊字符excel计算字符串长度2这个东西,查的区域) 至于left函数的具体用法我过去就曾写过一篇相关的日志用法,再次就不再做阐述。这里就简单说下: Left(用来提取所需字符串的区域,从左边数所提取的字符串长度) 此处的left函数相当于: left(查的区域,从左边数所提取的字符串长度) 对了,这里当中需要用“选择性粘贴——数值”把当前的left函数作用断开,然后再用替换完成“部门清单”的列表工作: 哈哈,此例恰好前面的部门都以“部”字结尾,所以当然可以直接取“部”这个特殊字的前边。额,对于这个我就不重复叙述,和“2”是一样的,至少不用多走最后这一步“替换”咯。 而对于中间部分的“工号清单”的提取,我用mid函数; MID既不从第一位开始截取,也不从最后一位开始截取,而是由用户自行指定开始的位置和字符的长度。 使用语法 MID(text,start_num,num_chars) Text 是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。 Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推。 Num_chars 指定希望 MID 从文本中返回字符的个数。 注意: 如果 start_num 大于文本长度,则 MID 返回空文本 ("")。 如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。 如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。 如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。 如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。 应用示例: 此处的mid函数相当于: mid(工号所在的区域,工号开头的第一个数字2所在的位置,工号的字符串长度) 此处,函数中的“B2”就等于“6”,所以,mid(A2,B2,10)中 “6”表示从第6位开始,“10”表示共截取8个字符。而“A2”自然就表示在单元格A2处咯。 对了最后的right函数这里,我要提一下与Len函数的配套使用。当然left函数也是如此。因为,right函数以及left函数的公式中都要提供一个所要提取的字符串长度数值。而len函数恰好是用来计算字符串长度的。所以他们配套起来使用将是“威力大增”啊。 分开阐述: Len 函数:返回字符串内字符的数目,或是存储一变量所需的字节数。 Len(string | varname) 参数 string 任意有效的字符串表达式。如果 string 参数包含 Null,则返回 Null。 Varname 任意有效的变量名。如果 varname 参数包含 Null,则返回 Null。 len(2003/5/29),表示的为2003/5/29的计算结果13.8137931034483 所以为16位的。如果计算字符串则应该用"",len("2003/5/29") RIGHT截取的方式是从最后一个字符开始,从后往前截取用户指定长度的内容。 使用语法 RIGHT(text,num_chars) RIGHTB(text,num_bytes) Text 是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。 Num_chars 指定希望 RIGHT 提取的字符数。 注意:Num_chars 必须大于或等于 0。 如果 num_chars 大于文本长度,则 RIGHT 返回所有文本。 如果忽略 num_chars,则假定其为 1。 应用示例: 现综合起来看: 此处用的公式right(A2,len(A2)-B2-9)当中的“A2”是所要用right函数来返回的内容所在的区域;“len(A2)”表示的是A2这个单元格中的所有东西总共的字符长度数值,而“B2”前边解释过是用find函数确定出的2所在的位置;“9”是个数学思维,因为工号是10位,而工号的第一位2已经包含在B2中,所以这里只需用“len(A2)-B2-9”就可以精确地计算出工号后边所剩余的字符串长度数值。 好了,噼里啪啦敲了这么多,总算是把这件理想化的事情给解决完了。当中用到了find函数、left函数、right函数、mid函数以及len函数。呵呵,5个函数的联合使用才完成了这一完美的“史话”。。哈哈,好了,就到此结束吧。希望当中这5个函数的操作过程阐述还算清晰明了! |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论