2015-12-29 139 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

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

相關問題