我有一个项目列表,样本如下:
(CompanyName){space}(PartNumber ending with -){space}(Revision Level).pdf
Company 100-50006- Rev. A.pdf
Company Two 6001241- Rev. CN.pdf
CompanyThree 109581- Rev. B.pdf
我的目标是使用Excel获取三条独特的信息:Company Name, Part Number, Revision
。
修订很容易捕获。我试图找到一种方法来捕获公司(从任何数值的第一次出现中分离出来)。我也试图找到一种方法来捕获整个零件号。
我可以使用什么函数来定位第一个数字字符,并执行LEFT(A2,LEN(FUNCTION HERE)-1)
,其中-1是由间距引起的?
同样,我想做点什么来找MID(A2,LEN(FUNCTIONHERE TO FIND BEGINNING NUMERIC), LEN(FUNCTIONHERE TO FIND SPACE OR "REV" AND SEGREGATE AFTER SUCH)
。
答案 0 :(得分:0)
好的,我不知道公司名称中是否有更多空格,但对于您提供的样本,以下公式可以运作:
=IF(ISERROR(FIND("-",LEFT(A2,FIND(" ",A2,9)))),LEFT(A2,FIND(" ",A2,9)),LEFT(A2,FIND(" ",A2,8)))
=IF(ISERROR(FIND("-",LEFT(A2,FIND(" ",A2,9)))),MID(A2,FIND(" ",A2,9)+1,FIND(" Rev.",A2)-FIND(" ",A2,9)-1),MID(A2,FIND(" ",A2,8)+1,FIND(" Rev.",A2)-FIND(" ",A2,8)-1))
虽然有点长^^;
它适用于Company Two
。由于T
是字符串中的第9个索引,因此默认公式将查找修订版内的下一个空格,并且还会获取-
,我在条件中使用该-
。如果有MID
,则表示公司名称中有一个空格,因此,重置第8个索引中的空间搜索。
+1
只是按照相同的原则运作,-1
和Company the first
删除多余的空格。
注意:如果公司名称中有两个以上的空格,则不起作用,例如: Companies Twenty
或在第9个字符后面有空格的名称,例如{{1}}。
答案 1 :(得分:0)
在Word(原始)正则表达式的帮助下,这可能会容易得多。加载到Word,全部替换使用通配符勾选:首先([0-9])使用^ t \ 1然后( - )使用\ 1 ^ t并加载回Excel。 (处理公司名称中空格数量的棘手问题)。