2015-10-13 149 views
-1

我有一组字符串:如何从Excel VBA中的文本中提取特定的字符串?

Building_Level_SpecificNumber Name 

B_01_16 Wachschutz 

和需要提取每一个部分。在这里,我需要= 16。下面是代码,我设法得到:

  1. 大厦:=IF(C10>0,LEFT(C10,FIND("_",C10)-1),0)

  2. 等级:=IF(C10>0,LEFT(MID(C10,FIND("_",C10)+1,256),FIND("_",MID(C10,FIND("_",C10)+1,256))-1),0)

  • 具体数量: - 尚未解决
  • 名称:=RIGHT(C10,LEN(C10)-SEARCH(" ",C10))
  • see question on attached image

    +0

    请参阅[这里](http://stackoverflow.com/questions/28582624/extracting-string-separately-from-excel),[这里](http://stackoverflow.com/a/19772389/680068)和[这里](http://stackoverflow.com/a/31615838/680068)。 – zx8754

    回答

    0

    如果该数量通常是两个数字可以使用这个简单的公式寻找第二个下划线:

    =MID(A1, SEARCH("_", A1, SEARCH("_", A1) + 1) + 1, 2) 
    

    否则,您需要查找第一个空格和第二个下划线之间的距离:

    =MID(A1, SEARCH("_", A1, SEARCH("_", A1) + 1) + 1, SEARCH(" ", A1) - SEARCH("_", A1, SEARCH("_", A1) + 1) - 1)