SUBSTITUTE函数
SUBSTITUTE函数在文本字符串中使用新文本替换旧文本。该函数将替换所有的旧文本,除非选择了指定位置。该函数区分大小写。
什么情况下使用SUBSTITUTE函数?
SUBSTITUTE函数使用新文本替换文本字符串中的旧文本。因此,可以用于:
修改报告标题中的区域名称
移除非打印字符
替换最后一个空字符
SUBSTITUTE函数的语法
SUBSTITUTE函数的语法如下:
SUBSTITUTE(text,old_text,new_text,instance_num)
§ text是文本字符串或单元格引用,其中的文本将被替换
§ old_text是要移除的文本
§ new_text是要添加的文本
§ instance_number想要替换的旧文本的指定位置
SUBSTITUTE函数陷阱
SUBSTITUTE函数可以替换旧文本的所有实例,因此如果想要仅仅替换指定位置的旧文本,则使用instance_num参数。
对于不区分大小写的替换,使用REPLACE函数。
示例 1: 修改报告标题中的区域名称
使用SUBSTITUTE函数,可以根据所选的区域名称创建自动更改的报表标题。本例中,在命名为RptTitle的单元格C11中输入报告标题。标题文本中的“yyy”将被替换为在单元格D13中选择的区域名称。
=SUBSTITUTE(RptTitle,”yyy”,D13)
示例 2: 移除非打印字符
当从网站中复制数据时,在文本中可能有隐藏的、非打印的空字符。在Excel中,如果试图从文本中移除空字符,TRIM函数不能移除它们。字符不是正常的空格字符(字符值32); 它们是不间断的空格字符(字符值160)。相反,可以使用SUBSTITUTE函数用正常空格字符替换每个非打印空格。然后,使用TRIM移除所有额外的空格。
=TRIM(SUBSTITUTE(B3,CHAR(160),”“))
示例 3: 替换最后一个空字符
可以使用SUBSTITUTE函数的instance_number参数来选择指定的实例,而不是替换文本字符串的所有实例。在这份食谱配方列表中,我们只想替换最后一个空格字符。
在单元格C3中,LEN函数计算单元格B3中字符的数量。SUBSTITUTE函数使用空字符串替换所有的空格字符,第二个LEN函数找到修改后的字符串的长度。长度为2个字符,因此有两个空格。
=LEN(B3)-LEN(SUBSTITUTE(B3,”“,””))
在单元格D3中,SUBSTITUTE函数仅仅使用新文本” ”替换第2个字格字符。
=SUBSTITUTE(B3,”“,” “,C3)
可以将两列中的公式合并成一个长公式:
=SUBSTITUTE(B3,”“,” “,LEN(B3)-LEN(SUBSTITUTE(B3,” “,””)))