如何在 Excel 中删除单元格中的非数字字符?
ms excelmicrosoft technologiesadvanced excel function更新于 2025/3/17 18:52:17
虽然 Excel 是一款强大的数据整理和分析工具,但我们处理的数据偶尔会变得杂乱无章,包含一些多余的字符,从而妨碍我们的计算和分析。幸运的是,Excel 提供了多种高效清理数据的方法;在本文中,我们将重点介绍如何从单元格中删除非数字字符。
在介绍相关技巧之前,我们先来了解一下删除非数字字符的重要性。在处理混合数据类型数据集(数字、文本、符号等)时,有时您只需要数值。例如,在处理财务数据、销售数据或任何其他数值计算时,您可能希望从单元格中删除所有非数字部分,以便获得正确的结果。
删除单元格中的非数字字符
在这里,我们将首先创建一个 VBA 模块,然后运行它来完成任务。让我们通过一个简单的过程来学习如何从 Excel 单元格中删除非数字字符。
步骤 1
假设有一个 Excel 工作表,其中的数据与下图类似。

首先,右键单击工作表名称,然后选择"查看代码"以打开 VBA 应用程序。
右键单击 >"查看代码"。
步骤 2
然后点击"插入",选择"模块",然后将以下代码复制到文本框中。
插入 >"模块">"复制"。
代码
Sub RemoveNotNum()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Remove Non Numeric"
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

步骤 3
然后点击 F5 运行模块。选择单元格区域并点击"确定"完成任务。之后您将看到非数字字符被删除。
F5 > 选择单元格 > 确定

以下是如何在 Excel 中删除非数字字符的方法。
注意
如果数字包含小数,请使用以下 VBA 代码。
代码
Sub RemoveNotNum()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Remove Non Numeric"
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
结论
在本教程中,我们使用了一个简单的示例来演示如何从 Excel 单元格中删除非数字字符以突出显示特定的一组数据。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

