從Excel中的文字字串提取第N個單詞
如果您有一系列的文字字串或句子,現在您想從列表中提取特定的第N個單詞,如下方截圖所示。本文將介紹一些在Excel中解決此問題的方法。
使用公式從文字字串中提取並獲取第N個單詞
要處理這個任務,您可以使用結合了TRIM、MID、SUBSTITUTE、REPT和LEN函數的公式。通用語法為:
- string: 您想要提取單詞的文字字串或儲存格值。
- N: 您想要提取的單詞的序號。
1. 請在空白儲存格中輸入或複製以下公式:
注意:在上述公式中,A2是包含您要使用的文字字串的儲存格,B2是您要提取的單詞的序號,也可以直接輸入為數字。
2. 然後,向下拖動填充柄以應用該公式到其他儲存格,所有指定的第N個單詞都已提取,如下方截圖所示:
公式的解釋:
- 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函數,請使用以下公式:
使用用戶定義函數從文字字串中提取並獲取第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. 然後,將公式拖動到其他儲存格以獲得所需結果,見截圖:
使用強大的功能從文字字串中提取並獲取第N個單詞
如果您有Kutools for Excel,它支持大多數Excel用戶常用的多種公式,使用其提取儲存格中第N個單詞工具,您可以盡快提取指定的第N個單詞。點擊免費試用Kutools for Excel!
相關函數:
- REPT:
- REPT函數用於按指定次數重複字符。
- SUBSTITUTE:
- SUBSTITUTE函數用於替換文字字串中的文本或字符為其他文本或字符。
- TRIM:
- TRIM函數移除文字字串中的所有額外空格,僅保留單詞之間的單個空格。
- MID:
- MID函數返回文字字串中間的特定字符。
- LEN:
- LEN函數返回文字字串中的字符數量。
更多文章:
- 在Excel中獲取或提取文字字串的第一個單詞
- 要從一系列由空格分隔的文字字串中提取所有的第一個單詞,Excel中的LEFT和FIND函數可以幫助您。
- 在Excel中獲取或提取文字字串的最後一個單詞
- 要從由空格字符分隔的文字字串中提取最後一個單詞,通常您可以創建一個基於TRIM、SUBSTITUTE、RIGHT和REPT函數的公式來實現。
- 從多行儲存格中提取最後一行文字
- 要從由換行符分隔的文字字串中提取最後一行文字,通常沒有直接的方法來解決這個問題。本文將介紹一個公式來處理這個任務。
最佳的辦公生產力工具
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 一樣。