編按
Hello大家好,今天給大家介紹一下SUBSTITUTE函數,它可以将數據中的舊值替換為新值,與我們熟悉的“查找替換”功能相似。很多小夥伴可能會說,簡單的查找替換就能解決的問題,我為什麼還要學習用複雜的函數?相比Excel的基礎操作,函數可以構建和數據源之間的動态關聯,當我們的數據源發生變化和,函數會自動更新結果,但基礎操作卻不會。所以我們今天就通過5個案例一起來學習一下SUBSTITUTE函數吧~
今天給大家介紹一個可以進行查找替換的函數---SUBSTITUTE函數,SUBSTITUTE函數的基礎語法是:SUBSTITUTE (要替換的文本,舊文本,新文本,[替換第幾個])。
最後一個參數,[替換第幾個],是可以省略的,如果要替換的文本存在多個的話,省略這個參數表示替換全部。
先通過一個示例來掌握SUBSTITUTE函數的基本用法。
掃碼入群,下載Excel練習文件,同步操作
示例1:将單元格裡的“付款”替換成“賬期”
公式為=SUBSTITUTE(B2,"付款","賬期")。
這個公式省略了最後一個參數,所以将單元格裡的所有“付款”都換成“賬期”。如果隻想替換第一個“付款”,公式需要修改為:=SUBSTITUTE(B2,"付款","賬期",1)。
如果是“預付款”不進行替換,公式可以修改為:=SUBSTITUTE(B2,"天付款","天賬期",1)。
通過這個例子相信大家對于SUBSTITUTE函數的基本用法應該明白了。不過在實際應用中,單獨使用SUBSTITUTE函數的機會很少,基本上都是和其他函數組合使用的,下面的幾個例子都是組合套路,非常實用。
示例2:SUBSTITUTE組合MID加密手機号
這裡所說的加密就是将手機号的中間四位顯示成*,公式為:
=SUBSTITUTE(A2,MID(A2,4,4),"*****")。
公式的原理很簡單,MID(A2,4,4)是從手機号的第4位開始提取4個數字,用SUBSTITUTE函數把這部分内容換成"*****",從而實現了手機号加密。
示例3:SUMPRODUCT組合SUBSTITUTE實現帶單位的數字求和
公式為:=SUMPRODUCT(--SUBSTITUTE(A2:A13,"元",""))。
首先用SUBSTITUTE(A2:A13,"元","")将區域中數據的單位“元”替換為空,因為SUBSTITUTE函數得到的結果是文本格式,所以前面用兩個負号将替換後的數據變成數值。
最後用SUMPRODUCT函數對這一組數字求和。
(注意:數字加單位是一種不規範的用表習慣,如果确實需要加單位可以用自定義格式實現。)
示例4:LEN組合SUBSTITUTE統計一個單元格内的人數
公式為:=LEN(B2)-LEN(SUBSTITUTE(B2,"、",))+1。
在這個公式中,LEN(B2)取得B2單元格中字符串的長度。LEN(SUBSTITUTE(B2,"、",))+1的意思是用LEN計算不含頓号的字符串長度。在這個例子中,人名之間的間隔符是頓号,最後加1,是因為最後一個人名沒有頓号。
用B2原有的長度減去被替換掉人名之間間隔符的長度,也就是人數。使用這個公式要注意,每個名字之間的分隔符必須是一樣的,否則統計結果就會出錯。
示例5:五個函數聯手實現數據分列
将示例4中存在于一個單元格的多個人物分開,每個單元格隻存放一個人物,公式需要用到五個函數。
公式為:=TRIM(MID(SUBSTITUTE($B2,"、",REPT(" ",100)),COLUMN(A1)*100-99,100))。
這個公式的原理比較複雜,篇幅所限僅做簡要解釋。
REPT(" ",100):先使用REPT函數,将空格重複100次,得到100個空格;
SUBSTITUTE($B2,"、",REPT(" ",100)):使用SUBSTITUTE函數将姓名中的的間隔符号頓号替換為100個空格;
MID(SUBSTITUTE($B2,"、",REPT(" ",100)),COLUMN(A1)*100-99,100):再使用MID函數,依次從帶有空格的新字符串中的第1、第101、第201位……截取長度為100的字符。
這樣得到的字符串是帶有多餘空格的,因此再使用TRIM函數将多餘空格删除掉。如果實在不好理解會套用即可。
今天分享的五個SUBSTITUTE使用案例是非常典型的常見用法,希望大家能夠好好利用,簡化自己的工作提高工作效率。
有話要說...