在excel中,常用的替換函數有replace和substitute函數,這兩個函數都可以替換單元格中的部分內容,功能和ctrl+H的功能類似,但是使用函數的目的一方面不會破壞原數據,另一方面與其他函數結合可以實現更多功能,對於substitute的參數=substitute(單元格,被替換的字符串,新字符串,指定替換第幾個),第四個參數可以省略,表示全部替換。而replace函數的參數=replace(單元格,從第幾個字符開始替換,替換的字符個數,新字符串),從參數可以看出來這兩個函數的替換角度是有區別的,前者是直接指定把**替換為**,後者是從第幾個字符開始替換,替換幾個字符,替換成什麼。這兩種思路在工作中根據具體情況選擇簡單的一種即可,下面就通過實例看一看他們的使用方法吧。
一,substitute函數與replace函數的基本用法對比。在下圖中,要把身份證號碼中的出生日期替換為四個星號,以替換C2單元格中的身份證號為例,在D2單元格中輸入函數=REPLACE(C2,7,8,"****")即可。表示在C2單元格中,從左數第7位開始,往右數8個字符,把這8個字符替換為****。運用substitute函數時,在E2單元格中輸入函數=SUBSTITUTE(C2,MID(C2,7,8),"****"),這個函數中的mid函數表示在C2單元格中,從第7位開始,提取8位字符,返回的結果就是19901203,然後substitute函數表示把C2單元格中19901203替換為****。
二,利用substitute函數替換字符。在下圖中,如果要替換「滾滾長江東逝水,浪花淘盡英雄。」中的兩個「滾滾」,則輸入函數=SUBSTITUTE(A2,"滾",""),省略了第四個參數,表示把A2單元格中所有的「滾」字替換為空值。如果只替換一個「滾」,則輸入函數=SUBSTITUTE(A2,"滾","",1),這裡第四個參數沒有省略,1表示只替換其中一個「滾」。
三、利用replace函數省略內容。在下圖中,要把B列中姓名的第一個字保留,後面的字全部用*代替。以B2單元格為例,在C2單元格中輸入函數 =REPLACE(B2,2,999,"**"),這個函數表示在B2單元格中,從第2個字符開始,後面999個字符全部替換為**,此處第3個參數只要輸入足夠大的數就行。
四、substitute函數與sumproduct函數結合進行求和。在下圖中,C列中數據不是數值,而是數字加文本組合,利用sum等數值函數無法求和。此時運用substitute函數與sumproduct函數組合就可以進行求和。函數公式為=SUMPRODUCT(--SUBSTITUTE(C2:C10,"元",""))&"元"。這個公式中的SUBSTITUTE(C2:C10,"元","")表示把C2到C10單元格的「元」替換為空值,前面--表示減負號,把單元格文本格式變成數值格式,然後利用sumproduct函數進行求和,最後用連接符加上「元」字。如果把sumproduct函數改成sum函數的話,就成了數組函數,按下ctrl+shift+enter才能算出正確的結果。
五、substitute函數與len函數結合計算單元格重複字符的個數。在下圖中,要如何計算A2單元格中的3重複出現了多少次呢?輸入函數公式=LEN(A2)-LEN(SUBSTITUTE(A2,3,""))即可算出3出現了4次。此處SUBSTITUTE(A2,3,""),表示把A2單元格中的3全部替換為空值,然後前面加上len函數表示去掉3以後單元格字符串的長度,而len(A2)表示A2單元格字符串的長度,兩個len函數相減就是重複值的個數了。
這就是excel中replace函數與substitute函數的一些常見用法,趕快試一下吧。