当然可以实现!针对你这种删除单元格内特定区间内容、保留剩余部分的需求,Excel里有好几种实用方法,我给你分情况介绍:

方法1:用TEXTAFTER函数(适用于Excel 365/2021及以上版本) #如果你用的是较新的Excel版本,TEXTAFTER函数是最直接的解决方案——它专门用来提取指定分隔符之后的文本内容。

假设你的内容在A1单元格,直接输入公式:

=TEXTAFTER(A1, "Erase ")

这里把"Erase "作为分隔符(注意后面带空格,和你的示例内容匹配),函数会自动返回分隔符之后的所有内容,也就是Store Keep Save。

如果担心内容里的空格或大小写不一致,还可以添加参数忽略大小写,或者允许分隔符不存在时返回原内容:

=TEXTAFTER(A1, "erase ", 1, , TRUE)

最后一个TRUE参数表示忽略大小写匹配。

方法2:用SUBSTITUTE+FIND组合(兼容旧版Excel) #要是你用的是没有TEXTAFTER的旧版本Excel,可以用基础函数组合来实现。同样假设内容在A1单元格,公式如下:

=RIGHT(A1, LEN(A1)-FIND("Erase", A1)-LEN("Erase"))

拆解一下逻辑:

FIND("Erase", A1)找到"Erase"在单元格文本中的起始位置加上LEN("Erase")得到"Erase"这个词的末尾位置用单元格总长度LEN(A1)减去这个位置,得到剩余内容的长度最后用RIGHT提取右侧剩余的内容方法3:VBA宏批量处理(适合大量单元格) #如果要处理成百上千个单元格,手动输入公式太麻烦,写个简单的VBA宏就能批量搞定。

步骤:

按下Alt+F11打开VBA编辑器插入一个新模块,粘贴下面的代码:Sub RemoveFromStartToErase()

Dim cell As Range

Dim erasePosition As Integer

'遍历选中的所有单元格

For Each cell In Selection

'找到"Erase"的位置

erasePosition = InStr(cell.Value, "Erase")

If erasePosition > 0 Then

'提取"Erase"之后的内容(+5是"Erase"的长度,+1是跳过后面的空格)

cell.Value = Mid(cell.Value, erasePosition + 5 + 1)

End If

Next cell

End Sub

返回Excel,选中需要处理的单元格,按下F5运行这个宏,就能自动删除从开头到"Erase"的内容,保留后面的部分。小提示 #如果你的内容里"Erase"出现多次,或者大小写不固定,可以在代码里先把文本转成统一大小写再匹配,比如把InStr(cell.Value, "Erase")改成InStr(UCase(cell.Value), "ERASE")。要是你需要删除的是固定的一段文本(比如示例里的Trash Recycle Delete Erase ),直接用SUBSTITUTE函数更简单:=SUBSTITUTE(A1, "Trash Recycle Delete Erase ", "")内容的提问来源于stack exchange,提问作者Link