SUBSTITUTE函数和REPLACE函数的区别和应用实例

作者:活力源 | 创建时间: 2023-05-28
在使用EXCEL工作表处理数据时,我们经常需要把一个字符串中的某一个或者几个字符替换成其他字符,除了用“查找、替换”外,我们还可以用替换函数SUBSTITUTE和REPLACE,那么,他们又是怎么完成替换工作的呢,有什么区别呢,现在我们就来...
SUBSTITUTE函数和REPLACE函数的区别和应用实例

操作方法

SUBSTITUTE函数主要是将文本字符串中某些特定的字符以指定的新字符串替换。 语法:SUBSTITUTE(text,old_text,new_text,instance_num)其中: text指的是列出的文本,或者是引用的含有文本的单元格; old_text指的是需要替换的旧文本。 new_text指的是用于替换 old_text 的文本。 instance_num:如果字符串“old_text”在“text“出现多次,刚用此参数确定替换的次数(如果要全部替换,可以省略此参数)。 REPLACE函数是将文本字符串中某些特定位置的字符以指定的新字符串替换。 语法: REPLACE(old_text,start_num,num_shars,new_text) old_text是要替换其部分字符的文本。 start_num 是要用  new_text 替换的old_text中字符的起始位置.                      num_shars 是希望REPLACE用new_text 替换old_text中从start_num开始算起的字符个数。 new_text 是要用于替换old_text中字符的文本。 总结一下: 一、如果明确知道目标字符,但是不知道其在字符串中的具体位置,可以使用SUBSTITUTE函数。 二、 如果目标字符并不固定,但能够明确知道其在字符串中的具体位置,可以使用REPLACE函数来实现替换。

通过下面表格,我们学习这两个函数的具体用法: 例如:把“EXCEL  函数 ABCDE”中的“L”替换为“L的”,我们录入公式 “=SUBSTITUTE(A2,"L","LA的")”,返回结果为“EXCEL的  函数 ABCDE” 如果用REPLACE函数,录入公式“=REPLACE(A3,5,2,"L的")“ 返回结果仍然是EXCEL的  函数 ABCDE”,再如把A4单元格中的“50”替    换为“501”,用SUBSTITUTE函数,可以录入公式“=SUBSTITUTE(A4," 50","501")”,返回结果为“前进路501号”,如果用REPLACE函数,录入公“=REPLACE(A5,4,2,"501")“,返回结果仍然是“前进路501号” 可见,SUBSTITUTE函数是知道具体目标字符情况下使用的,第二个参数是被替换的目标字符;而REPLACE函数是明确目标字符在字符串中的位置情况下使用的,第二个参数是被替换的字符的起始位置。

在实际工作中,上述单独用SUBSTITUTE函数和REPLACE函数的情况比较少,大多数情况是这两个函数和其他函数嵌套一起来为我们工作服务的。下面我们用来演示SUBSTITUTE函数和REPLACE函数的用法和区别,以便我们更好的了解这两个函数。 例如:某地电话号码为区号后加7位号码,业务需要升级为8位,在电话号码前统一加上数字9来完成升级工作。这时,我们可以用这两个函数中任何一个轻松完成。如下图所示:我们在D2单元格中用SUBSTITUTE函数,录入公式 “ =SUBSTITUTE(A2,"xxxx-","xxxx-9")”后,(为了演示方便,我们把公式结果显示在C2单元格中,下同),可以在C2单元格中看到公式结果,在D3单元格中用REPLACE函数,录入公式“ =REPLACE(A3,1,5,"xxxx-9")“,可以在C3单元格中看到公式结果,和用SUBSTITUTE公式结果是一样的。 向下拉任何一个公式,就可以完成所有的电话号码升级工作了,这里我们用REPLACE公式如下:

再如:我们为保护个人隐私,隐藏电话号码或者身份证中间位数,保留前三位和后三位。 我们在C2和C3单元格中用SUBSTITUTE公式,在C4和C5单元格中用REPLACE函数,用以比较一下结果。身份证位数有15位和18位之分,所以替换公式时需要判断一下是15位还是18位,让聪明的excel做一下判断,需要一个IF函数,15位数时隐藏中间9位,18位数时隐藏中间12位,还需要一个提取函数MID函数. 如下图所示:为了全面理解公式,我们把15位和18位的各举例一个,在C2和C3中录入公式= .=SUBSTITUTE(A2,MID(A2,4,IF(LEN(A2)=18,12,9)),REPT("*",IF(LEN(A2)=18,12,9))) 和公式 .=SUBSTITUTE(A2,MID(A2,4,IF(LEN(A2)=18,12,9)),REPT("*",IF(LEN(A2)=18,12,9))) 在B2和B3中看下结果,已经把中间位数隐藏了,只显示了前后各三位数。 在C4中录入公式 .=REPLACE(A4,4,IF(LEN(A4)=18,12,9),REPT("*",IF(LEN(A4)=18,12,9))) 在C5中录入公式 .=REPLACE(A5,4,IF(LEN(A5)=18,12,9),REPT("*",IF(LEN(A5)=18,12,9))) 在B4和B5中看下结果,已经中间位数隐藏了,和SUBSTITUTE公式结果是一样的。 向下拉公式,就可以看到所有的身份证号码中间位数已经隐藏起来了。

可见,SUBSTITUTE函数和REPLACE函数在日常工作中能给我们工作中带来很大的便利。在理解记忆和使用时需要注意以下技巧: 1.SUBSTITUTE函数中间的参数是截取的字符; 2.REPLACE函数中间的参数是字符串的长度。

温馨提示

如果以上经验对您有帮助,请投我一票,谢谢!
如果有疑问,可以向我提问,我会在第一时间回复您,谢谢!!
点击展开全文

更多推荐