當前位置:首頁 > 科技 > 正文

有一個Excel函數叫:省時一整天,你卻連我的名字都不知道…

編按

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使用案例是非常典型的常見用法,希望大家能夠好好利用,簡化自己的工作提高工作效率。

你可能想看:

有話要說...

取消
掃碼支持 支付碼