在特定字符的最後一個實例之後提取文本
如果您有包含多個定界符的複雜文本字符串列表(以下面的屏幕快照為例,其中包含連字符,逗號,單元格數據中的空格),現在,您要查找最後一個連字符的位置,然後提取其後的子字符串。 本文中,我將介紹一些用於處理此任務的公式。
公式1:在特定定界符的最後一個實例之後提取子字符串
在Excel中,結合了LEN,SEARCH,SUBSTITUTE函數的RIGHT函數可以幫助您創建解決該問題的公式。
1。 要在最後一次出現連字符後提取子字符串,請輸入以下公式或將其複製到空白單元格中:
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函數中,請應用以下公式:
公式2:在特定定界符的最後一個實例之後提取子字符串
這是由TRIM,RIGHT,SUBSTITUTE,REPT和LEN函數創建的另一個簡單公式,也可以幫助您在Excel中解決此任務。
1。 請將以下公式複製或輸入到要獲取結果的空白單元格中:
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中的文本字符串中提取第N個單詞
- 現在,如果有文本字符串或句子的列表,則要從列表中提取特定的第n個單詞,如下圖所示。 本文,我將介紹一些在Excel中解決此工作的方法。
- 從文本字符串中提取括號之間的文本
- 現在,如果文本字符串中有部分用括號括起來的文本,則需要提取括號之間的所有文本字符串,如下圖所示。 您如何在Excel中快速輕鬆地解決此任務?
- 從Excel中的文本字符串中提取子字符串
- 您可能需要從文本字符串中提取子字符串,這對您來說是一項常見的任務,在Excel中,沒有直接執行此操作的功能,但是藉助LEFT,RIGHT,MID和SEARCH函數,您可以提取您需要的各種子字符串。
最佳辦公效率工具
Kutools for Excel - 助您脫穎而出
熱門特色: 尋找、突出顯示或識別重複項 | 刪除空白行 | 合併列或儲存格而不遺失數據 | 沒有公式的回合 ... | |
超VLookup: 多重標準 | 多重價值 | 跨多頁 | 模糊查詢... | |
副詞。 下拉清單: 簡易下拉列表 | 依賴下拉列表 | 多選下拉列表... | |
欄目經理: 新增特定數量的列 | 移動列 | 切換隱藏列的可見性狀態 | 將列與 選擇相同和不同的單元格 ... | |
特色功能: 網格焦點 | 設計圖 | 大方程式酒吧 | 工作簿和工作表管理器 | 資源庫 (自動文字) | 日期選擇器 | 合併工作表 | 加密/解密單元格 | 按清單發送電子郵件 | 超級濾鏡 | 特殊過濾器 (過濾粗體/斜體/刪除線...)... | |
前 15 個工具集: 12 文本 工具 (添加文本, 刪除字符 ...) | 50+ 圖表 類型 (甘特圖 ...) | 40+ 實用 公式 (根據生日計算年齡 ...) | 19 插入 工具 (插入二維碼, 從路徑插入圖片 ...) | 12 轉化 工具 (數字到單詞, 貨幣兌換 ...) | 7 合併與拆分 工具 (高級合併行, 拆分 Excel 儲存格 ...) | ... 和更多 |
Kutools for Excel 擁有 300 多項功能, 確保只需點擊一下即可獲得您所需要的...

Office Tab - 在 Microsoft Office(包括 Excel)中啟用分頁式閱讀和編輯
- 一秒鐘即可在數十個打開的文檔之間切換!
- 每天為您減少數百次鼠標單擊,告別鼠標手。
- 查看和編輯多個文檔時,將您的工作效率提高 50%。
- 為 Office(包括 Excel)帶來高效的選項卡,就像 Chrome、Edge 和 Firefox 一樣。
