在一个单元中写入几个string

我试图创build一个函数,在一个单元格中查找几个类别代码,然后在不同的单元格中为每个类别编写适当的类别pipe理器。 最后应该有一个由逗号分隔的string组成的集合,代表pipe理者的名字。 例如: :

Column Categories: 3AF,5CB,4DF,5GK Manager Names: Dieter, Max 

我的方法是:

 =IF(IFERROR(SEARCH("4DF";A1);0);"Dieter";IF(IFERROR(SEARCH("5GK";A1);0);"Max";"")) 

它工作正常(find两个名字),但它只写入find的第一个string(上面的Dieter ),并不显示稍后发现的经理名称(即不是Max )。 所以我正在寻找一个修改,使用两个名称填充新的单元格。

谁能帮我吗?

目前的公式可能会被解读为“如果真的这样做 ,否则如果不同的事情是真的做另一个 ”,所以结果只能是这个另一个 。 要在同一个单元格中实现这个另一个 ,只需要调整来连接两个结果。

CONCATENATE的最短路线是&但要借此机会在结果之间加上一个逗号和空格,用&", "

 =IF(IFERROR(SEARCH("4DF";A1);0),"Dieter")&", "&IF(IFERROR(SEARCH("5GK";A1);0);"Max";"") 

原则可以扩展到包括进一步的结果,比如说,如果列类别是3AFJulian经理,如下所示:

 =IF(IFERROR(SEARCH("4DF";A1);0);"Dieter")&", "&IF(IFERROR(SEARCH("5GK";A1);0);"Max";"")&"; "&IF(IFERROR(SEARCH("3AF";A1);0);"Julian";"") 

SEARCH 区分大小写,所以将4DF当作4DF 。 但是,无论是单字节还是双字节,SEARCH总是将每个字符计为1,而不pipe双字节字符的默认语言设置如何,在其他情况下, SEARCHB可能是更合适的select。

在上面虽然在string中的字符的位置(这是SEARCH想要返回的)是不相关的,因为这些公式发生只需要看看是否存在于string中的任何地方 。 如果不存在,则会触发一个错误( #VALUE! ),但是被IFERROR陷阱捕获并转换为0 。 因此,如果说Column Categories3AF,5CB,9ZZ,5GK则上面最长的公式将返回:

0,马克斯,朱利安