Skip to main content

從文字字串中刪除或去除非數字字符

Author: Xiaoyang Last Modified: 2025-08-06

有時候,您可能需要從文字字串中刪除所有非數字字符,並僅保留如下截圖所示的數字。本文將介紹一些在 Excel 中解決此任務的公式。

doc-strip-non-numeric-1


使用公式從文字字串中刪除或去除所有非數字字符

在 Excel 2019 和 Office 365 中,新的 TEXTJOIN 函數結合 IFERROR、MID、ROW 和 INDIRECT 函數可以幫助您從文字字串中提取數字,通用語法為:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text: 您想要刪除所有非數字字符的文字字串或單元格值。

1. 請將以下公式複製或輸入到您希望輸出結果的空白單元格中:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

2. 然後,同時按下 Ctrl + Shift + Enter 鍵以獲取第一個結果,請參見截圖:

doc-strip-non-numeric-2

3. 接著,選擇公式單元格,然後向下拖動填充柄至您想應用該公式的單元格,只有數字被提取出來,所有其他非數字字符都被刪除了,請參見截圖:

doc-strip-non-numeric-3


公式解釋:

ROW(INDIRECT("1:100"):INDIRECT 公式中的數字 1:100 表示 MID 函數評估文字字串的 100 個字符。這個陣列將包含 100 個數字,像這樣:{1;2;3;4;5;6;7;8....98;99;100}。
注意:如果您的文字字串更長,您可以根據需要將數字 100 改為更大的數字。

MID(A2,ROW(INDIRECT("1:100")),1:這個 MID 函數用於提取 A2 單元格中的文字以獲取一個字符,它將生成這樣的陣列:
{"5";"0";"0";" ";"K";"u";"t";"o";"o";"l";"s";" ";"f";"o";"r";" ";"E";"x";"c";"e";"l";"";"";"";"";"";""...}

MID(A2,ROW(INDIRECT("1:100")),1)+0:在此陣列後添加 0 值是為了強制將文字轉換為數字,數字文本值將被轉換為數字,而非數字值將顯示為 #VALUE 錯誤值,像這樣:
{"5";"0";"0";#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE! !;#VALUE! !;#VALUE!...}

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0:這個 IFERROR 函數用於將所有錯誤值替換為空字符串,像這樣:
{"5"; "0";"0";"";""; "";"";"";"";"";""; … }

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")):最後,這個 TEXTJOIN 函數將結合由 IFFERROR 函數返回的陣列中的所有非空值並返回結果。

doc-strip-non-numeric-4


注意

1. 使用上述公式,數字將以文本格式返回,如果您需要真實的數值,請應用此公式,記住要同時按下 Ctrl + Shift + Enter 鍵以獲得正確的結果。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))+0

2. 在早期版本的 Excel 中,此公式將不起作用,在這種情況下,以下公式可能會對您有所幫助,請將此公式複製或輸入到空白單元格中:

=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)

doc-strip-non-numeric-5


使用簡單的功能從文字字串中刪除或去除所有非數字字符

也許,記住上述公式太長了,這裡我將向您介紹 Kutools for Excel,使用其刪除字符功能,您可以通過幾次點擊即可從文字字串中刪除數字、字母、不可打印或字母數字字符。 點擊免費試用 Kutools for Excel!


相關函數:

  • TEXTJOIN
  • TEXTJOIN 函數使用特定分隔符連接來自行、列或單元格範圍的多個值。
  • MID
  • MID 函數用於查找並返回給定文字字串中間的特定數量的字符。
  • ROW
  • Excel 的 ROW 函數返回引用的行號。
  • INDIRECT
  • Excel 的 INDIRECT 函數將文本字符串轉換為有效的引用。
  • IFERROR
  • IFERROR 函數用於當公式計算出錯誤時返回自定義結果,並且在沒有發生錯誤時返回正常結果。

更多文章:


最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

🤖 KUTOOLS AI 助手:基於以下方式徹底改變數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 KUTOOLS 函數
熱門功能查找、標記或標識重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  無需公式四捨五入 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫 (自動文字)  |  日期提取器  |  合併資料  |  加密/解密單元格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 個工具集12 個文本工具添加文本刪除特定字符 ...)  |  50+ 種圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行拆分Excel單元格 ...)  |  ... 及更多
使用您偏好的語言來操作 Kutools——支持英語、西班牙語、德語、法語、中文等 40 多種語言!

Kutools for Excel 擁有超過 300 項功能,確保您需要的功能只需一鍵即可觸及...


Office Tab - 在 Microsoft Office(包括 Excel)中啟用多標籤閱讀和編輯

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 在查看和編輯多個文檔時,提升您的效率達 50%。
  • 為 Office(包括 Excel)帶來高效的標籤功能,就像 Chrome、Edge 和 Firefox 一樣。