有時候我們經常會要求從一句話或文本中提取特定的内容,比如:從地址中提取省市區、從一段話中提取特定數字、評價中提取指定客服名字、對話中提取快遞單号等等。
任何内容的提取都是根據一定的規律來操作的,今天我們就來全面詳細的學習一下,如何通過函數來進行文本提取。
案例一:left函數從左邊提取特定内容
說明:我們需要從地址中提取對應的市
函數:=LEFT(D2,3)
left函數是從左邊起提取文本内容的函數,第一個參數為對應的文本單元格,第二個參數為從左邊開始提取,提取3位數。
案例二:right函數從文本右邊提取内容
說明:我們需要從地址中從右邊開始提取對應的村
函數:=RIGHT(D2,3)
right函數是從右邊提取的内容的函數,與left函數相似,第一個參數為對應的文本單元格,第二個參數為從右邊起提取3位數。
案例三:mid函數提取文本中間的内容
說明:我們需要從對應的地址中地區所在的區的位置
函數:=MID(D2,4,3)
mid函數是從中間開始提取内容的函數,它有三個參數說明。第一個參數為對應的文本單元格;第二個參數為開始提取的位置,比如提取張三所在的區,提取的位置應該從龍開始,也就是第4位,所以第二參數為4;第三個參數為要提取的長度為3。
案例四:結合find函數從一句話中提取對應房号
說明:如文本所示,房号都是4位數,而且數字之前都是有個号字,所以我們可以結合FIND函數進行從中間提取内容。
函數:=MID(B2,FIND('号',B2)+1,4)
FIND函數的作用是查找特定文本所在的位置,可以縮寫為2個參數。為什麼後面要+1是因為,我們找的号是數字的前面一位,所以提取的時候需要從後一位開始。
案例五:Lookup函數從客戶評價中提取客服ID
說明:文本中可以看出每個ID對應的位置都不一樣,文本前後也沒有有規律的内容。所以我們需要用Lookup查找函數來查找出出現的ID。
函數:
=LOOKUP(9^9,FIND($F$2:$F$5,B2),$F$2:$F$5)
第一參數lookup第一個參數為查找出最大的一個值;第二參數find函數的意義在于查找出ID所在的位置,第三參數為返回對應的ID。
案例六:計算關鍵詞在文本中出現的次數
說明:如上圖我們需要找出對應人員在一句話中出現的次數,這裡我們用到了len字符長度函數和substitute文本替換函數來處理。
函數:
=(LEN(C3)=27-LEN(SUBSTITUTE(C3,F$2,'')))/LEN(F$2)
主要為通過計算替換前後這句話的字符個數,從而來進行統計字符出現的次數。
案例七:從雜亂的文本中提取手機号碼
說明:如上圖我們需要在沒有規律的文本中提取每行的手機号碼,當然有個相同的就是手機号碼都是11位數的。
函數:
=-LOOKUP(,-MID(B2&'a',ROW($1:$50),11))
在這裡用到了數組的方式來進行統計,第一個參數0被忽略處理,計算的結果有錯誤值或者小于0兩種結果。通過負負得正的方式最終計算出出現的号碼。
案例八:快速從一句話中提取英文單詞
說明:當文本不規則的時候,如何提取裡面的英文字符
函數:
{=MID(A2,MATCH(0,N(INDIRECT(MID(A2,ROW($1:20),1)&1)),0),COUNT(N(INDIRECT(MID(A2,ROW($1:20),1)&1))))}
這裡使用了mid函數搭配match\indirec\row\count\N等多個函數的混合使用來進行操作,難度還是比較高的。
現在你學會如何提取文本内容了嗎?大家如果有更簡單的寫法,可以評論區分享一下喲!
有話要說...