今天我们来学习一下Excel里的查找替换,当然了,我所说的查找替换不是下面的查找替换对话框:
而是EXCEL中的两类常用函数,查找函数与替换函数。
重要说明:很基础的函数和很实用的案例,但是内容略微有点长,请耐心阅读,最好是能结合内容实际操作,便于理解和掌握本文内容。
首先,先来说一说查找类函数,说到查找,我们的头脑中首先反应出来的一个英文单词十有八九是find,而这个find也是EXCEL中利用率较高的一个函数,先来了解他的语法规则。
语法:FIND(要找的内容,在哪找,[从第几位开始找])
这个函数的返回值是查找到以后,所查找的内容在原字符串中第一次出现的起始位置。
比如:我们查找字母e在字符串Excel中的第几个字(位置),我们可以打下这样的公式:
我们看到了函数的返回结果是4,有人要问了,明明Excel这个字符串的第一位就是字母e,而第4位已经是字母e第二次出现的位置了,这是为什么呢?
由于这里我们查找的是小写的字母e而不是大写的E,因此,这里的返回结果就是4,即小写字母e第一次出现在了Excel这个字符串的第4位。
这个时候,我们试一下另一个查找函数Search。
由于Search函数是不区分大小写的,因此当用Search函数来进行查找的时候,函数的返回结果就成了1了:
下面我们利用这个函数,来做一个提取练习,在各位的EXCEL任意空白单元格中,输入两个虚拟的含区号的电话号码:
0510-88886666和021-887766,就像下图这样:
左侧是我们的原始数据,而右侧就是我们想要的效果,即我们现在要提取去除区号的电话号码,可以看到需要提取的数据,刚好是-符号后面的内容。
有的同学看到这种有规律的数据提取,首先想到的是根据-号用分列来得到想要的结果,确实分列是比较方便快速的方法,现在我们用函数来实现这样的功能。
我们需要用到另一类函数,左取函数left和右取函数right。
以left函数为例,它的语法是:Left(原文本[,提取几位]),表示从原文本内容中从左边提取几位字符。
例如:=left("我们一起来学习Excel",2),就提取到了“我们”两个字而如果我们省略left函数的第二个参数,这个时候我们提取到的就是左边的第一个字符。
我们一会要用到的是从右边提取,即需要用到的函数是right,它的语法和上面说的left函数的语法是一模一样的。
下面我们就一步一步来实现我们想要的效果(这个分析的思路很重要,尤其对于初学者,只有学会分析问题,才能理解函数嵌套的原理,请大家耐心看,最好同步进行操作加深理解):
由于原数据-符号后面的内容长度不一样,所以这里用到的right函数的第二个参数也就是不固定的。但是又是有规律的,所要提取的内容都在-符号的右侧。
实现我们的需求的大致思路是:
查找-在原内容中的位置,再取原内容的长度减去-符号所在的位置,就相当于用剪刀把-前面的内容全部剪去,自然也就得到了我们所要的内容。
首先,写出第一个公式=FIND("-",A1),查找-在原内容中的位置:
第二步,计算原内容的长度,这里用到的函数是len,它只有一个参数,即所要计算长度的字符串内容:
第三步,用总长度减去-符号所在的位置,得到我们所要提取的内容的长度。这里如果有同学不会函数嵌套的也没关系,我们一步一步来:
第四步:实现提取。
这里的d1单元格和d2单元格刚好是我们要提取内容的长度,所以直接把它做为right函数的第二个参数来直接使用:
我们一步步的得到了我们想要的结果,但是我们是分了四步才得到了我们想要的结果,那么我们怎样直接在一个单元格里写出公式呢(完成函数的嵌套),继续来看:
第一步:选中C1单元格中的公式内容(只选中等号后面的公式,不要选中等号)
按下CTRL+C复制快捷键。
第二步,按下ESC键让其恢复正常显示,然后单击D1单元格,选中D1单元格公式的C1,然后按下CTRL+V粘贴,替换掉原公式中的C1:
这个时候,我们看到D1单元格的公式已经变成了=LEN(A1)-B1
第三步:参照上面的方法替换掉D1单元格公式中的B1
第四步,参照第一步第二步的方法,替换掉E1单元格中的公式,使得E1单元格中的公式如下图所示:
最后一步,选中BCD三列,右键选择删除,即只保留最后一列的公式,这样我们就实现了函数的嵌套使用。
上面我们练习的FIND函数的实际应用,下面我们来学习另外一个查找函数Search函数的使用方法。
Search函数的语法和Find函数的语法是完全一样的,上面我们也提到了Search函数与Find函数的第一点不同,即Search函数在查找英文字符时,是不区分大小写的,而Find函数是区分大小写的。
他们两者还有另外一点不同,Find函数是不支持使用通配符进行查找的,而Search函数是支持使用通配符进行查找的,当我们要查找的内容,只记得住其中的某一部分的时候,就可以用到Search函数。
比如我们要查找原字符串中以a开始且以a结尾的内容在原字符串的位置时,就可以这样表示 :=SEARCH("a*a",A1)
如果把Search换成Find,Excel是会报错的,这说明Find是不支持通配符的:
由于它和Find函数的用法基本相同,所以这里就不做练习了,只要记住它们的两点区别,Find区分大小写且不支持通配符,Search不区分大小写且支持通配符,这样就可以在实际应用中选择合适的函数来实现我们的查找需求了。
讲完了查找函数,我们来讲讲我们与其对应的替换函数。
在EXCEL实际应用中替换函数SUBSTITUTE的使用率是相当高的,下面我们就来说说这个函数。
首先,我们先来了解一下这个函数的语法:
SUBSTITUTE(原文本,需要替换的内容,替换后的内容,[替换第几个])
下面我们继续通过一个练习,来了解这个函数的使用方法。
比如有下面这样一段文字:我爱excel,excel太好玩了。=SUBSTITUTE(A1,"excel","EXCEL")
当省略第四参数的时候,我们实现的是全部替换。
下面我们换一换需求,我们只需要把:我爱excel,excel太好玩了
这段文字的第二个小写excel替换成大写的EXCEL,这个时候,就要用到SUBSTITUTE的第四参数,即替换第几个,公式就变成了:=SUBSTITUTE(A1,"excel","EXCEL",2)
这里的2就表示只替换第二个找到的excel,而第一个excel保持原来的小写不变。
这个函数其实并不难,要讲的内容就这些,最后我们来认识另外一个替换函数replace,同样的,我们先来了解下这个函数的语法:
剩余内容支付后可继续阅读。。。。感谢支持。