KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

從文字字串中剝離或移除非數字字元

作者Xiaoyang修改日期

有時您可能需要從文字字串中移除所有非數字字元,僅保留如截圖所示的數字。本文將介紹幾種 Excel 公式,協助您輕鬆完成這項任務。

doc-strip-non-numeric-1


使用公式從文字字串中剝離或移除所有非數字字元

在 Excel 2019 與 Office 365 中,結合 IFERROR、MID、ROW 與 INDIRECT 函數的新文本 JOIN 函數可協助您僅從文字字串中提取數字,其通用語法如下:

=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 函數會將 IFERROR 函數所傳回陣列中的所有非空值合併,並輸出最終結果。

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 函數可在公式計算結果出錯時,傳回您自訂的結果;若無錯誤,則傳回正常的計算結果。

更多文章:


最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。