Preciso de uma coluna auxiliar ou posso fazer isso com uma fórmula?

0

Estou usando essa fórmula

=IF((LEFT($B26,2)="<p"),0,IF($B26="",0,IF($F26<>"",0,(FIND("""../",$B26)))))

Para analisar dados semelhantes aos seguintes.

<nobr>&nbsp;&nbsp;&nbsp;&nbsp;contractor information</nobr><br> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../City_Electrical_Inspectors.htm"><b> City Electrical Inspectors</b></a><br>
<nobr>&nbsp;&nbsp;&nbsp;&nbsp;<a href="../City_Electrical_Inspectors.htm"><b>inspection</b></a></nobr><br>

Meu problema ocorre em casos como a primeira linha, em que a linha não é um novo parágrafo nem um link, e meu FIND retorna um erro de #VALUE!

Id gostaria de criar um teste IF para verificar a linha quanto à existência do padrão na declaração FIND antes de processar essa instrução. Eu percebi que procurar por uma condição de erro pode ser o caminho a percorrer. No entanto, a única maneira de visualizá-lo é como uma fórmula auto-referencial, semelhante ao seguinte pseudocódigo.

IF (ISERROR ($ L26) = TRUE, $ L26 = 0, L $ 26 = o resultado da fórmula acima)

Isso pode ser feito com uma fórmula ou eu preciso usar uma nova coluna auxiliar?

Obrigado.

    
por dwwilson66 18.06.2012 / 15:56

1 resposta

2

Se você estiver usando o Excel 2007 ou mais recente, poderá agrupar a função FIND() em uma função IFERROR() .

=IF((LEFT($B26,2)="<p"),0,IF($B26="",0,IF($F26<>"",0,IFERROR(FIND("""../",$B26),0))))

Para versões mais antigas do Excel que não suportam IFERROR() , você pode usar a seguinte solução mais longa.

=IF((LEFT($B26,2)="<p"),0,IF($B26="",0,IF($F26<>"",0,IF(ISERROR(FIND("""../",$B26)),0,FIND("""../",$B26))))
    
por 18.06.2012 / 16:18