我在excel中遇到了问题。
我想要
SCV110FIDR357 ---------------------> SCV110F ID
SCV110FF5IDR321X -------------------> SCV110FF 5ID
SCV110F5IDR321X -------------------------> SCV110F 5ID
答案 0 :(得分:1)
如果您的示例位于A1,A2和A3中,则为B1类型:
=LEFT(A1,SEARCH("ID",A1)+IF(IFERROR(NUMBERVALUE(MID(A1,SEARCH("ID",A1)-1,1)),-1)<0,-1,-2))&" "&MID(A1,SEARCH("ID",A1)+IF(IFERROR(NUMBERVALUE(MID(A1,SEARCH("ID",A1)-1,1)),-1)<0,0,-1),+IF(IFERROR(NUMBERVALUE(MID(A1,SEARCH("ID",A1)-1,1)),-1)<0,2,3))
答案 1 :(得分:0)
对于有限的样本数据,此公式可能会这样做。
=IF(ISNUMBER(--MID(A2, FIND("ID", A2)-1, 1)), LEFT(A2, FIND("ID", A2)-2)&" "&MID(A2, FIND("ID", A2)-1, 1)&"ID", LEFT(A2, FIND("ID", A2)-1)&" ID")
除了添加IFERROR function以涵盖不符合您提供的模式的数据之外,任何更复杂的事情都应该使用VBA UDF 来完成,但更多样本数据可以与在尝试代码之前,必须有预期的结果。