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

Excel 在某些其他字符之后提取字符,excel,Excel,我有一个大致如下的单元格列表: 仲裁委员会:d.p.1-4-12 蚂蚁:d.p.1-12-1 D:D.p.1-1-1 ONN:d.p.4-2-12 我试图找出如何从这些字符串中提取某些关键元素。 如果我们以第一个条目为例,这就是我要提取并显示在另一个单元格中的内容: ARB d 1 我希望所有字符都在“:”之前,然后是“:”之后的第一个字符和第一个数字(或第一个“-”之前的一个字符) 我玩过TRIM、LEFT/RIGHT和FIND,但不知道如何在某个角色之后/之前只获得一个角色。这是我尝试

我有一个大致如下的单元格列表:

  • 仲裁委员会:d.p.1-4-12
  • 蚂蚁: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


现在我只需要添加一些分隔符,我就可以开始了。谢谢你的帮助。

找到第一部分:
=左(E5,Find(“:”,E5)-1)

查找第二部分:
=MID(E5,Find(“:”,E5)+1,1)

=MID(文本、起始字符、字符数)

这里我们从“:”后面的字符开始,在FIND中添加1

最后取1个字符

查找最后一部分:
=MID(E5,Find(“-”,E5)-1,1)

做了与第二部分类似的事情,但现在从“-”之前的字符开始,从我们找到它的地方减去1,然后再次只取1个字符

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

=左(E5,FIND(“:”,E5)-1)和中(E5,FIND(“:”,E5)+1,1)和中(E5,FIND(“-”,E5)-1,1)

编辑以用分号替换逗号(适用于不同的区域性):


MID
函数应该对您有所帮助:这是正则表达式作为搜索工具的典型应用。不过,不知道电子表格应用程序是否支持它们。可能有分机。嗨,这不起作用。第一部分没问题,第二部分和第三部分给出了错误“您为此函数输入的参数太少”。所以我把那个部分改成:=MID(E5;FIND(“:”E5);2)。。。。这给了我“:d”,这是可以的,但并不理想。有什么想法吗?嗯,很抱歉,在英国excel设置下对我来说很好,看起来你的需要分号而不是逗号。试试这个=MID(E5;FIND(“:”E5)+1;1)我自己修复了它,通过调整您帮助我解决的代码!:-)最后我使用了这个:=TRIM(LEFT(E2;FIND(“:”E2)-1))和RIGHT(MID(E2;FIND(“:”E2);2);1)和RIGHT(MID(E2;FIND(“p.”E2);3);1)。这是很多excel代码:谢谢你,伙计!伟大的欢迎使用Simen-虽然您不需要这样做,因为您使用MID获取2个字符,然后使用RIGHT获取第二个字符,因此如果您将RIGHT(MID(E2;FIND(“:”E2);2);1)更改为MID(E2;FIND(“:”E2)+1;1),您将得到相同的结果-在“FIND(“:”E2)+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)