有时,需要从同时包含文本和数字字符串的单元格中删除数字字符的情况并不罕见。您可能会看到各种情况,其中数值以不同的排列方式出现在数据集中,您需要清理它们。在本文中,我将介绍 5 种不同的方法来帮助您从 Excel 单元格中删除数字字符。
数据集简介在以下数据集中,我有 2 列(示例数据和清理后的数据)。请注意,在示例数据列中,字母和数字字符出现在不同的位置。即使所有单元格中的总位数也不相同。
您还可以注意到单元格 A5 仅包含数字字符,单元格 A6 仅包含字母字符。
现在,我将向您展示如何从 Excel 工作表的单元格中删除数字字符。
从 Excel 单元格中删除数字字符的最简单方法适用于字母和数字字符的任意组合。
如果您熟悉Excel中的VBA,我相信您会发现这种方法非常容易使用。此方法最适合从 Excel 单元格中删除任何排列的数字字符。
这段VBA代码可以顺利地从Excel单元格中删除数字字符。只需将代码插入 Visual Basic 编辑器中的新模块中即可。
Function RemoveNumbersFromCell(gTxt As String) As String With CreateObject("VBScript.RegExp") .Global = True .Pattern = "[0-9]" RemoveNumbersFromCell = .Replace(gTxt, "") End With End Function
Visual Basic复制
使用指南
步骤_1:首先,转到“开发人员”选项卡。
Step_2:其次,单击“代码”组中的“Visual Basic”图标。
快捷方式:按 Alt+F11 或 Alt+Fn+F11 键。
屏幕上将弹出 VBA 窗口。
Step_3:在项目面板中,右键单击工作表名称。
我在工作簿中使用的工作表名称是 Sheet1(案例#1)。
将立即出现一个下拉菜单。
步骤_4:从菜单中转到“插入”,然后选择“模块”。它将向您的工作表添加一个模块。
Step_5:现在复制本文上面的 VBA 代码。
Step_6:将其粘贴到模块窗口中。
Step_7:关闭VBA窗口。
您将再次返回 Excel 工作表。
步骤_8:现在在单元格 B2 中键入以下公式。
=RemoveNumbersFromCell(A2)
步骤_9:按 ENTER 键。
步骤_10:最后,向下拖动“填充手柄”图标,将公式从单元格 B2 复制到单元格 B10。
最后结果
这样,无论数值位于何处,您都可以快速删除 Excel 工作表中存在的数字字符。
替代方法#1:使用快速填充从 Excel 单元格中删除数字字符适用于字母和数字字符的任意组合。
如果您想避免使用 VBA 代码,可以尝试这种替代方法。此技术适用于任何类型的文本字符串,并借助快速填充功能为您提供与之前方法相同的结果。
使用指南
步骤_1:首先,手动输入单元格 B2 内单元格 A2 中的每个字母字符。
注意:该过程区分大小写。请记住输入原始单元格中存在的字母。
Step_2:现在,转到“数据”选项卡。
步骤_3:最后,单击“数据工具”组中的“快速填充”命令。
最后结果
快速填充将立即为您从“示例数据”列的单元格中删除数字字符,并在“已清理数据”列中显示字母字符。
替代方法 #2:使用查找和替换从 Excel 单元格中删除数字字符适用于:文本-分隔符-数字或数字-分隔符-文本组合。
如果您选择的单元格区域遵循固定模式,那么从单元格区域中删除数字字符将是一种更快的方法。
注意:所选单元格区域的文本和数字字符之间必须有分隔符(-、/、: 等)。否则,该技术将无法正常工作。
作为示例,我使用了具有文本分隔符数字模式的数据集。
请注意,所有单元格中的数字字符数并不相同。例如,单元格 A2 有一个 9 位数字字符串 (RD-336011225),单元格 A3 有一个 4 位数字字符串 (SG-2873),单元格 A5 有一个 6 位数字字符串 (RR-477500)。
使用指南
Step_1:首先,选择单元格区域A2:A10。
步骤_2:现在转到“主页”选项卡。
Step_3:然后将光标移至编辑组。
步骤_4:从“查找并选择”下拉菜单中,单击“替换”。
“查找和替换”对话框将显示在 Excel 工作表前面。
快捷方式:按 CTRL+H 打开“查找和替换”对话框
步骤_5:现在,在“查找内容”框中,键入 -*。
步骤_6:将替换为框保留为空。
Step_7:最后,单击“全部替换”按钮。
注意:如果您使用不同的分隔符,请先输入该分隔符,然后插入星号 (*)。
屏幕上将出现一个显示全部替换结果的窗口。
步骤_8:点击“确定”。
最后结果
所选单元格区域中不再有任何数字字符,也没有标点符号。
替代方法 #3:使用 Power Query 从 Excel 单元格中删除数字字符适用于:具有固定结构的细胞(字母-数字/数字-字母模式)
如果您需要将一列的字母和数字字符拆分为两个单独的列,那么使用 Power Query 编辑器将是您的最佳解决方案。因此基本上,该技术不会从原始列中删除数字字符。相反,它将数字字符与文本字符分开,并将它们放置在新列中。
为了向您展示 Power Query 的技术,我将使用以下数据集。
与之前方法的数据集不同,该数据集在字母和数字字符之间没有分隔符。但它确实有固定的字符排列。字母字符放置在字符串的开头,数字字符放置在字符串的末尾。
使用指南
Step_1:首先,选择单元格区域A1:A10。
Step_2:然后转到“数据”选项卡。
步骤_3:现在从“获取和转换”组中选择“从表”命令。
Excel 工作表上将弹出一个名为“创建表”的小窗口。
Step_4:检查窗口中的单元格范围。
步骤_5:如果您的表格有标题,请在我的表格有标题框上打勾。
步骤_6:点击“确定”。
现在,Power Query 编辑器将在您面前打开。
Step_7:现在单击“拆分列”下拉菜单。
步骤_8:选择“按非数字转数字”命令。
注意:我选择了“按非数字到数字”选项,因为我选择的单元格范围具有固定结构,其中非数字位于数字之前。如果您的单元格区域具有不同的结构,您可以选择不同的选项。
您将看到该列分为两列,一列包含字母字符,另一列包含数字字符。
步骤_9:现在单击左上角名为“关闭并加载”的命令。
它将带您到一个包含两个新列的新 Excel 工作表。
现在,如果您想删除数字字符,可以将它们从工作表中删除。
步骤_10:选择“示例数据”列。2。
步骤 11:在“主页”选项卡中,单击“删除”下拉列表。
Step_12:最后,选择“删除单元格”命令。
最后结果
现在只有包含字母字符的列保留在工作表上。这样,您就可以使用 Power Query 将 Excel 中的单元格中的不同字符分开。
替代方法 #4:使用 LEFT、LEN、MIN 和 FIND 函数从 Excel 单元格中删除数字字符适用于:仅字母数字结构
在以下四个函数(FIND 函数、MIN 函数、LEN 函数和 LEFT 函数)的帮助下,我创建了一个公式来从 Excel 的单元格中删除数字字符。
句法
=LEFT(text,LEN(text)-MIN(FIND(find_text, within_text, [start_num]))+1)
公式
=LEFT(A2,LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789",1))+1)
使用指南
步骤_1:首先,在“示例数据”列旁边留一个空列。
我选择了 B 列并为其添加了标题“已清理的数据”。
步骤_2:然后在单元格 B2 中键入公式。
步骤_3:现在按 ENTER 键。
步骤_4:现在向下拖动填充手柄图标,将公式从单元格 B2 复制到单元格 B10。
最后结果
这个公式一开始可能看起来很困难,但是一旦你理解了它是如何工作的,你就会发现这个方法非常简单。此外,如果您想保留数字并删除字母字符,您可以使用相同的公式应用 RIGHT 函数。
公式解释
查找函数:
{0,1,2,3,4,5,6,7,8,9} 用作 find_text。由于所有数字字符均由 0-9 字符组成。因此,如果我输入 {0,1,2,3,4,5,6,7,8,9},我可以找到单元格中存在的任何数字字符。
由于单元格 A2 是我们的目标单元格,因此它被插入为 inside_text。但我还必须提及 inside_text 参数中的数字字符。这就是为什么我添加了&“0123456789”。
1 指定我要开始搜索的 inside_text 字符串的位置。
最小值函数:
在 MIN 函数中,我输入 FIND({0,1,2,3,4,5,6,7,8,9}, A2&”0123456789”,1))+1 作为 number1。
number1 表示包含我要评估的范围的第一个数字的第一个单元格引用。
LEN 功能:
LEN 函数内的文本参数是 A2。它将计算单元格 A2 中的字符数。之后,使用减号(-)减去数字的位置。
左功能:
这里的文本是我的目标单元格 A2 的单元格引用。
num_char 指定要从文本右侧获取多少个字符。这里我使用了LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&”0123456789”,1))。但是如果 LEFT 函数找到第一个单元格引用,它将删除它。因此,我进一步添加了 +1 以考虑输出中的第一个单元格引用。
结论我希望现在您可以从 Excel 的单元格中删除任意排列的数字字符。