如何从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单元格中删除非数字字符,以突出显示特定的数据集。