查找替换函数,substitute和replace你知道它们的区别吗?
-01-
substitute
1)函数说明
这个函数是查找替换中替换的函数版,意思是根据指定的文本,将字符串中的部分字符串以新字符串替换。函数结构如下:

text:第一参数,必须有。包含有要替换字符的字符串或文本单元格引用。
old_text:第二参数,必须有。要被替换的文本,如果原有字符串中的大小写与新字符串的大小写不匹配的话,将不进行替换。意思就是区分大小写。
new_text:第三参数,必须有。用于替换old_text的新字符串。
instance_num:第四参数,可选。如果要被替换的old_text在text中多次出现,则用这个参数指定要替换第几个。如果省略,则全部替换。
2)示例解释
如下图,在B1单元格中输入公式,意思是用z替换A1单元格中第一个a

在B1单元格中输入如下公式,意思是用z替换A1单元格中第二个a

在B1单元格中输入如下公式,第四参数省略,意思是用z替换A1单元格中所有的a

在B1单元格中输入如下公式,第四参数写大写A,但是结果还是A1,说明它区分大小写

3)具体应用
1.求每个单元格的人数
在每个单元格中有很多名字,分别用顿号隔开。公式为B4=LEN(A4)-LEN(SUBSTITUTE(A4,"、",""))+1。

解释一下,SUBSTITUTE(A4,"、","")是将A4单元格中的顿号全部替换为空,结果为"刘卓小明二花三毛",LEN(SUBSTITUTE(A4,"、",""))是算出前面结果的字符个数,LEN(A4)-LEN(SUBSTITUTE(A4,"、",""))是顿号的个数,最后结果再加1。
2.从市名开始换行
将A列从市字开始换行,实现向B列的格式。公式为B9=SUBSTITUTE(A9,"市","市"&CHAR(10))

解释一下,char(10)为换行符,是一个文本;"市"&CHAR(10)就是市后面加一个换行符,SUBSTITUTE(A9,"市","市"&CHAR(10))就是用市后面加一个换行符替换市,实现换行的效果。
-02-
replace
1)函数说明
这个函数是根据指定的字符数,将一个字符串中的部分字符用一个新字符串替换。函数结构如下:


old_text:必须有。要替换其部分字符的文本。
start_num:必须有。要替换为new_text的字符在old_text中的位置。也就是从old_text中第几个字符开始替换。
num_chars:必须有。要从old_text中替换的字符个数。
new_text:必须有。用来对

old_text中指定字符串替换的新字符串。
2)示例解释
如下图,在B15单元格中输入公式,结果如下。意思就是在A15单元格中从第一个字符开始替换,替换的个数为4个,就是从A开始替换,替换4个就是ABCD,就是将ABCD替换为我爱你们。

在B15单元格输入如下公式,意思是在A15中,从第二个字符开始替换,替换1个,从B开始替换,替换1个还是B,就是将B替换为我爱你们。

在B15单元格输入如下公式,结果如下。意思是A15第二个字符开始替换,替换的个数为0,0的意思就是将第一个字符和第二个字符之间的空进行替换,看起来像插入,才有如下结果。

3)具体应用
1.从市名开始换行
还是上面那个题目,将A列从市字开始换行,实现向B列的格式。这次用replace这个函数。公式为B9=REPLACE(A9,FIND("市",A9)+1,,CHAR(10))

解释一下,FIND("市",A9)意思是在A9单元格中找市的位置,char(10)上面已经说过了是换行符。你或许已经看到函数的第三参数什么也没写,意思是为0。整个函数的意思是在A9中从市的后面一位开始替换,替换的个数为0,意思就是在市和市后面一位之间的空替换为换行符。也就相当于在市后面插入换行符。
最后,说一下substitute和replace的区别,如果你要替换的是指定的文本,但位置不定,用substitute;如果你要替换的是特定位置的任意文本用replace。
好了,这2个文本替换函数你学会了吗?
