Skip to main content

如何刪除 Excel 單元格中的非數字字符?

Author: Mandyzhou Last Modified: 2025-05-12

Excel 使用者經常會遇到包含數字和非數字字符混合的數據,例如字母或符號。清理這些數據對於進一步的分析或報告至關重要。在本指南中,我們將探討四種方法來刪除 Excel 單元格中的非數字字符,確保您的數據乾淨且可用。

A screenshot of Excel data with non-numeric characters removed

刪除 Excel 單元格中的非數字字符

在本節中,我們將介紹四種有效的方法來刪除 Excel 單元格中的非數字字符,針對不同版本的 Excel 和使用者專業水平量身定制。


通過使用公式刪除 Excel 單元格中的非數字字符

要刪除 Excel 單元格中的非數字字符,您可以使用基於 TEXTJOIN 函數的公式。

步驟 1:選擇一個單元格並應用公式

在 C2 單元格中應用以下公式,然後按下 Enter 鍵以獲取結果。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)+0,""))+0
A screenshot showing the TEXTJOIN formula applied to remove non-numeric characters in Excel
TEXTJOIN 函數適用於 Excel 2019 及更高版本。而 SEQUENCE 函數則適用於 Excel 2021 及更高版本。如果您希望在所有 Excel 版本中更輕鬆地實現這一目標,請參考我們接下來介紹的「使用 Kutools AI 助手」方法或「使用一款神奇工具」方法。
步驟 2:將公式應用於其他單元格並獲取所有結果

計算出初始結果後,拖動公式單元格(在此示例中為 C2)的填充柄向下應用公式到其他單元格,延伸至 C8 單元格。

A screenshot showing the results after applying the TEXTJOIN formula to remove non-numeric characters
公式解釋:
  1. LEN(A2):找出 A2 中字符串的長度。
  2. SEQUENCE(LEN(A2)):創建從 1 到字符串長度的數字列表。每個數字對應於字符串中的字符位置。
  3. MID(A2, SEQUENCE(LEN(A2)), 1):每次從 A2 中提取一個字符。
  4. +0:嘗試將每個字符轉換為數字。如果某個字符不是數字,則會導致錯誤。
  5. IFERROR(..., ""):如果轉換字符時發生錯誤(表示它不是數字),則用空字符串替換。
  6. TEXTJOIN("", TRUE, ...):將所有字符重新組合成單個字符串,跳過任何空字符串(已刪除的非數字)。
  7. 最後的 +0:將最終的數字字符串轉換回數值。

通過使用 Kutools AI 助手刪除 Excel 單元格中的非數字字符

Kutools for Excel 的「AI 助手」功能在清理 Excel 工作表方面提供了無與倫比的便利性,能夠毫不費力地刪除非數字字符。只需簡單的輸入,這個強大的工具便能自動分析並執行所需任務,無需複雜的公式。這不僅加快了處理速度,還消除了出錯的可能性,顯著提高了您的生產力和準確性。「AI 助手」將原本可能繁瑣的手動任務轉變為流暢高效的運作,成為每位希望優化工作流程的 Excel 使用者的必備工具。

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

下載並安裝 Kutools for Excel 後,點擊「Kutools AI」>「AI 助手」以打開「Kutools AI 助手」面板。

1. 在「Kutools AI 助手」面板中,將以下類似的請求輸入聊天框,然後點擊 A screenshot of the Send button in Kutools AI Aide pane 「發送」按鈕或按下 Enter 鍵提交您的查詢。

請幫我刪除 Excel 中 A2:A8 區域內的非數字字符。

2. 一旦該工具分析完您的輸入,點擊「執行」按鈕。Kutools AI 助手將運用其 AI 技術處理您的請求並將結果直接應用於 Excel。

A GIF showing how Kutools AI Aide removes non-numeric characters from Excel cells

提示:要使用此功能,您應該先安裝 Kutools for Excel,請點擊立即下載 Kutools for Excel


通過使用一款神奇工具刪除 Excel 單元格中的非數字字符

為了高效清理數據並刪除指定區域中的非數字字符,Kutools for Excel 的「刪除字符」實用程序提供了一鍵解決方案。這個強大的工具簡化了通常繁瑣的過程,讓您快速消除不需要的字符,確保數據更加乾淨、易於使用。

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

1. 選擇要刪除非數字字符的區域後,點擊「Kutools」>「文字」>「刪除字符」。

2. 在「刪除字符」對話框中,勾選「非數字」選項,然後點擊「確定」。隨即所選區域中的非數字字符將被立即刪除。

A GIF demonstrating Kutools Remove Characters tool in Excel

提示:要使用此功能,您應該先安裝 Kutools for Excel,請點擊立即下載 Kutools for Excel


通過使用 VBA 程式碼刪除 Excel 單元格中的非數字字符


要使用 VBA 程式碼刪除範圍中的非數字字符,請按照以下步驟操作:

步驟 1:打開 VBA 模塊編輯器並複製程式碼
  1. 在 Excel 中按住「ALT + F11」鍵,打開「Microsoft Visual Basic for Applications」窗口。
  2. 點擊「插入」>「模塊」,然後在模塊窗口中複製並粘貼以下程式碼。
  3. VBA 程式碼:刪除所有非數字字符
    Sub RemoveNotNum()
    'Updateby Extendoffice
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        xOut = ""
        For i = 1 To Len(Rng.Value)
            xTemp = Mid(Rng.Value, i, 1)
            If xTemp Like "[0-9]" Then
                xStr = xTemp
            Else
                xStr = ""
            End If
            xOut = xOut & xStr
        Next i
        Rng.Value = xOut
    Next
    End Sub
    
步驟 2:執行程式碼
    1. 粘貼此程式碼後,請按 F5 鍵運行程式碼。
    2. 在彈出的 KutoolsforExcel 對話框中,選擇要刪除非數字字符的範圍,然後點擊確定。

A screenshot of the VBA code selecting range for removing non-numeric characters in Excel

結果

然後所選範圍內的所有非數字字符都被刪除。

A screenshot showing all non-numeric characters in the selected range are removed

如果您的數據包含帶有小數點的數字,您可以使用以下 VBA 腳本:
    1. Sub RemoveNotNum()
      'Updateby Extendoffice
      Dim Rng As Range
      Dim WorkRng As Range
      On Error Resume Next
      xTitleId = "KutoolsforExcel"
      Set WorkRng = Application.Selection
      Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
      For Each Rng In WorkRng
          xOut = ""
          For i = 1 To Len(Rng.Value)
              xTemp = Mid(Rng.Value, i, 1)
              If xTemp Like "[0-9.]" Then
                  xStr = xTemp
              Else
                  xStr = ""
              End If
              xOut = xOut & xStr
          Next i
          Rng.Value = xOut
      Next
      End Sub
      
    2. 結果

A screenshot of the VBA code results showing non-numeric characters removed from data in Excel

{# article_651_afterDisplayContent #}