跳到主要内容

如何从 Excel 单元格中删除非数字字符?

作者:Mandyzhou 最后修改时间:2024-06-18

Excel 用户经常会遇到数据中混合有数字和非数字字符(例如字母或符号)的情况。清理这些数据对于进一步分析或报告至关重要。在本指南中,我们将探讨从 Excel 单元格中删除非数字字符的四种方法,确保您的数据干净且可用。


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

在本节中,我们将介绍四种从 Excel 单元格中删除非数字字符的有效方法,针对不同版本的 Excel 和用户专业水平进行量身定制。


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

要从 Excel 单元格中删除非数字字符,可以使用基于 文字加入 功能。

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

在单元格中 C2,应用下面的公式,然后按 输入 获得结果的关键。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)+0,""))+0
我们推荐使用 文字加入 函数在 Excel 2019 及更高版本中可用。并且 顺序 函数在 Excel 2021 及更高版本中可用。如果您想要更轻松地在所有 Excel 版本中实现此目标,请参阅 通过使用Kutools AI Aide 方法或 通过使用一个神奇的工具 方法我们接下来会介绍。
步骤 2:将公式应用于其他单元格并获取所有结果

计算初始结果后,将填充柄从公式单元格 (C2 在此示例中)向下将公式应用于其他单元格,将其扩展到单元格 C8.

公式解释:
  1. LEN(A2):查找 A2 中字符串的长度。
  2. 序列(长度(A2)):创建一个从 1 到字符串长度的数字列表。每个数字对应字符串中的一个字符位置。
  3. MID(A2,序列(LEN(A2)), 1):从 A2 中逐个提取字符。
  4. +0:尝试将每个字符转换为数字。如果字符不是数字,则会导致错误。
  5. IFERROR(…, “”):如果转换字符导致错误(即它不是数字),则会将其替换为空字符串。
  6. TEXTJOIN(“”, TRUE, ...):将所有字符组合回单个字符串,跳过任何空字符串(被删除的非数字)。
  7. 末尾有 +0:将最终的数字字符串转换回数值。

使用Kutools AI Aide从Excel单元格中删除非数字字符

Kutools for Excel's 人工智能助手 此功能通过轻松删除非数字字符,为清理 Excel 工作表提供了无与伦比的便利。只需简单输入,这个强大的工具就会接管,自动分析和执行所需的任务,而无需复杂的公式。这不仅可以加快流程,还可以消除错误的可能性,从而显著提高您的工作效率和准确性。 人工智能助手 将原本繁琐的手动任务转变为无缝、高效的操作,使其成为任何旨在优化工作流程的 Excel 用户的必备资产。

下载并安装 Kutools for Excel,单击“ Kutools人工智能 > 人工智能助手 打开 Kutools 人工智能助手 窗格。

1.在 Kutools AI辅助 窗格中,在聊天框中输入以下文本形式的请求,然后单击 提交 按钮或按下 输入 键来提交您的查询。

"请帮我删除 Excel 中 A2:A8 范围内的非数字字符."

2. 工具分析完您的输入后,点击 执行 按钮。Kutools AI Aide 将采用其 AI 技术来处理您的请求并将结果直接应用于 Excel。

Tips::要使用此功能,您应该安装 Kutools for Excel 首先,请 点击下载并享受 30 天免费试用 现在。


使用神奇的工具从 Excel 单元格中删除非数字字符

为了通过删除指定范围内的非数字字符来有效地清理数据, Kutools for Excel删除字符 实用程序提供了一个 一键式 解决方案。这款功能强大的工具简化了通常繁琐的过程,让您能够快速从数据中消除不需要的字符,从而立即确保获得更干净、更可用的结果。

请注意: 申请这个 删除字符 功能,首先,您应该下载并安装 Kutools for Excel.

1. 选择要删除非数字字符的范围后,单击 库工具 > 文本 > 删除字符.

2.在 删除字符 对话框,检查 非数值 选项,然后单击 OK。然后非数字字符将立即从选择中删除。

Tips::要使用此功能,您应该安装 Kutools for Excel 首先,请 点击下载并享受 30 天免费试用 现在。


使用 VBA 代码从 Excel 单元格中删除非数字字符


要使用VBA代码删除某个范围内的非数字字符,请执行以下操作:

第 1 步:打开 VBA 模块编辑器并复制代码
  1. 按住 ALT + F11 键,然后打开 Microsoft Visual Basic应用程序 窗口。
  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. 对话框中,选择要从中删除非数字字符的范围,然后单击 OK.
结果

然后删除选定范围内的所有非数字字符。

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