0

基本上,我想做的是我有这个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

它将这视为 true,并将后续的 true 语句应用于上述单元格,因此会导致 VALUE 错误,因为后续的 true 语句不考虑上面的单元格。它只考虑带有两个逗号和两个 & 符号的单元格。正如您在我的初始公式中看到的那样,我已经为上面的单元格设置了另一个 ISNUMBER 条件。

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

感谢您的回复。

4

1 回答 1

2

我不知道我是否可以看到您的代码有什么问题,但是您是否尝试过不同的方法来计算&符号和逗号的数量?

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

这似乎有点简单。

于 2010-11-08T05:19:17.110 回答