ОБНОВЛЕНИЕ группирования имен, разделенных амперсандом в Excel - PullRequest
0 голосов
/ 05 ноября 2010

По сути, я пытаюсь сделать следующее: у меня есть формула 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 к вышеуказанной ячейке и, следовательно, вызывает ошибку VALUE, потому что последующее утверждение true не учитывает вышеуказанную ячейку. Он учитывает только ячейки с двумя запятыми и двумя амперсандами. У меня уже есть другое условие ISNUMBER для указанной выше ячейки, как вы можете видеть в моей первоначальной формуле.

Есть ли способ исправить мое состояние ISNUMBER, чтобы на первом уровне выполнения проверять наличие двух запятых и двух амперсандов в ячейке?

Спасибо за ответ.

1 Ответ

2 голосов
/ 08 ноября 2010

Я не знаю, смогу ли я увидеть, что там с вашим кодом, но пробовали ли вы другой подход к подсчету числа амперсандов и запятых?

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

Это кажется немного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...