KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

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

作者Xiaoyang修改日期

若您需要從儲存格清單中提取位於第二個或第 N 個特定字元(例如空格或逗號)之前或之後的文字字串,本文將為您介紹幾種適用於 Excel 的實用公式,輕鬆達成此任務。

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

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

在 Excel 中,TRIM、MID、FIND 與 SUBSTITUTE 函數的組合可協助您處理此任務,其通用語法如下:

=TRIM(MID(text,FIND("#",SUBSTITUTE(text," ","#",Nth))+1,255))
  • text:您要從中提取文字的字串或儲存格參照。
  • Nth:代表您要據此提取文本的第 N 次空格或逗號出現位置。

請將下列公式輸入或複製到您希望輸出結果的空白儲存格中:

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

doc-extract-after-second-space-3


公式說明:

SUBSTITUTE(A2," ","#",2):此 SUBSTITUTE 函數會將儲存格 A2 中的第二個空格替換為 # 字元,結果為「Insert multiple#空白列」,並將此結果作為 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#空白列」。此結果將作為 FIND 函數中的 within_text 引數。

FIND("#",SUBSTITUTE(A2," ","#",2))-1:FIND 函數會找出 SUBSTITUTE 函數所傳回字串中「#」字元的位置,再減去 1,即可取得文字中第二個空格前的字元位置。您將得到 15,此結果將作為 LEFT 函數的 num_chars 引數。

LEFT(A2,FIND("#",SUBSTITUTE(A2," ","#",2))-1):最後,LEFT 函數會根據 FIND 函數傳回的位置,從儲存格 A2 的文字字串中提取最左側的 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 中透過公式達成此目的?
  • 在 Excel 中從文字字串提取第 N 個單字
  • 若您手邊有一份文字字串或句子清單,並希望從中提取特定的第 N 個單字(如下方截圖所示),本文將為您介紹幾種在 Excel 中輕鬆達成此任務的實用方法。
  • 在 Excel 中從文字字串提取子字串
  • 在 Excel 中提取文字字串中的子字串是常見任務。雖然 Excel 沒有專門對應的函數,但只要靈活搭配 LEFT、RIGHT、MID 與 SEARCH 函數,就能輕鬆依需求擷取各種子字串。

最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。