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


相关文章


有用资源