Extraindo substring delimitada no Excel

0

Comecei com esta questão , mas ela não atende às minhas necessidades . Eu tenho uma série de nomes de arquivos em uma planilha. Alguns dos nomes de arquivos possuem referências cruzadas entre colchetes. Considere Foul language [see Angry Customer] . Precisamos criar uma lista de apenas as referências cruzadas, portanto, o que preciso fazer é criar uma instrução que pesquise um campo para "[" ou "]" . Se nenhum deles estiver presente, defina o campo como "" . Se ambos estiverem presentes, extraia a substring começando com "[" e terminando com "]" . Por enquanto, não estou preocupado com casos em que há uma ocorrência de apenas um colchete.

Aqui é onde eu estou até agora. A instrução a seguir funciona muito bem e retorna [x-ref value] onde deveria, mas instâncias em que não há ocorrências de colchetes são padronizadas como #VALUE! . Eu gostaria que eles padrão para nulo ou um único espaço. Isso é possível, já que MID está esperando dois parâmetros numéricos em vez de null \ space? Eu estava pensando que o erro escaparia dos cálculos de MID e preencheria a célula com "" ANTES de chegarmos ao start-position .

=MID(F11,(IFERROR((FIND("[",F11))," ")),(IFERROR(((FIND("]",F11))-((FIND("[",F11))-1))," ")))

Dicas?

    
por dwwilson66 13.02.2013 / 15:04

1 resposta

3

Você está muito perto da solução, isso deve ser feito:

=IFERROR(MID(A1,SEARCH("[",A1)+1,SEARCH("]",A1)-SEARCH("[",A1)-1),"")
    
por 13.02.2013 / 15:08