2010-11-05 53 views
0
分隔

基本上,我想要做的就是我有这个Excel公式:UPDATE分组名称用符号在Excel

=IF(ISNUMBER(FIND(",",A1,FIND(",",A1,FIND("&",A1,FIND("&",A1))))+1),TRIM(MID(A1,FIND("&",A1,1)+1,FIND("&",A1,FIND("&",A1,1)+1)-FIND("&",A1,1)-1)),IF(ISNUMBER(FIND(",",A1,FIND(",",A1)+1)),TRIM(MID(A1,FIND("&",A1)+1,FIND("&",A1)-3)),IF(ISNUMBER(FIND("&",A1,FIND("&",A1)+1)),CONCATENATE(LEFT(A1,FIND(",",A1)-1),",",TRIM(MID(A1,FIND("&",A1,1)+1,FIND("&",A1,FIND("&",A1,1)+1)-FIND("&",A1,1)-1))),IF(ISNUMBER(FIND("&", A1)),SUBSTITUTE(A1,MID(A1,FIND(",", A1)+1,FIND(" &", A1)-FIND(",", A1)+2), ""),A1)))) 

如果你注意到,这部分内容:

=IF(ISNUMBER(FIND(",",A1,FIND(",",A1,FIND("&",A1,FIND("&",A1))))+1) 

我试图说,如果单元格包含两个逗号和两个&号,然后做一些事情。否则,我指定它做其他事情。不幸的是,这种情况并不像预期的那样。虽然我有两个逗号,并只有一个符号细胞:

CORNWALL,A ROBERT & CORNWALL,ANNA 

它会将其视为真实的,并且适用随后的真实陈述的上述细胞,并因此引起的值错误,因为后续的真实陈述不占上面的单元格。它只占用带两个逗号和两个&号的单元格。对于上面的单元格,我已经有了另一个ISNUMBER条件,正如您在我的初始公式中所见。

有没有办法解决我的ISNUMBER条件,所以在第一级执行,它会检查单元格中的两个逗号和两个&符号?

感谢您的回复。

回答

2

我不知道我是否能看到你的代码出了什么问题,但是你有没有试过用不同的方法来计算&号和逗号的数量?

=IF(AND(LEN(A1)-LEN(SUBSTITUTE(A1,"&",""))=2,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))=2),TRUECOND,FALSECOND) 

这只是似乎有点简单。