2015-12-29 81 views
-1

我在Excel中遇到问题。在单元格中提取特定或多个单词值

我只想

SCV110FIDR357 ---------------------> SCV110F ID

SCV110FF5IDR321X --------- ----------> SCV110FF 5ID

SCV110F5IDR321X -------------------------> SCV110F 5ID

+1

使用VBA.Get开始的东西,然后回来编辑你的问题,显示你的努力,如果你遇到了麻烦。 – Jeeped

回答

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)) 
+0

感谢编辑@Jeeped。你回答时,我仍然打字:p![结果](http://fivebs.net/fiddle/jeeped.PNG) –

+0

fwiw,我发现最好添加一个简短的注释,说明像** [NUMBERVALUE功能](https://support.office.com/en-us/article/NUMBERVALUE-function-1B05C8CF-2BFA-4437-AF70-596C7EA7D879)是随Excel 2013推出的,它在早期版本中不可用。*毕竟,OP确实指定了[excel-2007]。 – Jeeped

+0

我错过了它是[excel-2007]:o –

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但更多的样本数据来完成与预期的结果一起,你所提供的模式将是必要的数据在尝试代码之前。

limited samples

+0

谢谢你,先生,它工作正常 –

相关问题