KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何从 Excel 单元格中移除所有非数字字符?

作者Mandyzhou修改日期

Excel 用户常常会遇到包含数字与字母、符号等非数字字符混合的数据。清理这类数据对后续的分析或报告至关重要。本指南将为您介绍四种高效方法,助您轻松移除 Excel 单元格中的非数字字符,确保数据干净、准确、随时可用。

一张已移除非数字字符的 Excel 数据截图

在 Excel 中从单元格中删除非数字字符

本节将为您介绍四种高效实用的方法,轻松从 Excel 单元格中移除非数字字符,适用于各版本 Excel 及不同熟练程度的用户。


使用公式从 Excel 单元格中移除非数字字符

要从 Excel 单元格中移除非数字字符,您可以使用基于 TEXTJOIN 函数的公式。

步骤 1:选择一个单元格并应用公式

在 C2 单元格中输入以下公式,然后按 Enter 键即可获取结果。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)+0,""))+0
一张展示在 Excel 中应用 TEXTJOIN 公式以移除非数字字符的截图
TEXTJOIN 函数适用于 Excel 2019 及更高版本,而 SEQUENCE 函数适用于 Excel 2021 及更高版本。如果您希望在所有 Excel 版本中更轻松地实现目标,请参考接下来介绍的 使用 KUTOOLS AI 助手方法或使用一款强大工具方法。
步骤 2:将公式应用于其他单元格以获取全部结果

在计算出初始结果后,从公式所在单元格(本例中为 C2)向下拖动填充柄,将公式应用至 C8 单元格。

一张展示应用 TEXTJOIN 公式后移除非数字字符结果的截图
公式说明:
  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 at the end 将最终的数字字符串转换回数值。

使用 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 助手”窗格中,将如下所示的请求输入聊天框,然后点击Kutools AI Aide 窗格中“发送”按钮的截图“发送”按钮或按 Enter 键提交查询。

请帮我从 Excel 的 A2:A8 区域中移除非数字字符。”

2. 工具分析完您的输入后,点击“执行”按钮,KUTOOLS AI 助手将运用其 AI 技术处理您的请求,并直接在 Excel 中应用结果。

一个展示 Kutools AI Aide 如何从 Excel 单元格中移除非数字字符的 GIF 动图

提示:要使用此功能,您需先安装 Kutools for Excel,请 点击此处下载 Kutools for Excel立即安装。


使用一款强大的工具从 Excel 单元格中移除非数字字符

若需高效清理限定区域范围内的非数字字符,Kutools for Excel 的“删除特定字符”工具提供了一键式解决方案。这款强大工具简化了通常繁琐的流程,让您快速清除数据中的无关字符,即时获得更干净、更可用的结果。

Kutools for Excel 提供超过 300 项高级功能,简化复杂任务,激发创造力并提升效率。集成 AI 能力,Kutools 以精准自动化任务,让数据管理变得轻而易举。更多关于 Kutools for Excel 的详细信息……         免费试用……

1. 选中要移除非数字字符的区域后,点击“Kutools”>“文本”>“删除特定字符”。

2. 在“删除特定字符”对话框中,勾选“非数字”选项,然后点击“确定”。所选区域中的非数字字符将立即被移除。

一个展示 Kutools“删除字符”工具在 Excel 中使用的 GIF 动图

提示:要使用此功能,您需先安装 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. 在弹出的 Kutools for Excel 对话框中,选择要删除非数字字符的区域,然后单击“确定”。

一张展示用于在 Excel 中移除非数字字符的 VBA 代码选择区域的截图

结果

随后,所有非数字字符选择区域均被移除。

一张展示所选区域中所有非数字字符已被移除的截图

如果您的数据包含带小数点的数字,可使用以下 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. 结果

一张展示 VBA 代码运行结果的截图,显示 Excel 数据中的非数字字符已被移除