字符串提取,是表親們經常遇到的問題,今天就和大家一起學習字符串提取的方法。
如下圖所示,要從A列的路徑中提取出文件名稱。

提取的結果如下圖所示:

觀察這些數據,咱們可以發現:
A列字符串中都是以“\”字符進行分隔的,實際上咱們就是提取最後一個反斜杠“\”後的内容。
有多種方法可以處理這個問題:

B2單元格輸入以下公式:
=IFERROR(RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2,"\","*",LEN(A2)-LEN(SUBSTITUTE(A2,"\",""))))),"")
- LEN(A2)-LEN(SUBSTITUTE(A2,"\","")這部分是計算字符串中一共有幾個“\”。
- 首先用SUBSTITUTE 函數以一個新字符“*”,替換掉最後一個“\”。
- 然後再利用FIND函數找到“*”在文本串中的位置。
- 接下來用LEN(A2)計算出字符串的總長度,再減去星号“*”在文本串中的位置,餘下的就是咱們需要提取的字符個數。
- 最後用RIGHT函數從A2單元格的右側開始,提取(字符長度-星号位置)的字符,就是咱們需要的結果了。

B2單元格輸入以下公式:
=TRIM(RIGHT(SUBSTITUTE(A2,"\",REPT(" ",99)),99))
- REPT(" ",99)的作用是生成99個空格。
- 再用SUBSTITUTE函數,将間隔符号“\”全部替換為99個空格。
- 接下來使用RIGHT函數,從替換後的字符串右側開始,提取99個字符,這樣就得到最後一個“\”之後的字符串和不确定數量的空格。
- 最後使用TRIM函數,将多餘的空格替換掉。

複制A列數據,粘貼到B列。
選中B列,按Ctrl H調出替換對話框。
在查找内容編輯框中輸入: *\

星号* 是通配符,表示任意多個字符。*\ 就是表示字符“\”和他之前的所有内容。
隻要點擊【全部替換】,就可以快速提取出需要的結果了。
三種方法,各有千秋,公式法的特點是數據源發生變化後,結果能自動更新,但是對于初學者來說,一層層的嵌套,會有點眼暈。
第三種方法的特點是便捷快速,缺點是數據源發生變化後,結果不能自動更新。
說說看,你更喜歡哪種呢?
圖文制作:耿勇
,








