Note: The other languages of the website are Google-translated. Back to English
登入  \/ 
x
or
x
註冊  \/ 
x

or

在特定字符的最後一個實例之後提取文本

如果您有包含多個定界符的複雜文本字符串列表(以下面的屏幕快照為例,其中包含連字符,逗號,單元格數據中的空格),現在,您要查找最後一個連字符的位置,然後提取其後的子字符串。 本文中,我將介紹一些用於處理此任務的公式。


公式1:在特定定界符的最後一個實例之後提取子字符串

在Excel中,結合了LEN,SEARCH,SUBSTITUTE函數的RIGHT函數可以幫助您創建解決該問題的公式。

1。 要在最後一次出現連字符後提取子字符串,請輸入以下公式或將其複製到空白單元格中:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))

2。 然後,將填充手柄向下拖動到要應用此公式的單元格上,您將獲得如下圖所示的結果:


公式說明:

1. LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”)):此部分用於獲取單元格A2中的連字符數。

  • LEN(A2):此LEN函數返回單元格A2中的字符總數。 它將返回:44。
  • SUBSTITUTE(A2,“-”,“”):此SUBSTITUTE函數用於替換所有連字符。 您將得到如下結果:InsertDeleterows,工作表,圖像,公式“。
  • LEN(SUBSTITUTE(A2,“-”,“”):獲取單元格A2中不含連字符的文本字符串的總長度。
  • LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”)):從總字符串長度中減去不帶連字符的文本字符串的長度,得到連字符的數目,這將得到2。

2. SUBSTITUTE(A2,“-”,“#”,LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”))):此SUBSTITUTE函數用於將第一個部分公式返回的連字符的最後一次出現替換為#字符。 您將得到以下結果:插入-刪除#行,圖紙,圖像,公式“。

3. SEARCH(“#”,SUBSTITUTE(A2,“-”,“#”,LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”)))))= SEARCH(“#”,“ Insert-Delete#行,工作表,圖像,公式”):此SEARCH函數將返回SUBSTUTTE函數返回的文本字符串中#字符的位置。 它將得到數字14。

4. LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))):公式的此部分將獲取最後一個連字符後的字符數。 這將得到數字30。

5. RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))= 右(A2,30):最後,使用RIGHT函數從單元格A30中文本字符串的右側提取4個字符,這些字符由步驟2中的公式返回。


筆記:

1.如果您需要在最後一次出現其他定界符之後提取文本,則只需要根據需要使用另一個定界符來更改連字符。

2.如果文本字符串中沒有特定的定界符,則上面的公式將獲得錯誤值,請參見屏幕截圖:

要解決此錯誤,可以將上面的公式包含在IFERROR函數中,請應用以下公式:

=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))), A2)


公式2:在特定定界符的最後一個實例之後提取子字符串

這是由TRIM,RIGHT,SUBSTITUTE,REPT和LEN函數創建的另一個簡單公式,也可以幫助您在Excel中解決此任務。

1。 請將以下公式複製或輸入到要獲取結果的空白單元格中:

=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)))

2。 然後,將填充手柄向下拖動到要應用此公式的單元格上,並提取了最後一個連字符後的所有子字符串,如下圖所示:


公式說明:

1. LEN(A2):此LEN函數返回單元格A2中的字符總數。 這將在RIGHT函數中識別為num_chars參數。 它將返回:44。

2. SUBSTITUTE(A2,“-”,REPT(“”,LEN(A2))):

  • REPT(“”,LEN(A2):此REPT函數用於根據單元格A2的長度獲取多個空格字符串。
  • SUBSTITUTE(A2,“-”,REPT(“”,LEN(A2))):此SUBSTITUTE函數將用REPT函數返回的空格字符串替換單元格A2中的連字符。

該部分公式將被識別為RIGHT函數中的text參數。

3. RIGHT(SUBSTITUTE(A2,“-”,REPT(“”,LEN(A2))),LEN(A2)):此RIGHT函數將從SUBSTITUTE函數返回的文本字符串的右側獲取文本。

4. TRIM():此TRIM函數用於刪除所有多餘的空格,並且在單詞之間僅保留一個空格。


使用的相對功能:

  • RIGHT:
  • RIGHT函數從文本字符串的右側提取特定數量的字符。
  • SEARCH:
  • SEARCH函數可以幫助您從給定的文本中查找特定字符或子字符串的位置。
  • LEN:
  • LEN函數返回文本字符串中的字符數。
  • SUBSTITUTE:
  • Microsoft Excel SUBSTITUTE函數用另一個文本或字符替換文本字符串中的文本或字符。
  • TRIM:
  • TRIM函數從文本字符串中刪除所有多餘的空格,並且僅在單詞之間保留單個空格。
  • REPT:
  • REPT功能用於將字符重複指定的次數。

更多文章:

  • 從一個單元格提取多行
  • 現在,如果您有一個由換行符分隔的文本字符串列表(輸入文本時按Alt + Enter鍵會發生),現在,您要將這些文本行提取到多個單元格中,如下面的屏幕截圖所示。 您如何用Excel中的公式解決它?
  • 從文本字符串中提取括號之間的文本
  • 現在,如果文本字符串中有部分用括號括起來的文本,則需要提取括號之間的所有文本字符串,如下圖所示。 您如何在Excel中快速輕鬆地解決此任務?
  • 從Excel中的文本字符串中提取子字符串
  • 您可能需要從文本字符串中提取子字符串,這對您來說是一項常見的任務,在Excel中,沒有直接執行此操作的功能,但是藉助LEFT,RIGHT,MID和SEARCH函數,您可以提取您需要的各種子字符串。

最佳辦公效率工具

Kutools for Excel-幫助您從人群中脫穎而出

您想快速而完美地完成您的日常工作嗎? Kutools for Excel 帶來了 300 個強大的高級功能(合併工作簿、按顏色求和、拆分單元格內容、轉換日期等...)並為您節省 80% 的時間。

  • 專為 1500 個工作場景而設計,幫助您解決 80% 的 Excel 問題。
  • 每天減少數千次鍵盤和鼠標的點擊,減輕您疲倦的眼睛和手的疲勞。
  • 在3分鐘內成為Excel專家。 不再需要記住任何痛苦的公式和VBA代碼。
  • 30天無限制免費試用。 60天退款保證。 免費升級和支持2年。
Excel功能區(已安裝Kutools for Excel)

Office選項卡-在Microsoft Office(包括Excel)中啟用選項卡式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,將您的工作效率提高 50%。
  • 像Chrome,Firefox和新的Internet Explorer一樣,為Office(包括Excel)帶來高效選項卡。
Excel的屏幕截圖(已安裝Office選項卡)
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.