По сути, я пытаюсь сделать следующее: у меня есть формула 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, чтобы на первом уровне выполнения проверять наличие двух запятых и двух амперсандов в ячейке?
Спасибо за ответ.