Excel 教學 – 按特定位置提取文本或數字 Author Siluvia • Last modified 2025-08-23 按位置提取文本1. 從左邊或右邊提取字符數量1.1 使用公式提取前/後 N 個字符1.2 使用附加元件提取前/後 N 個字符2. 提取指定字符/單詞前後的內容2.1 提取第一個分隔依據前/後的內容2.1.1 提取第一個分隔依據前的內容2.1.2 提取第一個分隔依據後的內容2.1.3 使用外掛程式在第一個分隔依據前後提取2.2 提取最後分隔依據前或後的字串2.2.1 提取最後一個分隔依據前的內容2.2.2 提取最後一個分隔依據後的內容2.3 提取第 N 個字符後的文本 2.4 從字串中提取第N個單詞2.4.1 使用公式提取儲存格中第N個單詞2.4.2 使用 VBA 提取第 N 個單詞 2.4.3 使用一個驚人的工具提取第N個單詞2.5 提取分隔依據第N次出現前/後的內容2.5.1 提取分隔依據第N次出現前的內容2.5.2 提取分隔依據第N次出現後的內容2.6 提取換行符前或後的文本2.6.1 提取第一個換行符之前的文本2.6.2 提取最後一個換行符後的文本2.7 提取文字前或文字後的文本2.7.1 提取指定單詞前的文本2.7.2 提取某個單詞後的文本2.7.3 使用出色工具在特定單詞前後提取3. 提取字符/單詞之間的內容3.1 提取兩個字符之間的文本3.1.1 提取兩個相同字符之間的內容3.1.2 提取兩個不同字符之間的內容3.1.3 使用附加元件提取兩個字符之間的內容3.1.4 按規則提取兩個字符之間的內容(包括字符)3.2 提取兩個單詞之間的文本3.2.1 使用公式提取兩個單詞之間的內容3.2.2 使用附加元件提取兩個單詞之間的內容按位置提取數字1. 從字串的左對齊提取數字2. 從字串的右邊提取數字3. 從任何位置提取所有數字3.1 使用公式提取所有數字3.2 使用 VBA 提取所有數字3.3 使用強大的工具提取所有數字4. 提取指定文本後的數字4.1 使用公式4.2 使用自定義函數在許多情況下,您可能只需要從句子或單元格中的字串中提取有用的文字,例如從地址中提取省份,從句子中提取郵箱地址,從對話中提取快遞單號等。本教程將提取範圍縮小到單元格中的特定位置,並收集不同的方法來幫助在 Excel 中按特定位置提取單元格中的文本或數字。

目錄:[ 隱藏 ]

(點擊下方或右側目錄中的任何標題以導航至相應章節。)按位置提取文本1. 從左邊或右邊提取字符數量1.1 使用公式提取前或後 N 個字符1.2 使用出色的工具提取前 N 個字符或後 N 個字符2. 提取某個字符/單詞前或後的文本2.1 提取第一個分隔依據(字符)前或後的文本2.1.1 使用公式提取第一個分隔依據前的文本2.1.2 使用公式提取第一個分隔依據後的文本2.1.3 使用一個出色的工具提取第一個分隔依據前或後的文本2.2 提取最後一個分隔依據(字符)前或後的文本2.2.1 使用公式提取最後一個分隔依據前的文本2.2.2 使用公式提取最後一個分隔依據後的文本2.3 提取第N個字符後的文本 2.4 從文本字串中提取第N個單詞2.4.1 使用公式提取第N個單詞2.4.2 使用自定義函數提取第N個單詞 2.4.3 使用出色工具提取儲存格中第N個單詞2.5 提取分隔依據第N次出現前或後的文本2.5.1 提取分隔依據第N次出現前的文本2.5.2 提取分隔依據出現次數後的文本2.6 提取換行符前或後的文本2.6.1 使用公式提取第一個換行符之前的文本2.6.2 使用公式提取最後一個換行後的文本2.7 提取文字前或文字後的文本2.7.1 使用公式提取指定單詞前的文本2.7.2 使用公式提取特定單詞後的文本2.7.3 使用強大工具提取某個單詞前或後的文本3. 提取每個字符/單詞之間3.1 提取兩個字符之間的文本3.1.1 使用公式提取兩個相同字符之間的文本3.1.2 使用公式提取兩個不同字符之間的文本3.1.3 使用出色工具提取兩個字符之間的文本3.1.4 按規則提取兩個字符之間的文本(包括字符)3.2 提取兩個單詞之間的文本3.2.1 使用公式提取兩個單詞之間的文本3.2.2 使用一個出色的工具提取兩個單詞之間的文本按位置提取數字1. 從字串的左邊提取數字2. 從字串右側提取數字3. 從文字字串中的任何位置提取所有數字3.1 使用公式從字串中的任意位置提取所有數字3.2 使用 VBA 從字串中的任意位置提取所有數字3.3 使用一個驚人的工具從字串中的任何位置提取所有數字4. 提取指定文本後的數字4.1 使用公式提取指定文本後的數字4.2 使用自定義函數提取特定文本後的數字按位置提取文本本節收集了常見的區域,從中可以從單元格中提取文字,並提供相應的方法逐步處理。您可以瀏覽以獲取更多詳細資訊。

1. 從左邊或右邊提取字符數量要從字串的左側或右側提取字符數量,您可以嘗試以下方法之一。

1.1 使用公式提取前或後 N 個字符

假設您在下圖所示的列B中有一個字串列表,要從每個字串中提取前2個字符和後2個字符,您可以應用以下公式。

提取文本字串中的前 N 個字符

LEFT 函數可以幫助輕鬆從 Excel 中的文本字串提取前 N 個字符。

通用公式

=LEFT(text_string,[num_chars])

參數

"Text_string": 包含您想要提取的字符的文本字串。它可以是一個儲存格引用或用雙引號括起來的實際文本字串;"Num_chars": 指定您想要提取的字符數量。Num_chars 必須大於或等於零;如果指定的 Num_chars 大於文字字串的長度,則返回整個文字;如果省略了 Num_chars,則假定為1。現在,您可以應用此公式從列B中的單元格提取前2個字符。

1. 選擇一個空白單元格,複製或輸入以下公式,然後按下「Enter」鍵以獲得第一個結果。選擇結果單元格並向下拖動其自動填充柄以將公式應用到其他單元格。

=LEFT(B5,2)

現在您已經提取了指定區域中每個單元格的前2 個字符。

從字串中提取後 N 個字符

在這裡,我們應用RIGHT函數從Excel中的文字字串中提取後N個字符。

通用公式

=RIGHT(text_string,[num_chars])

參數

"Text_string": 包含您想要提取字符的字串。它可以是一個儲存格引用或用雙引號括起來的實際字串;"Num_chars": 指定要提取的字符數量。"Num_chars" 必須大於或等於零;如果指定的「Num_chars」大於文本字串的長度,則返回整個文本;如果省略了 "Num_chars",則假設為1。選擇一個空白單元格,複製或輸入下面的公式,然後按下 "Enter" 鍵以獲得結果。接著選擇此結果單元格,並向下拖曳其自動填充柄以獲得其他結果。

=RIGHT(B5,2)

1.2 使用強大工具提取前或後 N 個字符

雖然上述公式很簡單,但要從長列表的文本字串中提取前或後 N 個字符,仍需從上往下拖動自動填充手柄,這可能會稍微耗時。在此,我們推薦使用 "Kutools for Excel" 的 "提取文本" 工具,以批量提取列表中的文本字串的前或後 N 個字符。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...1. 預先選擇您要從中提取文本的字串列表,然後點擊 "Kutools" > "文字" > "提取文本"。

2. 在彈出的「提取文本」對話框中,您需要按以下方式進行配置。

2.1) 確保您停留在「按位置提取」標籤中;2.2) 在「區域」框中,會顯示選定的區域,您可以根據需要更改為其他區域;2.3) 在「選項」部分:如果您想提取前 N 個字符,請選擇"前 N 個字符"單選按鈕,然後在文本框中指定您要提取的字符數。在這種情況下,我輸入數字2;如果您想提取後 N 個字符,請選擇「後 N 個字符」選項,然後在文本框中指定您要提取的字符數。在這個例子中,我想從文本字串中提取後2 個字符,所以我在文本框中輸入數字2。2.4) 點擊“確定”。請參見截圖:

備註:若要在文字字串變更時使結果保持動態,您可以勾選「作為公式插入」方框。

3. 在接下來彈出的「提取文本」對話框中,選擇一個單元格以輸出提取的字符,然後點擊「確定」。

然後,從選取的單元格中批量提取前 N 個或後 N 個字符。

點擊以了解更多關於此功能的資訊。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

2. 提取特定字符/單詞前或後的文本要提取某個字符或單詞前後的文本,本節中的不同方案將滿足您的需求。

2.1 提取第一個分隔依據(字符)前或後的文本

如下面的截圖所示,要從區域 B4:B10 中的每個單元格提取第一個分隔依據前或後的文本,您可以應用以下方法之一。

2.1.1 使用公式提取第一個分隔依據前的文本

應用基於 LEFT 和 FIND 函數的公式可以幫助從單元格中提取第一個分隔符之前的文本。您可以按照以下步驟完成此操作。

通用公式

=LEFT(text_string,FIND("分隔依據",text_string,1)-1)

參數輸入

"Text_string": 您想要從中提取子字串的文本字串。它可以是一個儲存格引用或用雙引號括起來的實際文本字串;"分隔依據": 第一個分隔依據,用於定義將從單元格中提取的文本。選擇一個空白單元格,將以下公式複製或輸入到其中,然後按下 "Enter" 鍵以獲取第一個結果。選擇第一個結果單元格,然後向下拖動其自動填充柄,以獲取其他單元格中第一個分隔依據之前的文字。

=LEFT(B5,FIND("-",B5,1)-1)

2.1.2 使用公式提取第一個分隔依據後的文本

以下公式有助於從 Excel 中的單元格提取第一個分隔依據後的文本。

通用公式

=MID(字串,FIND("分隔依據",字串)+1,LEN(字串))

參數

"Text_string": 您想要提取子字串的文字字串。它可以是一個儲存格引用或是用雙引號括起來的實際文字字串;"分隔依據:" 第一個分隔符定義了將從單元格中提取哪些文本。選擇一個空白單元格,將下面的公式複製或輸入到其中,然後按下「Enter」鍵以獲得第一個結果。選擇第一個結果單元格,並向下拖動其自動填充柄以獲得其他結果。=MID(B5,FIND("-",B5)+1,LEN(B5))

2.1.3 使用出色的工具提取第一個分隔依據前或後的文本

在這裡,我們強烈推薦使用 "Kutools for Excel" 的 "提取文本" 功能。利用此功能,您可以輕鬆地從一個區域的多個單元格中批量提取第一個分隔符之前或之後的文本。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...1. 選擇您想要提取文本的單元格區域,然後點擊 "Kutools" > "文字" > "提取文本"。

2. 在「提取文本」對話框中,您需要進行以下配置。

2.1) 保持在「按位置提取」標籤中;2.2) 在「區域」框中,會顯示選定的區域,您可以根據需要進行更改;2.3) 在「選項」部分:要提取第一個分隔依據前的文本,請選擇「文字前」選項,然後在文本框中輸入第一個分隔依據;要提取第一個分隔依據後的文本,請選擇“文字後”單選按鈕,然後在文本框中輸入第一個分隔依據。2.4) 點擊 "確定"。

備註:若要在文字字串變更時使結果具有動態性,您可以勾選作為公式插入方塊。

3. 然後會彈出另一個 "提取文本" 對話框,選擇一個單元格來輸出結果,然後點擊 "確定"。

然後,第一個分隔依據前或後的文字會立即從選取單元格中提取。

要了解更多有關此功能的信息,請訪問:快速提取 Excel 單元格中的特定文本。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

2.2 提取最後一個分隔依據(字符)前或後的文本

在上述步驟中,我們已經學習了從單元格中提取第一個分隔依據前或後的文字的方法。如下圖所示,本節將向您展示兩個公式,用於從單元格中提取最後一個分隔依據前或後的文字。您可以按照以下步驟完成操作。

2.2.1 使用公式提取最後一個分隔依據前的文本

要從單元格中提取最後一個分隔依據之前的文本,可以在LEFT函數中使用SEARCH、LEN和SUBSTITUTE函數。

通用公式

=LEFT(text_string,SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter",""))))-1)

參數

"Text_string": 您想要從中提取子字串的文本字串。它可以是一個儲存格引用或用雙引號括起來的實際文本字串;"分隔依據:" 定義將從單元格中提取哪個文本的最後一個分隔依據。選擇一個單元格,輸入以下公式並按下「Enter」鍵以獲得結果。選擇此結果單元格並向下拖曳其自動填充柄,以從同一列中的其他字串中提取文本。

=LEFT(B5,SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-",""))))-1)

2.2.2 使用公式提取最後一個分隔依據後的文本

在從單元格中提取最後一個分隔依據之前的文本後,您可以應用以下公式來提取最後一個分隔依據之後的文本。

通用公式

=RIGHT(text_string,LEN(text_string)-SEARCH("#",SUBSTITUTE(text_string,"分隔依據","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"分隔依據","")))))

參數

"Text_string": 您想要提取子字串的文本字串。它可以是一個儲存格引用或是用雙引號括起來的實際文本字串;"分隔依據:" 定義將從單元格中提取哪段文字的最後一個分隔依據。選擇一個單元格,輸入以下公式並按下「Enter」鍵以獲得結果。選擇此結果單元格並向下拖動其自動填充柄,以從同一列中的其他字串中提取文本。

=RIGHT(B5,LEN(B5)-SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-","")))))

2.3 提取指定字符後的文本

請看下面的例子,在區域B4:B10中有一個文字字串列表,要從每個單元格中提取第三個字符之後的文字,可以應用基於MID函數和LEN函數的公式。

通用公式

=MID(text_string,nth_char+1,LEN(text_string))

參數

"Text_string": 您想要提取子字串的文字字串。它可以是一個儲存格引用或是用雙引號括起來的實際文字字串;"nth_char": 一個數字代表第N個字符,您將提取其後的文本。選擇一個空白單元格,將下面的公式複製或輸入到其中,然後按下「Enter」鍵以獲得結果。選擇此結果單元格並向下拖動其自動填充柄以獲得其他結果。

=MID(B5,3+1,LEN(B5))

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

假設您有一個如下面截圖所示的文字字串列表,並希望從文字字串中提取第N個單詞,本節提供三種方法供您完成此操作。

2.4.1 使用公式提取第N個單詞

您可以結合 TRIM、MID、SUBSTITUTE、REPT 和 LEN 函數來提取儲存格中文字串中的第N個單詞。

通用公式

=TRIM(MID(SUBSTITUTE(text_string," ",REPT(" ",LEN((text_string))), (N-1)*LEN((text_string)+1, LEN((text_string)))

參數

"Text_string": 您想要提取第N個單詞的字串。它可以是單元格引用或用雙引號括起來的實際字串;"N": 一個數字,表示您將從字串中提取的第N個單詞。在這種情況下,區域 B5:B10 包含文本字串,D5:D10 包含代表第N個單詞的數字,讓我們應用此公式從文本字串中提取第N個單詞。

選擇一個空白單元格,將以下公式複製或輸入到其中,然後按下「Enter」鍵以獲得第一個結果。選擇此結果單元格並向下拖動其自動填充柄以獲得其他單元格的第N個單詞。

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (D5-1)*LEN(B5)+1, LEN(B5)))

備註:您可以直接在公式中輸入第 N 個數字,如下所示。

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (2-1)*LEN(B5)+1, LEN(B5)))2.4.2 使用自定義函數提取第N個單詞

除了上述公式外,您還可以應用自定義函數從 Excel 的單元格中提取第N個單詞。

1. 按下 "Alt" + "F11" 鍵以開啟 "Microsoft Visual Basic for Applications" 視窗。

2. 在「Microsoft Visual Basic for Applications」視窗中,點擊「插入」>「模組」,然後將以下 VBA 複製到程式碼視窗中。

VBA代碼:提取儲存格中第N個單詞的字串

Function ExtractTheNthWord(Source As String, Position As Integer)

'Update by Extendoffice 20211202

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. 按下 "Alt" + "Q" 鍵以關閉 "Microsoft Visual Basic for Applications" 視窗。

4. 返回到包含您想要提取第N個單詞的文字字串的工作表。選擇一個空白單元格,將以下公式複製或輸入到其中,然後按 "Enter" 鍵以獲取第N個單詞。

=FindWord(B5,D5)或

=FindWord(B5,2)備註:在公式中,D5 是包含代表第 N 個單詞的數字的單元格。或者,您可以直接將單元格引用替換為數字。

5. 選擇結果單元格並向下拖動其自動填充柄,以從其他單元格的文本字串中提取第N個單詞。

2.4.3 使用強大工具提取儲存格中第N個單詞

如果您不想手動應用上述公式或使用者定義函數,我們推薦使用 Kutools for Excel 的「提取儲存格中第N個單詞」功能。使用此功能,您只需幾次點擊即可輕鬆從單元格中的文字字串中提取第N個單詞。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...1. 選擇一個單元格來放置結果,然後點擊 "Kutools" > "公式助手" > "文本" > "提取" "提取儲存格中第N個單詞"。請參見截圖:

2. 在「公式助手」對話框中,您需要按以下方式進行配置。

2.1) 在「選擇一個公式」框中,已選取「提取儲存格中第N個單詞」選項;2.2) 在「單元格」框中,選擇包含您要提取第N個單詞的文本字串的單元格;2.3) 在 "第N個" 框中,選擇一個包含第N個數字的單元格,或根據需要直接輸入一個數字;2.4) 點擊「確定」。

3. 然後從單元格 B5 的文本字串中提取第 N 個(第二個)單詞,您可以看到同時創建了一個公式。選擇此結果單元格並向下拖動其自動填充手柄,以從其他文本字串中獲取第 N 個單詞。

點擊了解此功能的更多信息。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

2.5 提取分隔依據出現次數前或後的文本

假設您有一個如下面截圖所示的文本字串列表。要提取第二次出現的空格之前或之後的文本,本節提供了兩個公式來幫助您完成。

2.5.1 提取分隔依據第N次出現前的文本

您可以使用 LEFT 函數結合 SUBSTITUTE 和 FIND 函數,從 Excel 單元格中提取分隔符第 N 次出現前的文本。

通用公式

=LEFT(SUBSTITUTE(text_string,"delimiter",CHAR(9),n),FIND(CHAR(9),SUBSTITUTE(text_string,"delimiter",CHAR(9),n),1)-1)

參數

"Text_string": 您想要提取文本的字串。它可以是一個儲存格引用或是用雙引號括起來的實際字串;"N": 數字代表分隔依據的第N次出現,您將在其前提取文本。選擇一個單元格,複製或輸入下面的公式,然後按 "Enter" 鍵以獲取結果。選擇此結果單元格並向下拖動自動填充手柄以獲取列表中的其他結果。

=LEFT(SUBSTITUTE(B5," ",CHAR(9),2),FIND(CHAR(9),SUBSTITUTE(B5," ",CHAR(9),2),1)-1)

備註:在公式中,B5 是包含您想要提取文本的字串的單元格;“ ”這裡代表一個空格,數字2代表空格的第二次出現。您可以根據需要更改它們。

2.5.2 提取分隔依據第N次出現後的文本

要在分隔依據出現第N次後提取文本,您可以使用 SUBSTITUTE、LEN 和 FIND 函數搭配 RIGHT 函數來應用。

通用公式

=RIGHT(SUBSTITUTE(text_string, "delimiter", CHAR(9), n), LEN(text_string)- FIND(CHAR(9), SUBSTITUTE(text_string, "delimiter", CHAR(9), n),1) +1)

參數

"Text_string": 您想要提取文本的字串。它可以是一個儲存格引用或是用雙引號括起來的實際文本字串;"N": 數字代表分隔依據的第N次出現,您將在其後提取文本。現在您可以應用此公式,以提取區域 B5:B10 中每個單元格中第二次出現空格後的文本,如下所示。

選擇一個單元格,輸入以下公式並按下 "Enter" 鍵以獲得結果。選擇此結果單元格並向下拖動自動填充柄以獲得其他結果。

=RIGHT(SUBSTITUTE(B5, " ", CHAR(9), 2), LEN(B5)- FIND(CHAR(9), SUBSTITUTE(B5, " ", CHAR(9), 2), 1) + 1)

2.6 提取換行符前或後的文本

假設您在列 B 中有一個訂單列表,並且您希望從每個單元格中僅提取日期部分和產品編號部分。您可以使用以下 Excel公式來完成此操作。

2.6.1 使用公式提取第一個換行符之前的文本

如上方截圖所示,日期部分位於單元格內第一個換行符之前。本節將演示如何使用 LEFT 函數和 SEARCH 函數來幫助您提取單元格內第一個換行符之前的文本。

通用公式

=LEFT(單元格, SEARCH(CHAR(10), 單元格)-1)

參數

"單元格": 您想要提取文字的單元格,在第一個換行符之前。選擇一個空白單元格,將下面的公式複製或輸入到其中,然後按下 "Enter" 鍵以獲得結果。選擇此結果單元格,然後向下拖動其自動填充柄以將此公式應用於其他單元格。

=LEFT(B5, SEARCH(CHAR(10), B5)-1)然後,您可以看到範圍 B5:B8 中每個單元格的第一行換行符之前的文字已被提取,如下圖所示。

備註:在公式中,CHAR(10)代表 Windows 上的換行符。

2.6.2 使用公式提取最後一個換行符後的文本

在上一步中,我們討論了如何提取單元格中第一個換行符之前的文本。本部分將指導您如何使用不同的公式提取單元格中最後一個換行符之後的文本。

通用公式

=TRIM(RIGHT(SUBSTITUTE(cell,CHAR(10),REPT(" ",200)),200))

參數

"單元格": 您希望從中提取文字的單元格,提取位置在第一個換行符之前。選擇一個空白單元格,輸入以下公式並按下「Enter」鍵以獲得結果。選擇此結果單元格,然後向下拖動其自動填充柄以將公式應用到其他單元格。

=TRIM(RIGHT(SUBSTITUTE(B5,CHAR(10),REPT(" ",200)),200))

然後,列表中每個單元格的產品編號部分將如上圖所示被提取出來。

備註:在公式中,CHAR(10)代表 Windows 上的換行符。

2.7 提取文字前或文字後的文本

在前面的部分中,我們已經學習了如何在字符或分隔依據之前或之後提取文本。那麼,如何在整個單詞之前或之後提取文本呢?本節將介紹三種方法來幫助您完成此任務。

2.7.1 使用公式提取指定單詞前的文本

以下公式可幫助您在 Excel 中提取單元格內某個單詞之前的文本。

通用公式

=IFERROR(LEFT(單元格,FIND(單詞,單元格)-1),單元格)

參數

"單元格:" 您想要從中提取指定單詞前的文本的單元格。"單詞:" 您想要提取其前所有文本的單詞。它可以是單元格引用或用雙引號括起來的實際文本字串;選擇一個空白單元格,輸入以下公式,然後按下 "Enter" 鍵以獲得結果。選擇此結果單元格,然後向下拖動其自動填充柄以將此公式應用於其他單元格。

在此範例中,我們將提取所有在單詞“Excel”之前的文本,因此我們直接在公式中輸入該單詞並用雙引號括起來。或者,您可以引用包含單詞“Excel”的單元格。

=IFERROR(LEFT(B5,FIND("Excel",B5)-1),B5)

備註:

1) 此公式區分大小寫。2) 如果您輸入的單詞在同一個單元格中有重複,公式只提取第一次出現後的文字。2.7.2 使用公式提取指定單詞後的文本

要提取某個單詞後的文本,您可以應用以下公式來完成。

通用公式

=TRIM(MID(單元格,SEARCH(單詞,單元格)+LEN(單詞),255))

參數

"單元格:" 您想要從中提取指定單詞後的文本的單元格。"單詞:" 您想要提取其後所有文字的單詞。它可以是一個儲存格引用或用雙引號括起來的實際文本字串;選擇一個單元格,輸入以下公式,然後按下 "Enter" 鍵以獲得結果。選擇結果單元格,然後向下拖動其自動填充柄以將此公式應用於其他單元格。

=TRIM(MID(B5,SEARCH("Excel",B5)+LEN("Excel"),255))然後,您可以看到每個單元格中“Excel”這個詞後的所有文本都已提取,如下圖所示。

備註:

1) 此公式不區分大小寫。2) 如果您輸入的單詞在同一個單元格中有重複,公式只會提取第一次出現後的文字。2.7.3 使用強大的工具提取某個單詞前或後的文本

如果您覺得使用公式可能會帶來很多不便,我們強烈推薦使用 "Kutools for Excel" 的 "提取文本" 功能。此功能可幫助您在 Excel 中自動化提取任務,只需幾次點擊即可完成。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...1. 點擊 "Kutools" > "Text" > "提取文本"以啟用此功能。

2. 在「提取文本」對話框中,進行以下設定。

2.1) 確保您位於 "按位置提取" 標籤中;2.2) 在 "區域" 框中,點擊 按鈕以選擇要提取文本的單元格區域;2.3) 在「選項」部分:要提取某個單詞前的所有文字,請選擇“文字前”單選按鈕,然後將單詞輸入到文本框中;要提取所有文字後的文本,請選擇「文字後」選項,然後將單詞輸入到文本框中。2.4) 點擊“OK”按鈕。請參見截圖:

備註:如果您想創建動態結果,請勾選「作為公式插入」選項。然後,當區域中的數據發生變化時,結果將自動更新。

3. 然後會彈出一個 "提取文本" 對話框,您需要選擇一個單元格來輸出結果,然後點擊 "OK" 按鈕。

然後,選取區域中每個單元格內某個單詞前或後的文本會立即被提取。

備註:此功能區分大小寫。

點擊以了解此功能的更多資訊。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

3. 提取字符/單詞之間的內容如果您想提取特定字符或單詞之間的文本,請嘗試以下方法。

3.1 提取兩個字符之間的文本

要提取兩個字符之間的文本,這些字符可以相同或不同。本節提供了幾種方法,您可以選擇適合您需求的方法。

3.1.1 使用公式提取兩個相同字符之間的文本

如下面的截圖所示,列 B 中有一個文字字串列表,您希望從區域中的每個單元格中提取字符 “/”之間的數字部分,以下公式可以幫助您。

選擇一個空白單元格,複製或輸入以下公式,然後按 "Enter" 鍵以獲得結果。選擇結果單元格,然後向下拖動自動填充手柄以獲得列表中其他單元格的結果。

=SUBSTITUTE(MID(SUBSTITUTE("/" & B5&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","")然後,從區域中的每個單元格提取兩個相同字符“/”之間的文本。請參見截圖:

備註:

1) "B5" 是您想要從中提取兩個相同字符之間文本的單元格;2) "/" 是您想要提取文本的兩個相同字符之間。您需要根據自己的數據更改這些變數。 3.1.2 使用公式提取兩個不同字符之間的文本

在學習如何從單元格中提取兩個相同字符之間的文本後,這裡我們將展示一個公式來提取兩個不同字符之間的文本。如下面的截圖所示,要從列B中的每個單元格中提取“<”和“>”之間的郵箱地址,您可以按以下步驟進行。

通用公式

=MID(LEFT(cel,FIND("end_char",cell)-1),FIND("start_char",cell)+1,LEN(cell))

參數

"單元格:" 您想要從中提取兩個不同字符之間文本的單元格;"結束字元:"兩個不同字符的結束字元;"開始字元:"兩個不同字符的開始字元。選擇一個空白單元格,複製或輸入以下公式,然後按下 "Enter" 鍵以獲得結果。選擇此結果單元格,然後向下拖動其自動填充柄以將此公式應用於其他單元格。

=MID(LEFT(B5,FIND(">",B5)-1),FIND("<",B5)+1,LEN(B5))

您可以看到,如上面的截圖所示,只有指定字符之間的文字被提取出來。

3.1.3 使用一個出色的工具提取兩個字符之間的文本

在此,我們強烈推薦使用「Kutools for Excel」的「提取指定文本間的字串」功能,以幫助您輕鬆提取 Excel 單元格中兩個相同或不同字符之間的文本。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...1. 選擇一個空白單元格以輸出結果,然後點擊 "Kutools" > "公式助手" > "公式助手"。

2. 在「公式助手」對話框中,進行以下選項設置。

2.1) 勾選「篩選」框,然後在文本框中輸入「提取」;2.2) 在「選擇一個公式」框中,點擊「提取指定文本間的字串」選項;2.3) 在「參數輸入」部分:在「單元格」框中,選擇您想要提取文本的單元格(這裡我選擇單元格B5);在「開始字元(串)」框中,輸入兩個不同字符的開始字元;在「結束字元(串)」框中,輸入兩個不同字符的結束字符。2.4) 點擊「確定」。請參閱截圖:

3. 然後,只提取儲存格 B5 中“<”和“>”之間的文字。同時,公式已被創建,您可以選擇此結果單元格,然後向下拖動其自動填充手柄以從同一列表中的其他單元格中提取文字。

點擊以了解更多關於此功能的信息。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

3.1.4 按規則提取兩個字符之間的文本(包括這些字符)

如果您想在提取後保留兩個字符,請嘗試在 Kutools for Excel 的提取文本功能中應用一個規則。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...1. 點擊 "Kutools" > "文字" > "提取文本"。

2. 在「提取文本」對話框中,進行以下選項設置。

2.1) 點擊「按規則提取」標籤;2.2) 在「區域」部分,點擊 按鈕以選擇要提取每個字符之間文本的單元格區域;2.3) 在 "文字" 框中,輸入 "<*>";提示:「<」和「>」是您想要提取其間文本的字符,* 是代表任意數量字符的通配符。您可以根據需要輸入條件。2.4) 點擊「添加」按鈕將條件添加到「規則內容」列表框中;2.5) 點擊「確定」按鈕。請參閱截圖:3.另一個「提取文本」對話框彈出。請選擇一個單元格以輸出結果,然後點擊「確定」按鈕。

然後,從選定區域中的每個單元格批量提取指定字符之間的文本(包括字符)。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

3.2 提取兩個單詞之間的文本

除了提取兩個字符之間的文本外,您可能還需要提取兩個單詞之間的文本。例如,從列B中的每個單元格中提取兩個單詞“KTE”和“feature”之間的所有文本字串,如下圖所示。您可以嘗試以下方法之一來完成此操作。

3.2.1 使用公式提取兩個單詞之間的文本

您可以使用基於中函數和搜尋函數的公式來提取儲存格中兩個單詞之間的所有字串。

通用公式

=MID(單元格,SEARCH("start_word",單元格)+3,SEARCH("end_word",單元格)-SEARCH("start_word",單元格)-4)

參數

"單元格:" 您想要從中提取兩個單詞之間所有字串的單元格;"Start_word:" 您想要提取其後所有文本字串的兩個單詞的開始單詞;"Length1:" 開始單詞的字符長度。"End_word:" 您想要提取的兩個單詞中,所有文本字串之前的結束單詞。"Length2:" 開始單詞的字符長度加1。選擇一個空白單元格,複製或輸入以下公式,然後按下 "Enter" 鍵以獲得結果。選擇此結果單元格,然後向下拖動其自動填充柄以將此公式應用於其他單元格。

=MID(B5,SEARCH("KTE",B5)+3,SEARCH("feature",B5)-SEARCH("KTE",B5)-4)

備註:在公式中,數字3表示單詞「KTE」的字符長度;數字4表示單詞「KTE」的字符長度加1。

您可以看到,所有位於指定兩個單詞之間的字串已從列B中的每個單元格中提取出來。

3.2.2 使用出色工具提取兩個單詞之間的文本

對許多 Excel 使用者來說,公式可能難以記住和處理。在這裡,使用 "Kutools for Excel" 的 "提取指定文本間的字串" 功能,您只需幾次點擊即可輕鬆提取兩個單詞之間的文本。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...1. 選擇一個單元格以輸出結果,然後點擊 "Kutools" > "公式助手" > "公式助手"。

2. 在「公式助手」對話框中,您需要按以下方式進行配置。

2.1) 勾選「篩選」框,然後在文本框中輸入「提取」;2.2) 在「選擇一個公式」框中,點擊「提取指定文本間的字串」選項;2.3) 在「參數輸入」部分:在“單元格”框中,選擇您想要提取文本的單元格(此處我選擇單元格B5);在「開始字元(串)」框中,輸入您想要提取的兩個單詞的開始單詞,以提取其後的所有字串;在「結束字元(串)」框中,輸入您想要提取其之前所有字串的兩個單詞的結尾單詞。2.4) 點擊「確定」。請參閱截圖:

3. 然後,儲存格 B5 中兩個單詞 “KTE” 和 “feature”之間的所有字串都被提取出來。同時,已創建一個公式,您可以選擇此結果單元格,然後向下拖動其自動填充柄,以從同一列表中的其他單元格中提取文本。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

按位置提取數字對於一個字母數字字串列表,可能有三種情況:

數字位於文字的開頭; 數字位於文字的結尾; 數字可以在文本中的任何位置。 在本節中,我們將提供不同的方法來提取上述每種情況中的數字。

1 從字串的左邊提取數字本部分將介紹一個公式,幫助您提取儲存格中文字前出現的數字。

通用公式

=LEFT(單元格, MATCH(FALSE, ISNUMBER(MID(單元格, ROW(INDIRECT("1:"&LEN(單元格)+1)),1) *1),0) -1)

參數

"單元格:" 您想要從文字字串的左邊提取數字的單元格。備註:

1) 如果您使用的是 Excel2019 或更早版本,您需要按 "Ctrl" + "Shift" + "Enter" 鍵來確認此陣列公式。2) 如果您使用的是 Excel365 或 Excel2021,只需按下 "Enter" 鍵確認此公式。選擇一個空白單元格,輸入以下公式,然後按 "Ctrl" + "Shift" + "Enter" 或 "Enter" 鍵以獲得結果。選擇此結果單元格,然後向下拖動其自動填充柄以獲得其他單元格的數字。

=LEFT(B5, MATCH(FALSE, ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5)+1)), 1) *1), 0) -1)

備註:

1) 如果單元格僅包含數字,則整個數字將被提取。2) 此公式僅提取文字字串左對齊的數字。如果數字存在於文字字串的中間或結尾,則會被忽略。2 從字串右側提取數字如下面的截圖所示,要提取單元格中出現在文字後的數字,請嘗試以下公式。

通用公式

=RIGHT(cell, LEN(cell) - MAX(IF(ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell))),1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(cell))),0)))

參數

"單元格:" 您想要從文字字串的開頭提取數字的單元格。備註:

1) 如果您使用的是 Excel2019 或更早版本,您需要按下 "Ctrl" + "Shift" + "Enter" 鍵來確認此陣列公式。2) 如果您使用的是 Excel365 或 Excel2021,只需按 Enter 鍵確認此公式。選擇一個空白單元格,輸入以下公式,然後按 "Ctrl" + "Shift" + "Enter" 或 "Enter" 鍵以獲取結果。選擇此結果單元格,然後向下拖動其自動填充柄以獲取其他單元格的數字。

=RIGHT(B5, LEN(B5) - MAX(IF(ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(B5))), 0)))

備註:

1) 如果一個單元格僅包含數字,將提取整個數字。2) 此公式僅從文字字串的右邊提取數字。如果數字存在於文字字串的中間或開頭,則會被忽略。3. 從文字字串中的任何位置提取所有數字上述方法有助於僅從文字字串的左側或右側提取數字。如果您想從文字字串中的任何位置提取所有數字,我們在此提供三種方法供您完成。

3.1 使用公式從字串中的任何位置提取所有數字

您可以應用以下公式來從 Excel 中的文字字串中提取所有數字。

1. 選擇一個空白單元格,複製或輸入以下公式,然後按「Enter」鍵以從單元格B5中獲取所有數字。

=SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1)) * ROW(INDIRECT("1:"&LEN(B5))), 0), ROW(INDIRECT("1:"&LEN(B5))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(B5)))/10)

2. 選擇結果單元格,然後向下拖動其自動填充柄以獲得其他單元格的所有數字。

3.2 使用 VBA 從字串中的任意位置提取所有數字

上述公式對許多 Excel 使用者來說過於冗長和複雜。事實上,您可以運行 VBA 腳本來自動化 Excel 中的任務。您可以按照以下步驟進行。

1. 按下 "Alt" + "F11" 鍵以開啟 "Microsoft Visual Basic for Applications" 視窗。

2. 在打開的 "Microsoft Visual Basic for Applications" 視窗中,點擊 "插入" > "模組"。然後將下面的 VBA 複製到模組代碼視窗中。

VBA代碼:從文本字串中提取所有數字

Sub ExtrNumbersFromRange()

'Updated by Extendoffice 20220106

Dim xRg As Range

Dim xDRg As Range

Dim xRRg As Range

Dim nCellLength As Integer

Dim xNumber As Integer

Dim strNumber As String

Dim xTitleId As String

Dim xI As Integer

xTitleId = "KutoolsforExcel"

Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)

If TypeName(xDRg) = "Nothing" Then Exit Sub

Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)

If TypeName(xRRg) = "Nothing" Then Exit Sub

xI = 0

strNumber = ""

For Each xRg In xDRg

xI = xI + 1

nCellLength = Len(xRg)

For xNumber = 1 To nCellLength

If IsNumeric(Mid(xRg, xNumber, 1)) Then

strNumber = strNumber & Mid(xRg, xNumber, 1)

End If

Next xNumber

xRRg.Item(xI) = strNumber

strNumber = ""

Next xRg

End Sub3. 按下 "F5" 鍵以執行程式碼。在開啟的 "KutoolsforExcel" 對話框中,選擇您想要從每個單元格中提取所有數字的區域,然後點擊 "OK" 按鈕。

4. 然後會彈出另一個 "KutoolsforExcel" 對話框。在此對話框中,選擇一個目標單元格並點擊 "OK"。

然後所有數字都會批量從選定區域中的每個單元格中提取出來。

4. 提取指定文本後的數字如下面的截圖所示,若要提取特定文本“No.”後的任何數字,本節提供了兩種方法來幫助您完成。

4.1 使用公式提取指定文本後的數字

您可以應用以下公式來提取 Excel 中單元格中特定文本後的數字。

通用公式:

=LOOKUP(10^6,1*MID(單元格,MIN(FIND({0,1,2,3,4,5,6,7,8,9},單元格&"0123456789",FIND("文字"," "&單元格&" "))),{2,3,4,5,6}))

參數

"單元格:" 您想要從指定文本後提取數字的單元格;"文字:" 您想要在其後提取數字的文字。選擇一個空白單元格,複製或輸入以下公式,然後按下 "Enter" 鍵以獲得結果。選擇此結果單元格,然後向下拖動其自動填充柄以將此公式應用於其他單元格。

=LOOKUP(10^6,1*MID(B5,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789",FIND("No."," "&B5&" "))),{2,3,4,5,6}))

備註:

1) 如果單元格不包含特定文本,公式將返回 #N/A。2)公式區分大小寫。 4.2 使用自定義函數提取指定文本後的數字

以下用戶自定義函數也可以幫助提取單元格中特定文本後的數字。請按以下步驟操作。

1. 按下 "Alt" + "F11" 鍵以開啟 "Microsoft Visual Basic for Applications" 視窗。

2. 在「Microsoft Visual Basic for Applications」視窗中,點擊「插入」>「模組」,然後將以下 VBA 程式碼複製到模組程式碼視窗中。

VBA代碼:提取單元格中特定文本後的數字

Function GetNumberAfterTheChar(Rng As Range, Char As String)

'Updated by Extendoffice 20220106

Dim xValue As String

Dim xRntString As String

Dim xStart As Integer

Dim xC

xValue = Rng.Text

xStart = InStr(1, xValue, Char, vbTextCompare)

If IsEmpty(xStart) Then

GetNumberAfterTheChar = ""

Exit Function

End If

If xStart < 1 Then

GetNumberAfterTheChar = ""

Exit Function

End If

xStart = xStart - 1 + Len(Char)

If xStart < 1 Then

GetNumberAfterTheChar = ""

Exit Function

End If

xValue = Mid(xValue, xStart + 1)

xRntString = ""

For xI = 1 To Len(xValue)

xC = Mid(xValue, xI, 1)

Select Case Asc(xC)

Case 48 To 57

xRntString = xRntString & xC

Case Else

Exit For

End Select

Next

GetNumberAfterTheChar = xRntString

End Function

3. 按下 "Alt" + "Q" 鍵以關閉 "Microsoft Visual Basic for Applications" 視窗。

4. 選擇一個單元格,輸入以下公式並按下 "Enter" 鍵。選擇此結果單元格,然後向下拖動其自動填充手柄,以將此公式應用於其他單元格。

=GetNumberAfterTheChar(B5,"No. ")

備註:

1) 在此公式中,B5 是您要提取數字的單元格,而“No. ”是您要在其後提取數字的特定文本。您可以根據需要更改它們。2) 如果在特定文本和數字之間有分隔依據,請在文本末尾添加該分隔依據。在這種情況下,我在文本“No.”後添加了一個空格,最終顯示為“No. ”。3) 此方法不區分大小寫;4) 如果單元格不包含特定文本,公式將返回空白結果。相關文章:Excel 教程:拆分文本、數字和日期單元格(分隔為多列) 本教程分為三個部分:分割文本單元格、分割數字單元格和分割日期單元格。每個部分提供不同的示例,幫助您了解如何在遇到相同問題時處理分割工作。點擊了解更多...

在 Excel 中將文本和數字添加到單元格的指定位置 在 Excel 中,向單元格添加文本或數字是一項非常常見的工作。例如在名稱之間添加空格,向單元格添加前綴或後綴,向社會安全號碼添加破折號。在本教程中,列出了 Excel 中幾乎所有的添加方案,並為您提供了相應的方法。點擊了解更多...

Excel 刪除特定字符、單詞、數字從字串中 假設您有一長串包含字符、數字或其他特定符號的文本字串。在某些情況下,您可能需要根據位置刪除一些字符,例如從文本字串的右邊、左邊或中間,或者從字串列表中刪除一些不需要的字符或數字。逐一尋找解決方案會讓您頭痛,本教程收集了在 Excel 中刪除字符、單詞或數字的各種方法。點擊了解更多...

最佳 Office 生產力工具 🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 |生成程式碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 增強函數… 熱門功能:查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不遺失數據 | 四捨五入(免公式)... 高級 LOOKUP:多條件 VLookup|多值 VLookup|多表查找|模糊查找... 高級下拉列表:快速創建下拉列表 |依賴型下拉列表 | 多選下拉列表... 列管理器:添加指定數量的列 | 移動列 | 切換隱藏列的顯示狀態 | 比較區域及列... 精選功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫(快捷文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線...)... 15 大工具集:12 項文本工具(添加文本、刪除特定字符…)|50+ 儀表 類型(甘特圖等)|40+ 實用 公式(基於生日計算年齡等)|19 項插入工具(插入QR码、根據路徑插入圖片等)|12 項轉換工具(金額轉大寫、匯率轉換等)|7 項合併與分割工具(高級合併行、分割儲存格等)|...及更多 使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...

查看更多 Kutools for Excel 詳情... 免費下載... Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀。 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。 提升您的生產力50%,每日可幫您減少數百次鼠標點擊! 查看更多 Office Tab 詳情... 免費下載...所有 Kutools 外掛,一次安裝Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI) 協同運作更順暢 — Office 應用間無縫提升生產力 30 天全功能試用 — 無需註冊、無需信用卡 最超值 — 一次購買,節省單獨外掛費用 查看更多 Kutools for Office 詳情... 免費下載...