Skip to main content

從Excel中的文字字串提取第N個單詞

Author: Xiaoyang Last Modified: 2025-05-12

如果您有一系列的文字字串或句子,現在您想從列表中提取特定的第N個單詞,如下方截圖所示。本文將介紹一些在Excel中解決此問題的方法。

doc-extract-nth-word-1


使用公式從文字字串中提取並獲取第N個單詞

要處理這個任務,您可以使用結合了TRIM、MID、SUBSTITUTE、REPT和LEN函數的公式。通用語法為:

=TRIM(MID(SUBSTITUTE(string," ",REPT(" ",LEN(string))), (N-1)*LEN(string)+1, LEN(string)))
  • string: 您想要提取單詞的文字字串或儲存格值。
  • N: 您想要提取的單詞的序號。

1. 請在空白儲存格中輸入或複製以下公式:

=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B2-1)*LEN(A2)+1, LEN(A2)))

注意:在上述公式中,A2是包含您要使用的文字字串的儲存格,B2是您要提取的單詞的序號,也可以直接輸入為數字。

2. 然後,向下拖動填充柄以應用該公式到其他儲存格,所有指定的第N個單詞都已提取,如下方截圖所示:

doc-extract-nth-word-2


公式的解釋:
  • 1. SUBSTITUTE(A2," ",REPT(" ",LEN(A2))):
  • REPT(" ",LEN(A2): 這個REPT函數用於根據特定次數(即儲存格A2的文字長度)重複空格字符,這將生成多個空格字符;
  • SUBSTITUTE(A2," ",REPT(" ",LEN(A2))): SUBSTITUTE函數將替換儲存格A2中的每個空格字符為由REPT函數返回的大量空格字符,這將得到一個每個單詞之間有多個空格的文字字串。
  • 這部分被重新組織為MID函數中的text參數。
  • 2. (B2-1)*LEN(A2)+1: 這個公式將返回儲存格A2中文字字串的第N個單詞的起始位置。這是MID函數的start_num參數。
  • 3. MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B2-1)*LEN(A2)+1, LEN(A2)): 這個MID函數根據上述公式返回的參數,從儲存格A2的文字字串中提取第N個單詞。
  • 4. TRIM(): 這個TRIM函數移除單詞之間的所有額外空格字符。

提示:如果單詞之間有多個空格字符,上述公式將無法正確工作,在這種情況下,您應該在SUBSTITUTE函數內嵌套另一個TRIM函數,請使用以下公式:

=TRIM(MID(SUBSTITUTE(TRIM(A2)," ",REPT(" ",LEN(A2))), (B2-1)*LEN(A2)+1, LEN(A2)))

doc-extract-nth-word-3


使用用戶定義函數從文字字串中提取並獲取第N個單詞

如果上述公式對您來說有點難以理解,這裡我將介紹一個用戶定義函數,通過下面的代碼,您也可以從文字字串中提取第N個單詞。請按照以下步驟操作:

1. 按下ALT + F11鍵打開Microsoft Visual Basic for Applications窗口。

2. 點擊插入 > 模組,將以下代碼複製並粘貼到模組窗口中。

Function FindWord(Source As String, Position As Integer)
'Update by Extendoffice
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. 然後,保存並關閉代碼模組,在空白儲存格中輸入這個公式:=findword(A2,B2),您希望輸出結果的位置:

注意:在這個公式中,A2是包含您要使用的文字字串的儲存格,B2是您要提取的單詞的序號,也可以直接輸入為數字。

4. 然後,將公式拖動到其他儲存格以獲得所需結果,見截圖:

doc-extract-nth-word-4


使用強大的功能從文字字串中提取並獲取第N個單詞

如果您有Kutools for Excel,它支持大多數Excel用戶常用的多種公式,使用其提取儲存格中第N個單詞工具,您可以盡快提取指定的第N個單詞。點擊免費試用Kutools for Excel!


相關函數:

  • REPT:
  • REPT函數用於按指定次數重複字符。
  • SUBSTITUTE:
  • SUBSTITUTE函數用於替換文字字串中的文本或字符為其他文本或字符。
  • TRIM:
  • TRIM函數移除文字字串中的所有額外空格,僅保留單詞之間的單個空格。
  • MID:
  • MID函數返回文字字串中間的特定字符。
  • LEN:
  • LEN函數返回文字字串中的字符數量。

更多文章:


最佳的辦公生產力工具

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