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

更新于: 2023年9月8日

285 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.