Skip to main content

提取特定字符最後一次出現後的文本

Author: Xiaoyang Last Modified: 2025-05-12

如果您有一系列包含多個分隔符的複雜文本字符串(以下方截圖為例,其中包含連字符、逗號和單元格數據中的空格),現在您想找到最後一個連字符出現的位置,然後提取其後的子字符串。本文將介紹一些用於處理此任務的公式。

doc-extract-text-after-last-character-1


公式 1:提取特定分隔符最後一次出現後的子字符串

在 Excel 中,結合 LEN、SEARCH 和 SUBSTITUTE 函數使用的 RIGHT 函數可以幫助您創建解決此問題的公式。

1. 要提取最後一個連字符後的子字符串,請在空白單元格中輸入或複製以下公式:

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

2. 然後,向下拖動填充柄以應用該公式到其他單元格,您將得到如下截圖所示的結果:

doc-extract-text-after-last-character-2


公式解釋:

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

  • LEN(A2):此 LEN 函數返回單元格 A2 中字符的總數。它將返回:44。
  • SUBSTITUTE(A2,"-",""):此 SUBSTITUTE 函數用於將所有連字符替換為空值。您將得到這樣的結果:“InsertDeleterows, sheets, images, formulas”。
  • LEN(SUBSTITUTE(A2,"-",""):獲取單元格 A2 中不包含連字符的文本字符串的總長度。
  • LEN(A2)-LEN(SUBSTITUTE(A2,"-","")):從總字符串長度中減去不含連字符的文本字符串長度,以獲取連字符的數量,這將得到 2。

2. SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))):此 SUBSTITUTE 函數用於將第一部分公式返回的最後一個連字符替換為 # 字符。您將得到這個結果:“Insert-Delete#rows, sheets, images, formulas”。

doc-extract-text-after-last-character-3

3. SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))= SEARCH("#", "Insert-Delete#rows, sheets, images, formulas"):此 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,"-","")))))= RIGHT(A2, 30):最後,RIGHT 函數用於從單元格 A2 的文本字符串右側提取由步驟 4 公式返回的 30 個字符。


注意:

1. 如果需要提取其他分隔符最後一次出現後的文本,只需根據需要將連字符替換為另一個分隔符即可。

2. 如果文本字符串中沒有特定的分隔符,上述公式將返回錯誤值,如下截圖所示:

doc-extract-text-after-last-character-4

要修復此錯誤,您可以將上述公式嵌套在 IFERROR 函數中,請使用以下公式:

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

doc-extract-text-after-last-character-5


公式 2:提取特定分隔符最後一次出現後的子字符串

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

1. 請將以下公式複製或輸入到您希望獲得結果的空白單元格中:

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

2. 然後,向下拖動填充柄以應用該公式到其他單元格,所有最後一個連字符後的子字符串都已提取,如下截圖所示:

doc-extract-text-after-last-character-6


公式解釋:

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 中使用公式解決這個問題?
  • 從文本字符串中提取第 N 個單詞
  • 如果您有一系列文本字符串或句子,現在您想從列表中提取特定的第 N 個單詞,如下截圖所示。本文將介紹一些在 Excel 中解決此問題的方法。
  • 從文本字符串中提取括號內的文本
  • 如果文本字符串中有部分文本被括號包圍,現在您需要提取所有括號內的文本字符串,如下截圖所示。如何在 Excel 中快速輕鬆地解決這個問題?
  • 從文本字符串中提取子字符串
  • 在 Excel 中,您可能經常需要從文本字符串中提取子字符串,雖然 Excel 沒有直接的函數來完成此操作,但借助 LEFT、RIGHT、MID 和 SEARCH 函數,您可以根據需要提取各種子字符串。

最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。