如何僅從 Excel 的文字字串中擷取數字?
在使用 Excel 時,您可能會經常遇到數字與文字混合在同一儲存格中的情況,例如「訂單 1234」或「分數為 95.6」。若要進一步進行分析、計算或製作報表,通常需要從這些文字字串中擷取純數值。根據數字位於文字的開頭、結尾或中間,或是您是否僅需提取小數部分,Excel 提供了多種實用方法來輕鬆完成這項任務。
本指南將介紹多種從 Excel 文字字串中擷取數字的實用方法,涵蓋各種常見情境,包括擷取任意位置的數字、處理含小數點的數值,以及專門從字串開頭或結尾提取數字。每種方法皆詳述其運作原理、適用範圍,並提供有效應用的實用技巧。
從文字字串中任意位置擷取數字
從文字字串中任意位置提取嵌入的數字是常見需求,尤其在清理從不同來源匯入的資料,或整合多個工作表資訊時更顯重要。針對此情境,有多種實用且高效的方法,可依 Excel 版本及使用者對公式或增益集的熟悉程度靈活選用。
♦ 使用快速填滿從文字字串中任意位置擷取數字
快速填滿是 Excel 2013 及更高版本提供的一項便捷功能,能根據您示範的模式,從文字字串中自動擷取數字。此方法無需使用公式或巨集,非常適合用於簡單的情境:
1. 在緊鄰文字字串的儲存格中,手動輸入您想擷取的數字(例如:若 A2 包含「Order 123A」,請在 B2 輸入「123」)。
2. 在下方手動輸入的儲存格中,按下 Ctrl + E(或使用)資料索引標籤 > 快速填滿),Excel 便會根據您提供的初始範例自動向下填滿,並從格式相似的儲存格中擷取數字。
此方法非常適合結構一致的小型至中型一次性資料集。請注意,快速填滿功能仰賴模式識別——若您的資料高度不一致,或數字與文字順序混雜,可能無法如預期般正確擷取。若快速填滿未自動偵測,請確認是否已透過檔案> 選項> 進階> 自動快速填滿 啟用此功能。
♦ 使用公式從文字字串中任意位置擷取數字
使用公式是從文字字串中擷取數字的多功能方式,善用內建函數或動態陣列函數,尤其適合在原始數據變動時自動更新結果的場景。
選取一個空白儲存格來顯示擷取的數字,並根據您的 Excel 版本輸入下列其中一個公式。輸入完成後,向下拖曳填滿控點,即可將公式套用至其他儲存格。詳情請參閱下圖:
● 所有 Excel 版本:
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"") 此公式相容於所有現代 Excel 版本,若您未使用 Excel 365 或 Excel 2021,這將是可靠之選。請注意,包含多個函數的公式可能影響大型資料集的運算效能。此外,請務必確認文字字串中至少包含一個數字字元,否則公式可能傳回空白或錯誤值。
● Excel 365 或 Excel 2021 及更高版本:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, "")) 此公式運用全新的動態陣列函數,為 Office 365 或 Excel 2021 及更新版本的使用者大幅簡化資料擷取流程,無論是簡單或複雜的字母數字混合內容,皆能高效處理。請務必確認您使用的是支援的版本,否則公式可能無法如預期運作。

提示:處理混合數字、負數或包含特殊符號的數值時,請務必檢查擷取結果以確保準確無誤。此外,公式預設可能無法辨識小數點,因此若需擷取小數,請參閱下方專門章節。如遇非預期結果或錯誤,請仔細確認儲存格參照與公式語法是否正確。
♦ 使用 Kutools for Excel 從文字字串中任意位置擷取數字
Kutools for Excel 提供了一種直覺又高效的方式,讓您能從文字字串的任意位置輕鬆擷取數字。無論是偏好互動式介面而非公式操作的使用者,還是需要處理大量資料、不想逐一手動處理的人,都能藉此節省寶貴時間、簡化工作流程,同時免去記憶複雜公式或逐一除錯的困擾。
- 按一下 Kutools > 文字 > 提取文本(如下圖所示)。

- 在提取文本對話方塊中:
(1.)選取包含文字字串的儲存格清單;
(2.)選擇提取數字選項,確保僅擷取數字部分;
(3.)若希望擷取的數字能隨源數據變更自動更新,請勾選作為公式插入(否則結果將為靜態文字);
(4.)按一下確定。
- 當系統提示時,請選取一個空白儲存格作為輸出位置,並確保周圍有足夠空間容納結果,以免覆寫現有資料。

- 點擊確定,立即擷取每個選取儲存格中的數字!

此方法操作簡便,能有效降低公式錯誤或儲存格參照不當的風險。但請注意,Kutools 為增益集,並未包含於標準 Excel 安裝中。它特別適合需要執行批次作業,或希望避開複雜函數語法與 VBA 的使用者。
若數字擷取結果不如預期,請檢查原始資料是否包含混合格式(例如隱藏字元或非標準數字)。此外,在進行大量修改前,務必先備份工作表。
♦ 使用 VBA 程式碼從文字字串中任意位置擷取數字
對於進階使用者,或當公式與增益集無法滿足特定需求時,VBA 提供了靈活的解決方案,能從 Excel 文字字串中擷取數字。此方法高度可自訂,特別適合自動化重複性任務或處理非標準資料集。
- 按下 Alt + F11,立即開啟 VBA 編輯器!在 Microsoft Visual Basic for Applications 視窗中,點選插入 > 模組。在新開啟的模組視窗中,貼上以下程式碼:
- VBA 程式碼:僅從文字字串中擷取數字:
Sub ExtrNumbersFromRange() 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 - 在插入程式碼後,按下 F5 或按一下執行按鈕,系統將彈出提示方塊,要求您選取要處理的文字字串範圍。

- 選取範圍後,按一下確定,接著會出現第二個提示,要求您指定輸出結果的起始儲存格。

- 再次點擊確定,即可將原始選取範圍內所有嵌入的數字擷取出來,並自動填入您指定的輸出區域!
VBA 方法的優勢在於能高效處理大型資料集,並可在具備基本 VBA 知識的前提下靈活自訂操作行為(例如僅擷取第一個數字、處理小數,或排除特定符號)。注意事項:VBA 巨集無法復原,若所選的輸出區域與原始資料重疊,可能導致資料被覆寫,因此務必先於備份檔案中測試。同時,請確保 Excel 已啟用巨集功能。
僅從文字字串中提取小數
有時,您的文字字串可能包含帶小數點的數字(例如「weight:15.25kg」)。若您需要精確提取這類包含小數點的小數,標準公式可能無法正確擷取。以下解決方案專為處理此類情況而設計:
下列公式可協助您高效地從文字字串中提取小數。請在鄰近資料的空白儲存格中輸入適當公式,再視需要利用填滿控點複製至其他列。
● 所有 Excel 版本:
=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999")))) 此公式相容於大多數 Excel 版本,並特別設計用於在提取過程中將小數點正確識別為數字的一部分。請仔細檢查您的資料,確保文字中不含多餘的句點;若小數未能如預期順利提取,請確認原始字串是否含有非標準字元或格式問題。
● Excel 365:
=REGEXEXTRACT(A2,"[\d.]+") 使用 Excel 365 時,動態陣列能更智慧地處理複雜文字字串,並自動傳回提取的小數。請在目標儲存格輸入公式,按下 Enter 後,再視需要向下延伸公式。

提示:若您反覆得到零值或錯誤而非數字,請確認您的資料確實包含有效的小數,且儲存格參照正確無誤。若您的數字同時包含負值與小數,可能需要調整公式。
從文字字串結尾擷取數字
當數字始終出現在文字字串末尾時(例如「221_ProductID_446」或「923Ticket#2021」),您可能只希望提取結尾的數字(如「446」或「2021」)。此處提供的公式正是為此情境量身打造,確保精準擷取文字末尾的連續數字。
將下列公式複製並貼上至空白儲存格。若使用舊版 Excel,請以 Ctrl + Shift + Enter 確認公式,建立陣列公式;若使用支援動態陣列的新版 Excel,只需按下 Enter 即可:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))) 向下拖曳填滿控點,即可將此公式套用至其他列。此方法最適用於格式一致的情況——每列字串僅需擷取最後一個數字,並會自動忽略出現在開頭或中間的數字。

注意:若您的資料中混有空格、特殊符號或位置變動,請調整公式,或改用上述更通用的方法。務必確認輸出結果是否符合預期,尤其是當文本結尾包含看似數字的非數字字元時。
從文字字串開頭擷取數字
若您只需提取文字字串開頭的數字,可使用專用公式輕鬆擷取這部分內容。
將公式置於空白目標儲存格中;對於舊版 Excel,請使用 Ctrl + Shift + Enter 建立陣列公式(在 Excel 365/2021 中,只需按 )Enter):
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1) 接著,將公式向下拖曳至所有需要提取資料的列。此方法僅會傳回字串開頭的數字——即使其他位置還有數字,也只會擷取最前面的數字部分。

提示:若字串的首個字元非數字,此公式可能會傳回空白或錯誤。建議您視需要檢查並清理原始資料,以確保取得最佳結果。
從文字字串中提取數字是 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 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用





