假设以下是 Excel 中单个单元格的数据:
Name: Dina Anderson
Age: 34
Employment ID: A166X
Position: Clerk
Location: Genewood
我该如何删除其中的一个字符串,例如 Employment ID?我尝试使用通配符,*
但它会删除该特定字符串之外的所有内容。我也试过了,?
但如果字符串的长度可以变化,我该如何让它工作?
编辑:只是为了澄清我想在公式中做到这一点。
答案1
假设您想通过公式来完成此操作,请尝试以下公式:
=REPLACE(B3,FIND("就业 ID",B3),FIND("职位",B3)-FIND("就业 ID",B3),"")
将 B3 替换为包含数据的单元格。
答案2
如果你有 Excel 2016+ 并且有该TEXTJOIN
功能,你可以使用这个大批公式。
lf
通过按字符分割单元格内容,创建有效的 XMLCHAR(10)
。使用
xPath
返回不包含Employment ID:
//s[not(contains(.,'Employment ID:'))]
lf
使用作为分隔符重新连接节点。您需要确保包含公式的单元格已
wordwrap
打开。
=TEXTJOIN(CHAR(10),TRUE,FILTERXML("<t><s>" & SUBSTITUTE(A1,CHAR(10),"</s><s>") & "</s></t>","//s[not(contains(.,'Employment ID:'))]"))
输入/确认数组公式,按住ctrl+shift并点击enter。如果你操作正确,Excel 会{...}
在公式栏中显示的公式周围放置括号。
如果您没有该TEXTJOIN
函数,您可以尝试这个公式,它定位Employment ID:
字符串和后续lf
字符,并用任何内容替换。
=REPLACE(A1,FIND("Employment ID:",A1),FIND(CHAR(10),A1,FIND("Employment ID:",A1))-FIND("Employment ID:",A1)+1,"")