Excel中的REPLACE和SUBSTITUTE函數(shù)都是用來替換字符串中的某些特定文本之用,其用法有哪些差異呢?(參考下圖)
在文本字符串中用 new_text 替代 old_text。如果需要在某一文本字符串中替換指定的文本,請使用函數(shù) SUBSTITUTE;如果需要在某一文本字符串中替換指定位置處的任意文本,請使用函數(shù) REPLACE。
語法
SUBSTITUTE(text,old_text,new_text,instance_num)
Text 為需要替換其中字符的文本,或?qū)形谋镜膯卧竦囊谩?/font>
Old_text 為需要替換的舊文本。
New_text 用于替換 old_text 的文本。
Instance_num 為一數(shù)值,用來指定以 new_text 替換第幾次出現(xiàn)的 old_text。如果指定了 instance_num,則只有滿足要求的 old_text 被替換;否則將用 new_text 替換 Text 中出現(xiàn)的所有 old_text。
==============================
REPLACE 使用其他文本字符串并根據(jù)所指定的字符數(shù)替換某文本字符串中的部分文本。
REPLACEB 使用其他文本字符串并根據(jù)所指定的字節(jié)數(shù)替換某文本字符串中的部分文本。
函數(shù) REPLACE 面向使用單字節(jié)字符集 (SBCS) 的語言,而函數(shù) REPLACEB 面向使用雙字節(jié)字符集 (DBCS) 的語言。您計算機上的默認語言設(shè)置對返回值的影響方式如下:
無論默認語言設(shè)置如何,函數(shù) REPLACE 始終將每個字符(不管是單字節(jié)還是雙字節(jié))按 1 計數(shù)。當(dāng)啟用支持 DBCS 的語言的編輯并將其設(shè)置為默認語言時,函數(shù) REPLACEB 會將每個雙字節(jié)字符按 2 計數(shù),否則,函數(shù) REPLACEB 會將每個字符按 1 計數(shù)。支持 DBCS 的語言包括日語、中文(簡體)、中文(繁體)以及朝鮮語。
語法
REPLACE(old_text,start_num,num_chars,new_text)
REPLACEB(old_text,start_num,num_bytes,new_text)
Old_text 是要替換其部分字符的文本。
Start_num 是要用 new_text 替換的 old_text 中字符的位置。
Num_chars 是希望 REPLACE 使用 new_text 替換 old_text 中字符的個數(shù)。
Num_bytes 是希望 REPLACEB 使用 new_text 替換 old_text 中字節(jié)的個數(shù)。
New_text 是要用于替換 old_text 中字符的文本。
(注意:上述圖片有誤,與實例對應(yīng)后,C7處應(yīng)為“w”,等有時間了再把圖片改過來)
REPLACE 函數(shù)主要是根據(jù)指定的字符起始位置,指定被替換的字符數(shù),然后以新的字符串來替換。
(1) 單元格E2:=REPLACE(A2,5,6,"@")
在單元格A2中的字符串中,由第5個字符開始,一共6個字符,以“@”替換。
(2) 單元格E3:=REPLACE(A3,6,4,"3333")
(3) 單元格E4:=REPLACE(A4,11,4,"Excel")
SUBSTITUTE 函數(shù)主要是將文本字符串中的某些特定文本以指定的新字符串替換。
(1) 單元格E7:=SUBSTITUTE(A7,"w","&",1)
在單元格A7中的的字符串中,由第1個字符開始,將所有的“w”以“&”替換,因為第一個w為大寫,所以不會被替換。
比較以下的不同:
(2) 單元格E8:=SUBSTITUTE(A8,0,"A")
沒有指定起始位置,結(jié)果為:A2A11A81416AA15。
(3) 單元格E9:=SUBSTITUTE(A9,0,"A",1)
指定起始位置為第1個字符,結(jié)果為:A20110814160015。
(4) 單元格E10:=SUBSTITUTE(A10,"o","")
將單元格A10中的字符串的所有“o”,以空字符串替換,相當(dāng)于將“o”刪除。