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,” “,””)))