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

在 Excel 中從文字字串擷取第 n 個單字

作者Xiaoyang修改日期

若您手上有一份文字字串或句子清單,並希望如以下截圖所示,從中擷取特定的第 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))), (B 2-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 函數的文字引數。
  • 2.(B 2-1)*LEN(A2)+1: 此公式會傳回儲存格 A2 中文字字串第 n 個單字的起始位置,作為 MID 函數的 start_num 參數。
  • 3.MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B 2-1)*LEN(A2)+1, LEN(A2)): 此 MID 函數會根據上述公式所傳回的參數,從儲存格 A2 的文字字串中擷取第 n 個單字。
  • 4.TRIM(): 此 TRIM 函數可移除單字之間所有多餘的空格字元。

提示:若單字之間包含多個空格字元,上述公式將無法正確運作。此時,請在 SUBSTITUTE 函數內再嵌套一個 TRIM 函數,使用以下公式即可輕鬆解決:

=TRIM(MID(SUBSTITUTE(TRIM(A2)," ",REPT(" ",LEN(A2))), (B 2-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 函數會傳回文字字串中的字元數。

更多文章:


最佳 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 般的高效能分頁體驗。