我有Excel表格,其中包含类似于
的数据 地址
XYZ,ABC,口腔白斑
OPN,OPK,PRT
我们-YLJ,TYF,uyfas
oiui,ytfy,tydry - 我们也在bla,bla,bla中工作
ytfyt,tyfyt,ghfyt
i-hgsd,gsdf-hgd,sdgh, - 我们也在xxx,yy,zzz工作
ytsfgh,gfasdg,tydsfyt
我想删除字符“ - ”旁边的所有子字符串,只要它位于最后一个位置。
结果应该像
XYZ,ABC,OLK
OPN,OPK,PRT
我们-YLJ,TYF,uyfas
oiui,ytfy,tydry
ytfyt,tyfyt,ghfyt i-hgsd,gsdf-hgd,sdgh
ytsfgh,gfasdg,tydsfyt
我尝试使用=替换函数但无法替换数据,因为与“ - ”分隔的最后一个子字符串不相似。
答案 0 :(得分:1)
根据您的规格,我会使用两列,因此它不是一个很长的公式:
在B1:
=IFERROR(FIND(CHAR(1),SUBSTITUTE(A1,"-",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))-1,LEN(A1))
这将获取最后-
或全文长度的位置。
然后在C1:
=LEFT(A1,IF(FIND(",",A1)<B1,B1,LEN(A1)))
检查上一个,
之前是否有-
。如果没有,
,则会收到全文。
- We
之后的所有内容,那么我会使用它:
=TRIM(LEFT(A1,IFERROR(FIND("- We",A1)-2,LEN(A1))))