如何在Excel中删除单元格中的非数字字符?
尽管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中从单元格中删除非数字字符,以突出显示特定数据集。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP