在某些其他字符Excel之后提取字符

时间:2014-02-10 10:10:12

标签: excel

我有一个看起来或多或少像这样的单元格列表:

  • ARB:d.p.1-4-12
  • ANT:d.p.1-12-1
  • d:d.p.1-1-1
  • ONN:d.p.4-2-12

我正在试图弄清楚如何从这些字符串中提取某些关键元素。 如果我们以第一个条目为例,这就是我想要提取并在另一个单元格中显示的内容:

ARB d 1

我希望“:”之前的所有字符,然后是“:”之后的第一个字符和第一个数字(或第一个“ - ”之前的一个字符)。

我玩过TRIM,LEFT / RIGHT和FIND - 但是无法弄清楚如何在某个角色之后/之前只获得一个角色。这是我尝试过的,但不知道如何将输出限制为只有一个字符:

TRIM(LEFT(E5;FIND(":";E5)-1))

提前感谢任何指示或提示: - )

更新,让它运转起来:

我最终使用了这个代码,这个代码在jiggle的建议之后被调整了。

=TRIM(LEFT(E2;FIND(":";E2)-1)) & RIGHT(MID(E2;FIND(":";E2);2);1) & RIGHT(MID(E2;FIND("p.";E2);3);1)

这给了我以下输出: ARBd1

现在我只需添加一些分隔符即可。感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

找到第一部分:=LEFT(E5,FIND(":",E5)-1)

找到第二部分:=MID(E5,FIND(":",E5)+1,1)

= MID(Text,Start_num,Num_chars)

所以我们在":"之后的角色开始,向FIND添加1

并在结尾处取1个字符

找到最后一部分:=MID(E5,FIND("-",E5)-1,1)

对第二部分做类似的事情,但现在从" - "之前的角色开始通过从我们找到它的地方减去1,并再次只取一个字符

要将它们组合在一起,只需使用连接字符"&"和空间:

=LEFT(E5,FIND(":",E5)-1)&" "&MID(E5,FIND(":",E5)+1,1) & " " & MID(E5,FIND("-",E5)-1,1)

编辑以半冒号(针对不同文化)替换逗号:

=LEFT(E5;FIND(":";E5)-1)&" "&MID(E5;FIND(":";E5)+1;1) & " " & MID(E5;FIND("-";E5)-1;1)