Skip to main content

從文字字串中刪除第二個或第N個空格後面或前面的文字

Author: Xiaoyang Last Modified: 2025-05-12

有時候,您可能需要刪除第二個或第N個特定分隔符(例如空格、逗號等)之前或之後的所有文字,如下方截圖所示。本文將介紹一些簡單的公式來處理Excel中的這個任務。

doc-remove-after-second-space-1


從文字字串中刪除第二個或第N個特定分隔符(空格、逗號等)之後的文字

在Excel中,若要刪除第二個或第N個空格或其他分隔符之後的文字,LEFT、SUBSTITUTE和FIND函數可以幫助您。通用語法為:

=LEFT(SUBSTITUTE(cell," ","#",N+1),FIND("#",SUBSTITUTE(cell," ","#",N),1)-1)
  • cell: 您想要刪除文字的單元格引用或文字字串。
  • N: 代表您希望根據其刪除文字的第N個分隔符。

請複製或輸入以下公式到您想得到結果的空白單元格中:

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

然後,向下拖動填充手柄以應用此公式到其他單元格,所有第二個空格之後的文字將立即被刪除,請參見截圖:

doc-remove-after-second-space-2

公式解釋:

1. SUBSTITUTE(A2," ","#",3): 此SUBSTITUTE函數用於將A2單元格中的第三個空格替換為特定字符#。它將得到這樣的結果:“Tom Hill Houston#Texas US”。這部分公式被識別為LEFT函數的text參數。

2. FIND("#",SUBSTITUTE(A2," ","#",2),1)-1: 這部分公式被識別為LEFT函數的num_chars參數。

  • SUBSTITUTE(A2," ","#",2): SUBSTITUTE函數將把A2單元格中的第二個空格替換為特定的#字符。您將得到這樣的結果:“Tom Hill#Houston Texas US”。
  • FIND("#",SUBSTITUTE(A2," ","#",2),1)-1=FIND("#", "Tom Hill#Houston Texas US", 1)-1: 此FIND函數用於從由SUBSTITUTE函數返回的文字字串中找到#字符的位置,從第一個字符開始。減去1意味著排除空格。這將得到數字8。

3. LEFT(SUBSTITUTE(A2," ","#",3),FIND("#",SUBSTITUTE(A2," ","#",2),1)-1)=LEFT("Tom Hill Houston#Texas US", 8): 最終,此LEFT函數將從A2單元格中的文字字串左側提取8個字符。

注意:

1. 如果有任何其他分隔符來分隔您的文字字串,您只需將空格字符替換為其他所需的字符即可。

2. 若要刪除第N個特定分隔符之後的文字,請根據需要更改第N個數字。例如,要刪除第三個空格之後的文字,請使用以下公式:

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

doc-remove-after-second-space-3


從文字字串中刪除第二個或第N個特定分隔符(空格、逗號等)之前的文字

若要刪除第二個或第N個特定分隔符之前的文字,RIGHT、LEN、FIND和SUBSTITUTE函數可以幫助您。通用語法為:

=RIGHT(cell,LEN(cell)-FIND("#",SUBSTITUTE(cell," ","#",N)))
  • cell: 您想要刪除文字的單元格引用或文字字串。
  • N: 代表您希望根據其刪除文字的第N個分隔符。

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

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2)))

然後,向下拖動填充手柄以應用此公式到其他單元格,您將獲得所需結果:

doc-remove-after-second-space-4

公式解釋:

1. LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2)):這部分公式被識別為RIGHT函數的num_chars參數。

  • SUBSTITUTE(A2," ","#",2): SUBSTITUTE函數將把A2單元格中的第二個空格替換為特定的#字符。您將得到這樣的結果:“Tom Hill#Houston Texas US”。
  • FIND("#",SUBSTITUTE(A2," ","#",2))=FIND("#", "Tom Hill#Houston Texas US" ): 此FIND函數將獲取由SUBSTITUTE函數返回的文字字串中#字符的位置。它將得到數字9。
  • LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2))=25-9: A2單元格的總長度減去第二個空格的位置,以獲得剩餘字符的數量。這將得到數字16。

2. RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2)))=RIGHT(A2, 16): 此RIGHT函數用於從A2單元格中的文字字串右側提取字符。

注意:

1. 如果有任何其他分隔符來分隔您的文字字串,您只需將空格字符替換為其他所需的字符即可。

2. 若要刪除第N個特定分隔符之前的文字,請根據需要更改第N個數字。例如,要刪除第三個空格之前的文字,請使用以下公式:

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",3)))

doc-remove-after-second-space-5


相關函數:

  • LEN:
  • LEN函數返回文字字串中的字符數量。
  • LEFT:
  • LEFT函數從提供的字串左側提取指定數量的字符。
  • RIGHT:
  • RIGHT函數用於從文字字串的右側提取指定數量的字符。
  • FIND:
  • FIND函數用於在另一個字串中查找字串,並返回該字串在另一個字串中的起始位置。
  • SUBSTITUTE:
  • Excel的SUBSTITUTE函數用另一個文字或字符替換文字字串中的文字或字符。

更多文章:

  • 從文字字串中刪除非數字字符
  • 有時候,您可能需要從文字字串中刪除所有非數字字符,只保留數字,如下方截圖所示。本文將介紹一些解決此問題的Excel公式。
  • 從文字字串中刪除括號或方括號內的文字
  • 假設您有一系列文字字串,其中部分文字被括號括起來,現在您想刪除括號內的所有文字以及括號本身,如下方截圖所示。本文將介紹一些方法來解決Excel中的這個問題。

最佳的辦公生產力工具

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 一樣。