Excel 教學 – 依特定位置提取提取文本或數字
在許多情況下,您可能只需要從儲存格中的句子或文字字串提取特定內容,例如從地址中取出省份、從句子中擷取電子信箱、或從對話中提取快遞單號等。本教學聚焦於「依儲存格內的特定位置」進行提取,並整理多種實用方法,協助您在 Excel 中精準擷取所需的文字或數字。
目錄:[ 隱藏 】
依位置提取提取文本
本節彙整了從儲存格提取文字的常見位置,並逐步提供對應的處理方法,歡迎瀏覽以獲取更多詳細資訊。
1. 從左側或右側提取指定數量的字元
若要從字串左側或右側提取指定數量的字元,可嘗試下列其中一種方法。
假設您在 B 欄中有一組文字字串(如下方截圖所示),若想從每個字串中提取前 2 個字元與後 2 個字元,可套用下列公式。

從文字字串中提取前 N 個字符
LEFT 函數能輕鬆協助您在 Excel 中提取文字字串的前 N 個字元。
通用公式
=LEFT(text_string,[num_chars])
參數說明
現在即可套用此公式,從 B 欄儲存格中提取前兩個字元。
1. 選取空白儲存格,複製或輸入下列公式後,按下「Enter 鍵」即可取得第一筆結果。接著選取該結果儲存格,向下拖曳自動填滿控制點,將公式套用至其他儲存格。
=LEFT(B5,2) 
已成功從指定範圍內每個儲存格提取前兩個字元。
從文字字串中提取後 N 個字符
這裡我們運用 RIGHT 函數,從 Excel 的文字字串中提取最後 N 個字元。
通用公式
=RIGHT(text_string,[num_chars])
參數說明
選取空白儲存格,複製或輸入下方公式後,按下「ENTER 鍵」即可取得結果。接著選取該結果儲存格,向下拖曳自動填滿控制點,即可快速取得其他結果。
=RIGHT(B5,2) 
雖然上述公式很簡單,但若需從大量文字字串中提取前 n 個或後 n 個字元,仍須手動從上往下拖曳自動填滿控制點,稍嫌耗時。在此,我們推薦使用「Kutools for Excel」的「提取文本」功能,協助您批次處理文字字串清單,輕鬆提取前 N 個或後 N 個字元!
1. 請先選取欲提取文字的字串清單,再點選「Kutools」>「文字」>「提取文本」。

2. 在彈出的「提取文字」對話方塊中,請依下列方式進行設定。

注意:若希望文字字串變更時結果能自動更新,請勾選「作為公式插入」核取方塊。
3. 在接下來彈出的「提取文字」對話方塊中,選取一個儲存格作為提取文字的輸出位置,然後點擊「確定」。

隨即批次提取所選儲存格中的前 N 個或後 N 個字元。
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
2. 提取特定字元或單字前後的文本
若要提取特定字元或單字前後的文本,本節提供的多種情境將完美滿足您的需求。
如下方截圖所示,若要從 B4:B10 範圍內每個儲存格中提取第一個分隔符前或後的文字,可套用下列任一方法。

套用結合 LEFT 與 FIND 函數的公式,即可輕鬆從儲存格中提取第一個分隔符前的文字。請依照下列步驟操作:
通用公式
=LEFT(text_string,FIND("delimiter",text_string,1)-1)
參數說明
選取空白儲存格,複製或輸入下方公式後,按下「Enter 鍵」即可取得第一筆結果。接著選取該結果儲存格,向下拖曳自動填滿控制點,便能快速取得其他儲存格中第一個分隔符前的文字。
=LEFT(B5,FIND("-",B5,1)-1) 
下方公式可協助您在 Excel 中提取儲存格內第一個分隔符之後的文字。
通用公式
=MID(text_string,FIND("delimiter",text_string)+1,LEN(text_string))
參數說明
=MID(B5,FIND("-",B5)+1,LEN(B5)) 
2.1.3 使用強大工具提取第一個分隔符提取文本前或後的文字
在此,我們強力推薦「Kutools for Excel」的「提取文本」功能!透過此功能,您能輕鬆批次從儲存格範圍中,提取第一個分隔符之前或之後的文字。
1. 選取您要提取文字的儲存格範圍,然後點選「Kutools」>「文字」>「提取文本」。

2. 在「提取文字」對話方塊中,請依下列方式進行設定。

注意:若希望文字字串變更時結果能自動更新,請勾選「作為公式插入」核取方塊。
3. 接著會彈出另一個「提取文字」對話方塊,請選取一個儲存格來輸出結果,然後按一下「確定」。

隨即會從所選儲存格中一次性提取第一個分隔符前或後的文字。
若想深入了解此功能,請參閱:在 Excel 中快速從儲存格提取特定文字。
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
前述步驟已介紹如何從儲存格中提取第一個分隔符之前或之後的文字。如下方截圖所示,本節將提供兩種公式,協助您輕鬆提取最後一個分隔符之前或之後的文字。請依照下列步驟操作。

若要從儲存格中提取最後一個分隔符之前的文字,可將 LEFT 函數與 SEARCH、LEN 及 SUBSTITUTE 函數結合使用。
通用公式
=LEFT(text_string,SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter",""))))-1)
參數說明
選取儲存格,輸入下列公式後按下「Enter 鍵」以取得結果;接著選取該結果儲存格,向下拖曳自動填滿控制點,即可從同欄位的其他文字字串中提取所需文字。
=LEFT(B5,SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-",""))))-1) 
在從儲存格提取最後一個分隔符之前的文字後,即可套用下方公式,依需求取得該分隔符之後的文字。
通用公式
=RIGHT(text_string,LEN(text_string)-SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter","")))))
參數說明
選取儲存格,輸入下列公式後按下「Enter 鍵」以取得結果;接著選取該結果儲存格,向下拖曳自動填滿控制點,即可從同欄的其他文字字串中提取所需文字。
=RIGHT(B5,LEN(B5)-SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-",""))))) 
請參閱下方範例:在 B4:B10 範圍內有一組文字字串,若要從每個儲存格中提取第三個字元之後的所有文字,可套用結合 MID 函數與 LEN 函數的公式。

通用公式
=MID(text_string,nth_char+1,LEN(text_string))
參數說明
選取空白儲存格,複製或輸入下列公式,再按下「Enter 鍵」即可取得結果。接著選取該結果儲存格,向下拖曳自動填滿控制點,就能快速取得其他結果。
=MID(B5,3+1,LEN(B5)) 
假設您有一份如下方截圖所示的文字字串清單,並希望僅從中提取第 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)))
參數說明
在此情況下,範圍 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))) 除了上述公式外,您還可運用自訂函數,從 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 個單字。

如果您不想手動套用上述公式或自訂函數,強烈推薦使用 Kutools for Excel 的「提取儲存格中第 N 個單字」功能!只需輕點幾下,即可快速從儲存格的文字字串中精準提取第 n 個單字。
1. 選取一個儲存格用來放置結果,然後點擊「Kutools」>「公式助手」>「文字」>「提取儲存格中第 N 個單詞」。請參閱截圖:

2. 在「公式助手」對話方塊中,請完成下列設定。

3. 接著,系統會從儲存格 B5 的文字字串中提取第 n(第二)個單字,同時自動建立對應公式。選取該結果儲存格,並向下拖曳自動填滿控制點,即可從其他文字字串中取得第 n 個單字。

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
假設您有一份如下方截圖所示的文字字串清單。若要提取空格第二次出現位置之前或之後的文字,本節提供兩個公式,助您輕鬆完成此任務。

您可以結合使用 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)
參數說明
選取一個儲存格,複製或輸入下方公式,然後按下「Enter 鍵」即可取得結果。接著選取該結果儲存格,並向下拖曳自動填滿控制點,就能快速取得清單中的其他結果。
=LEFT(SUBSTITUTE(B5," ",CHAR(9),2),FIND(CHAR(9),SUBSTITUTE(B5," ",CHAR(9),2),1)-1) 
注意:在公式中,B5 是包含欲提取文字之字串的儲存格;「」代表一個空格,數字 2 則代表空格第二次出現的位置。您可依需求調整這些內容。
若要提取文本中指定分隔符出現次數之後的文字,可搭配使用 RIGHT 函數與 SUBSTITUTE、LEN 及 FIND 函數。
通用公式
=RIGHT(SUBSTITUTE(text_string, "delimiter", CHAR(9), n), LEN(text_string)- FIND(CHAR(9), SUBSTITUTE(text_string, "delimiter", CHAR(9), n), 1) + 1)
參數說明
現在,您可以套用此公式,從範圍 B5:B10 中每個儲存格提取第二次出現空格後的文字,如下所示。
選取一個儲存格,輸入下列公式後按下「Enter 鍵」,即可取得結果。接著選取該結果儲存格,並向下拖曳自動填滿控制點,就能快速取得其他結果。
=RIGHT(SUBSTITUTE(B5, " ", CHAR(9), 2), LEN(B5)- FIND(CHAR(9), SUBSTITUTE(B5, " ", CHAR(9), 2), 1) + 1) 
假設您在 B 欄中有一份訂單清單,並希望從每個儲存格中分別提取日期與產品編號。只需使用下方的 Excel 公式,即可輕鬆完成這項任務!

如上方截圖所示,日期部分位於儲存格中第一個換行符號之前。本節將示範如何結合 LEFT 與 SEARCH 函數,輕鬆提取儲存格內第一個換行符號前的文字。
通用公式
=LEFT(cell, SEARCH(CHAR(10), cell)-1)
參數說明
選取一個空白儲存格,將下方公式複製或輸入其中,然後按下「Enter 鍵」即可取得結果。接著選取該結果儲存格,向下拖曳自動填滿控制點,就能將此公式套用至其他儲存格。
=LEFT(B5, SEARCH(CHAR(10), B5)-1) 接著,您可看到範圍 B5:B8 中每個儲存格內第一個換行符號前的文字均已成功提取,如下方截圖所示。

注意:在公式中,CHAR(10) 代表 Windows 系統中的換行符號。
在上一步驟中,我們說明了如何提取文字儲存格中第一個換行符號前的文字;本節將指導您運用不同的公式,輕鬆取得儲存格內最後一個換行符號後的文字內容。
通用公式
=TRIM(RIGHT(SUBSTITUTE(cell,CHAR(10),REPT(" ",200)),200))
參數說明
選取一個空白儲存格,輸入下列公式後按下「Enter 鍵」即可取得結果。接著選取該結果儲存格,並向下拖曳自動填滿控制點,就能將公式套用至其他儲存格。
=TRIM(RIGHT(SUBSTITUTE(B5,CHAR(10),REPT(" ",200)),200)) 
接著,清單中每個儲存格的產品編號部分便會如上方截圖所示被提取出來。
注意:在公式中,CHAR(10) 代表 Windows 系統中的換行符號。
在前面章節中,我們已學會如何提取特定字元或分隔符前後的文字。若想提取整個單字之前或之後的文字,該怎麼做呢?本節將為您介紹三種實用方法,輕鬆達成此目標。

下列公式可協助您提取 Excel 儲存格中特定單字之前的所有文字。
通用公式
=IFERROR(LEFT(cell,FIND(word,cell)-1),cell)
參數說明
選取一個空白儲存格,輸入下列公式後按下「Enter 鍵」即可取得結果。接著選取該結果儲存格,並向下拖曳自動填滿控制點,就能將此公式套用至其他儲存格。
在此範例中,我們要提取「Excel」這個字之前的所有文字,因此可直接在公式中輸入該字,並以雙引號括起來;或者,您也可以引用包含「Excel」這個字的儲存格。
=IFERROR(LEFT(B5,FIND("Excel",B5)-1),B5) 
注意事項:
若要提取特定單字之後的文字,只需套用下列公式即可輕鬆完成!
通用公式
=TRIM(MID(cell,SEARCH(word,cell)+LEN(word),255))
參數說明
選取一個儲存格,輸入下列公式後按下「Enter 鍵」即可取得結果;接著選取該結果儲存格,並向下拖曳自動填滿控制點,就能將此公式套用至其他儲存格。
=TRIM(MID(B5,SEARCH("Excel",B5)+LEN("Excel"),255)) 接著,您將看到每個儲存格中「Excel」之後的所有文字都已成功提取,如下方截圖所示。

注意事項:
如果您認為使用公式可能帶來諸多不便,我們強烈推薦您試用「Kutools for Excel」的「提取文本」功能——只需輕點幾下,即可自動完成 Excel 中的文字提取作業。
1. 點擊「Kutools」>「文字」>「提取文本」即可啟用此功能。

2. 在「提取文字」對話方塊中,進行下列設定。
按鈕,以選取您要提取文本的儲存格範圍;
注意:若您希望建立動態結果,請勾選「作為公式插入」核取方塊,如此一來,當範圍內的資料變更時,結果便會自動更新。
3. 接著會彈出「提取文本」對話方塊,請選取一個儲存格來輸出結果,然後點擊「確定」按鈕。

接著,系統會立即提取所選區域中每個儲存格內特定單字之前或之後的文字。
注意:此功能區分大小寫。
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
3. 提取字元或單字之間的文字
若您想提取特定字元或單字之間的文字,請試試以下方法。
在兩個字元之間提取文字,這兩個字元可以相同或不同。本節提供多種方法,讓您選擇最符合需求的方式。
如下圖所示,B 欄包含一組文字字串,您希望從每個儲存格中「/」字元之間提取數字內容,以下公式可協助您輕鬆達成此目標。

選取一個空白儲存格,貼上或輸入下方公式,然後按下「Enter 鍵」即可獲得結果。接著選取該結果儲存格,向下拖曳自動填滿控制點,就能快速取得清單中其他儲存格的對應結果。
=SUBSTITUTE(MID(SUBSTITUTE("/" & B5&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","") 如此一來,範圍內每個儲存格中位於兩個相同「/」字元之間的文字便會被提取出來。請參閱截圖:

注意:
在學會如何從儲存格內兩個相同字元之間提取文字後,接下來我們將示範一個公式,用於在兩個不同字元之間提取所需內容。如下圖所示,若要從 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)) 
如上圖所示,您可看到僅有指定字元之間的文字被成功提取。
在此,我們強力推薦使用「Kutools for Excel」的「提取指定文字間的字串」功能,輕鬆幫您從 Excel 儲存格中擷取兩個相同或不同字元之間的文本。
1. 選取一個空白儲存格用來輸出結果,然後點選「Kutools」>「公式助手」>「公式助手」。

2. 在「公式助手」對話方塊中,進行以下設定。

3. 此時,儲存格 B5 中「」之間的文字便會自動提取出來,同時系統已建立對應公式。您只需選取該結果儲存格,並向下拖曳自動填滿控制點,即可快速提取清單中其他儲存格的相同格式內容。

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
若您希望在提取後保留這兩個字元,不妨試試在 Kutools for Excel 的「提取文字」功能中套用規則。
1. 點選「Kutools」>「Text」>「提取文字」。

2. 在「提取文字」對話方塊中,進行下列設定。
按鈕,以選取您要從中提取字元間文字的儲存格範圍;
3. 隨即會彈出另一個「提取文字」對話方塊,請選擇用來輸出結果的儲存格,然後點選「確定」按鈕。

接著,指定字元之間(包含字元本身)的文字便會從選擇區域中的每個儲存格大量提取出來。

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
除了在兩個字元之間提取文字,您可能還需要在兩個單字之間提取內容。例如,如下圖所示,從 B 欄每個儲存格中提取位於「KTE」與「feature」之間的所有文字字串。您可以使用下列任一方法輕鬆完成此操作。

您可以運用結合 MID 函數與 SEARCH 函數的公式,輕鬆提取儲存格中兩個單字之間的所有文字字串。
通用公式
=MID(cell,SEARCH("start_word",cell)+3,SEARCH("end_word",cell)-SEARCH("start_word",cell)-4)
參數說明
選取一個空白儲存格,貼上或輸入下方公式,然後按下「Enter 鍵」即可取得結果。接著選取該結果儲存格,並向下拖曳自動填滿控制點,就能將公式套用至其他儲存格。
=MID(B5,SEARCH("KTE",B5)+3,SEARCH("feature",B5)-SEARCH("KTE",B5)-4) 
注意:在公式中,數字 3 代表單字「KTE」的字元長度;數字 4 則為「KTE」的字元長度加 1.
您可以看到,B 欄每個儲存格中位於兩個指定單字之間的文字字串皆已成功提取。
對許多 Excel 使用者來說,公式往往難以記憶與操作。現在,透過「Kutools for Excel」的「提取指定文字間的字串」功能,只需點擊幾下,就能輕鬆擷取兩個單字之間的文本!
1. 選取用於輸出結果的儲存格,然後點選「Kutools」>「公式助手」>「公式助手」。

2. 在「公式助手」對話方塊中,請進行以下設定。

3. 此時,儲存格 B5 中「KTE」與「feature」之間的文字字串已成功提取。系統同時自動建立公式,您只需選取該結果儲存格,並向下拖曳自動填滿控制點,即可快速提取清單中其他儲存格的對應內容。

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
依位置提取數字
對於一份包含字母與數字的字串清單,可能存在三種情況:
- 數字位於文字開頭;
- 數字位於文字結尾;
- 數字可出現在文字中的任何位置。
本節將針對上述每種情況,提供不同的方法,協助您輕鬆提取數字。
1 從字串左側提取數字
本節將介紹一個實用公式,協助您輕鬆提取儲存格中文字前方的數字。

通用公式
=LEFT(cell, MATCH(FALSE, ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell)+1)), 1) *1), 0) -1)
參數說明
注意:
選取一個空白儲存格,輸入下列公式,然後按下「Ctrl」+「Shift」+「Enter」或「Enter 鍵」以取得結果。選取該結果儲存格後,向下拖曳自動填滿控制點,即可將公式套用至其他儲存格並取得對應數值。
=LEFT(B5, MATCH(FALSE, ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5)+1)), 1) *1), 0) -1) 
注意事項:
2 從字串右側提取數字
如下圖所示,若要僅提取儲存格中文字後方的數字,請試用下列公式。

通用公式
=RIGHT(cell, LEN(cell) - MAX(IF(ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(cell))), 0)))
參數說明
注意:
選取一個空白儲存格,輸入下列公式後,按下「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))) 
注意事項:
3. 從文字字串的任意位置提取所有數字
上述方法僅能從文字字串的左側或右側提取數字。若您希望從文字字串中任意位置提取所有數字,我們在此提供三種實用方法供您選擇。

您可套用下列公式,從 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. 選取結果儲存格後,向下拖曳自動填滿控制點,即可快速取得其他儲存格中的所有數字。

對許多 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 Sub 3. 按下「F5」鍵執行程式碼。在開啟的「Kutools for Excel」對話方塊中,選取您希望從中提取所有數字的儲存格範圍,然後點選「確定」按鈕。

4. 隨即會彈出另一個「Kutools for Excel」對話方塊。請在該對話方塊中選取目標儲存格,然後點選「確定」。

接著,所有數字將從所選區域的每個儲存格中大量提取出來。

4. 提取特定文字後方的數字
如下圖所示,若要提取「No.」後的所有數字,本節提供兩種方法協助您輕鬆完成。

您可套用下列公式,從 Excel 儲存格中提取特定文字後的數字。
通用公式:
=LOOKUP(10^6,1*MID(cell,MIN(FIND({0,1,2,3,4,5,6,7,8,9},cell&"0123456789",FIND("text"," "&cell&" "))),{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. 按下「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. ") 
注意事項:
相關文章:
Excel 教學:拆分文字、數字與日期儲存格(分離至多個欄位)
本教學分為三大單元:拆分文字儲存格、拆分數字儲存格及拆分日期儲存格,每個單元皆提供實用範例,助您輕鬆掌握技巧,日後遇到相同問題也能快速完成拆分作業!
點此了解更多……
Excel 在儲存格指定位置插入文字與數字
在 Excel 中,於儲存格的指定位置插入文字或數字是極為常見的操作,例如在姓名之間加入空格、為儲存格添加前綴或後綴、為身分證字號插入連字號等。本教學完整整理 Excel 中幾乎所有插入內容的情境,並提供對應方法供您參考!
點此了解更多……
Excel 從文字字串中移除特定字元、單字或數字
假設您有一長串包含字元、數字或其他特殊符號的文字字串,有時需要依位置刪除部分內容(例如從字串左側、右側或中間移除),或清除清單中不需要的字元與數字。逐一尋找解決方法實在令人頭痛!本教學一次彙整 Excel 中移除字元、單字或數字的各種高效技巧,助您輕鬆搞定資料清理!
點此了解更多……
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用