我们已在数据集中放置了一些产品名称及其ID。我们想要从产品 ID 中删除这些数字。

方法 1 – 使用通配符查找和替换来删除 Excel 单元格中的数字“产品名称”列中的括号中包含一些数字。我们将删除这些号码。

步骤:

选择数据范围B5:B11。按Ctrl + H 打开查找和替换命令。在查找内容框中输入(*),并将替换为框保留为空。按全部替换。

关闭对话框以查看结果。

方法 2 – 应用查找和选择工具从单元格中删除数字产品 ID 列中有两个单元格仅包含数字。我们将从ID单元格中删除数字。

步骤:

选择数据范围C5:C11。转到主页选项卡,选择查找并选择,然后选择转到特殊内容将打开一个对话框。

仅标记常量选项中的数字。按确定。

仅突出显示数字。

按键盘上的删除按钮。

方法3 – 使用快速填充从 Excel 单元格中删除数字步骤:

仅将第一个单元格的文本(而不是数字)键入到与其相邻的新列中。点击输入按钮。

选择单元格 D5。转到数据,然后转到数据工具,然后选择快速填充。

数字被删除。

方法4 – 在Excel中插入SUBSTITUTE函数从单元格中删除数字步骤:

使用单元格 D5 中给出的公式:=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C5,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"")按 Enter 键。

双击填充手柄图标,公式将自动复制下来。

数字从单元格中删除。

方法五——结合TEXTJOIN、MID、ROW、LEN和INDIRECT函数删除数字步骤:

在单元格 D5 中使用以下公式:=TEXTJOIN("",TRUE,IF(ISERR(MID(C5,ROW(INDIRECT("1:"&LEN(C5))),1)+0),MID(C5,ROW(INDIRECT("1:"&LEN(C5))),1),""))点击输入按钮。

向下拖动填充手柄图标以复制公式。

公式细分:

➥ ROW(INDIRECT(“1:”&LEN(C5)))

它将从 ROW 和 INDIRECT 函数中找到结果数组列表,返回如下:

{1;2;3;4}

➥ MID(B3,ROW(INDIRECT(“1:”&LEN(B3))),1)

MID 函数用于根据 start_num 和 num_chars 参数提取字母数字字符串。对于 num-chars 参数,我们将输入 1。将参数放入 MID 函数后,它将返回一个数组,如下所示:

{“B”;“H”;“2”;“3”}

➥ ISERR(MID(B3,ROW(INDIRECT(“1:”&LEN(B3))),1)+0)

加0后,输出数组被放入ISERR函数中。它将创建一个 TRUE 和 FALSE 数组,TRUE 表示非数字字符,FALSE 表示数字。输出将返回为-

{TRUE;TRUE;FALSE;FALSE}

➥ IF(ISERR(MID(B3,ROW(INDIRECT(“1:”&LEN(B3))),1)+0),MID(B3, ROW(间接(“1:”&LEN(B3))),1),””)

IF 函数将检查ISERR 函数的输出。如果它的值返回TRUE,它将返回一个字母数字字符串的所有字符的数组。所以我们又添加了一个MID功能。如果IF函数的值为FALSE,则返回空白(“ ”)。 所以最终我们将得到一个仅包含字符串的非数字字符的数组。那是-

{“B”;“H”;“”;””}

➥ TEXTJOIN(“”,TRUE,IF(ISERR(MID(B3,ROW(INDIRECT(“1:”&LEN(B3))),1)+ 0),MID(B3,ROW(间接(“1:”&LEN(B3))),1),””))

TEXTJOIN 函数将连接上述数组的所有字符并避免空字符串。该函数的分隔符设置为空字符串(“ ”) ,并且忽略的空参数的值输入TRUE。这将给出我们预期的结果 -

{BH}

方法 6 – 应用 TEXTJOIN、IF、ISERROR、SEQUENCE、LEN 和 MID 函数删除数字步骤:

在单元格 D5 中,插入以下公式:=TEXTJOIN("", TRUE, IF(ISERROR(MID(C5, SEQUENCE(LEN(C5)), 1) *1), MID(C5, SEQUENCE(LEN(C5)), 1), ""))按Enter按钮即可获取结果。

应用自动填充选项来复制公式。

公式细分:

➥ LEN(C5)

LEN 函数将查找Cell C5的字符串长度,返回结果为:

{4}

➥ 序列(LEN(C5))

然后SEQUENCE函数将根据返回的长度给出顺序号-

{1;2;3;4}

➥ MID(C5, SEQUENCE(LEN(C5)), 1)

MID 函数将返回先前位置编号的值,结果是:

{“B”;“H”;“2”;“3”}

➥ ISERROR(MID(C5, SEQUENCE(LEN(C5)), 1) *1)

现在,如果发现错误,ISERROR函数将显示 TRUE,否则将显示 FALSE。结果是——

{TRUE;TRUE;FALSE;FALSE}

➥ IF(ISERROR(MID(C5, SEQUENCE(LEN(C5)), 1) *1), MID(C5, SEQUENCE(LEN(C5)) , 1), “”)

然后IF函数看到TRUE,它在另一个MID函数的帮助下将相应的文本字符插入到处理后的数组中。看到FALSE,它用空字符串替换它:

{“B”;“H”;“”;””}

➥ TEXTJOIN(“”, TRUE, IF(ISERROR(MID(C5, SEQUENCE(LEN(C5)), 1) *1), MID(C5,序列(LEN(C5)), 1), “”))

最终的数组将传递给 TEXTJOIN 函数,因此它连接文本字符并将结果输出为 -

{BH}

方法 7 – 使用 Excel VBA 中的用户定义函数从单元格中删除数字情况 1 – 从单元格中删除数字步骤:

右键单击工作表标题。从上下文菜单中选择查看代码。将出现一个VBA窗口。

在窗口中插入以下代码:Option Explicit

Function RemNumb(Text As String) As String

With CreateObject("VBScript.RegExp")

.Global = True

.Pattern = "[0-9]"

RemNumb = .Replace(Text, "")

End With

End Function按播放图标运行宏。

在单元格 D5 中插入:=RemNumb(C5)点击Enter按钮即可获取结果。

拖动填充手柄图标以复制公式。

情况 2 – 将数字和文本拆分为单独的列步骤:

打开VBA窗口并插入以下代码:Option Explicit

Function SplitTextOrNumb(str As String, is_remove_text As Boolean) As String

With CreateObject("VBScript.RegExp")

.Global = True

If True = is_remove_text Then

.Pattern = "[^0-9]"

Else

.Pattern = "[0-9]"

End If

SplitTextOrNumb = .Replace(str, "")

End With

End Function单击运行,将打开一个宏。

选择宏并按运行。

在单元格 D5 中插入以下公式:=SplitTextOrNumb(C5,1)

删除数字字符:=SplitTextOrNumb(C5,0)

按Enter按钮并使用填充手柄工具复制公式。