Skip to main content

提取第二個空格或逗號之前或之後的文字

Author: Xiaoyang Last Modified: 2025-05-12

如果需要從一組儲存格中提取位於第二個或第N個特定字符(空格或逗號)之前或之後的文字字符串,本文將介紹一些在Excel中解決此任務的公式。

doc-extract-after-second-space-1 doc-extract-after-second-space-2

在Excel中提取第二個或第N個空格或逗號之後的文字

在Excel中,TRIM、MID、FIND和SUBSTITUTE函數的組合可以幫助您處理此任務,通用語法為:

=TRIM(MID(text,FIND("#",SUBSTITUTE(text," ","#",Nth))+1,255))
  • text: 您要提取文字的文本字符串或單元格引用。
  • Nth: 代表您要根據其提取文字的空格或逗號實例編號。

請在您希望輸出結果的空白單元格中輸入或複製以下公式:

=TRIM(MID(A2,FIND("#",SUBSTITUTE(A2," ","#",2))+1,255))

doc-extract-after-second-space-3


公式解釋:

SUBSTITUTE(A2," ","#",2): 此SUBSTITUTE函數用於查找並將A2單元格中的第二個空格字符替換為#字符。您將得到這樣的結果:“Insert multiple#blank rows”。這個返回的結果被識別為FIND函數中的within_text參數。

FIND("#",SUBSTITUTE(A2," ","#",2))+1: FIND函數將獲取由SUBSTITUTE函數返回的文本字符串中#字符的位置,加1表示獲取文本中第二個空格後的起始位置,您將得到17。返回的結果將被識別為MID函數中的start_num參數。

MID(A2,FIND("#",SUBSTITUTE(A2," ","#",2))+1,255): MID函數用於從A2單元格的文本字符串中提取從FIND函數返回的字符數開始的255個字符。

doc extract after second space 04

TRIM(): 此TRIM函數將刪除所有額外的空格,並僅在單詞之間保留一個空格。


注意:

1. 如果您的文本是以逗號或其他分隔符分隔,則只需根據需要將空格字符串替換為其他分隔符。例如:

=TRIM(MID(A2,FIND("#",SUBSTITUTE(A2,",","#",2))+1,255))

2. 要提取第N個空格之後的文本,請將公式中的數字2更改為所需的數字,例如,要提取第三個空格之後的文本,只需應用以下公式:

=TRIM(MID(A4,FIND("#",SUBSTITUTE(A4," ","#",3))+1,255))

doc-extract-after-second-space-5


在Excel中提取第二個或第N個空格或逗號之前的文字

要提取第二個或第N個空格或逗號之前的文字,LEFT、SUBSTITUTE和FIND函數可以幫到您。通用語法為:

=LEFT(text,FIND("#",SUBSTITUTE(text, " " ,"#",Nth))-1)
  • text: 您要提取文字的文本字符串或單元格引用。
  • Nth: 代表您要根據其提取文字的空格或逗號實例編號。

請複製或輸入以下公式到空白單元格中:

=LEFT(A2,FIND("#",SUBSTITUTE(A2," ","#",2))-1)

然後,向下拖動填充柄以應用該公式到其他單元格,所有第二個空格之前的文本都已提取,如下圖所示:

doc-extract-after-second-space-6


公式解釋:

SUBSTITUTE(A2," ","#",2): 此SUBSTITUTE函數用於查找並將A2單元格中的第二個空格字符替換為#字符。您將得到這樣的結果:“Insert multiple#blank rows”。這個返回的結果被識別為FIND函數中的within_text參數。

FIND("#",SUBSTITUTE(A2," ","#",2))-1: FIND函數將獲取由SUBSTITUTE函數返回的文本字符串中#字符的位置,減去1以獲取文本中第二個空格字符之前的位置。您將得到15。返回的結果將被識別為LEFT函數中的num_chars參數。

LEFT(A2,FIND("#",SUBSTITUTE(A2," ","#",2))-1): 最後,LEFT函數用於從A2單元格的文本字符串中提取由FIND函數返回的最左邊15個字符。


注意:

1. 如果您的文本是以逗號或其他分隔符分隔,則只需根據需要將空格字符串替換為其他分隔符。例如:

=LEFT(A2,FIND("#",SUBSTITUTE(A2,",","#",2))-1)

2. 要提取第N個空格之前的文本,請將公式中的數字2更改為所需的數字,例如,要提取第三個空格之前的文本,只需應用以下公式:

=LEFT(A4,FIND("#",SUBSTITUTE(A4," ","#",3))-1)

doc-extract-after-second-space-7


相關函數:

  • MID:
  • MID函數用於從給定文本字符串的中間查找並返回特定數量的字符。
  • LEFT:
  • LEFT函數從提供的字符串的左側提取指定數量的字符。
  • FIND:
  • FIND函數用於在另一個字符串中查找字符串,並返回字符串在另一個字符串內的起始位置。
  • SUBSTITUTE:
  • Microsoft Excel SUBSTITUTE函數用於替換文本字符串中的文本或字符。
  • TRIM:
  • TRIM函數刪除文本字符串中的所有額外空格,並僅在單詞之間保留單個空格。

更多文章:

  • 從單元格中提取多行
  • 如果您有一列文本字符串,它們由換行符分隔(這是在輸入文本時按下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 一樣。