跳到主要內容

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

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


公式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 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項  |  刪除空白行  |  合併列或儲存格而不遺失數據  |  沒有公式的回合 ...
超VLookup: 多重標準  |  多重價值  |  跨多頁  |  模糊查詢...
副詞。 下拉清單: 簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  將列與 選擇相同和不同的單元格 ...
特色功能: 網格焦點  |  設計圖  |  大方程式酒吧  |  工作簿和工作表管理器 | 資源庫 (自動文字)  |  日期選擇器  |  合併工作表  |  加密/解密單元格  |  按清單發送電子郵件  |  超級濾鏡  |  特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符 ...)  |  50+ 圖表 類型 (甘特圖 ...)  |  40+ 實用 公式 (根據生日計算年齡 ...)  |  19 插入 工具 (插入二維碼, 從路徑插入圖片 ...)  |  12 轉化 工具 (數字到單詞, 貨幣兌換 ...)  |  7 合併與拆分 工具 (高級合併行, 拆分 Excel 儲存格 ...)  |  ... 和更多

Kutools for Excel 擁有超過 300 個功能, 確保只需點擊一下即可獲得您所需要的...

產品描述


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

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,將您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的選項卡,就像 Chrome、Edge 和 Firefox 一樣。
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
how do you get everything after the last Nth character when there is more 'N' character that you want. Example.

1-2-3-4.ip.linodeusercontent.com.
1.2.3.4.ipv4.supernova.orange.pl.

i want to get the last bit after the IP addresses. So it ends up like this
ip.linodeusercontent.com.
pv4.supernova.orange.pl.
This comment was minimized by the moderator on the site
where "." is my Nth character
This comment was minimized by the moderator on the site
i really what to count the Nth character from the right 2 or 3 times and get everything after that, not counting the Nth character from the left because that varies. such a pain with no skills...lol
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations