Como usar fórmula diferente em caso de erro en?

0

Eu quero executar as seguintes fórmulas em uma célula, nesta ordem, caso a fórmula anterior retorne um erro.

=MID(P2,SEARCH("q=",P2)+2,SEARCH("&",P2)-SEARCH("q=",P2)-2)

=MID(P2,SEARCH("p=",P2)+2,SEARCH("&",P2)-SEARCH("p=",P2)-2)

=RIGHT(P2,LEN(P2)-FIND("q=",P2)-1)

=RIGHT(P2,LEN(P2)-FIND("p=",P2)-1)

Como posso definir isso?

    
por rockyraw 28.09.2014 / 16:04

2 respostas

1

Eu consegui fazer isso com vários IFERROR dentro de um IFERORR:

=IFERROR(MID(R167,SEARCH("q=",R167)+2,SEARCH("&",R167)-SEARCH("q=",R167)-2),IFE‌​RROR(MID(R167,SEARCH("p=",R167)+2,SEARCH("&",R167)-SEARCH("p=",R167)-2),IFERROR(R‌​IGHT(R167,LEN(R167)-FIND("q=",R167)-1),IFERROR(RIGHT(R167,LEN(R167)-FIND("p=",R16‌​7)-1),zzzzzz))))

    
por 28.09.2014 / 20:13
0

Usar a fórmula IFERROR() é uma boa opção. No entanto, você deve evitar usar uma fórmula enorme, é uma prática ruim e, se a sua fórmula for reproduzida, ela será muito grande para ser depurada. Eu optaria por isso em quatro colunas separadas

A2

=IFERROR(MID(P2,SEARCH("q=",P2)+2,SEARCH("&",P2)-SEARCH("q=",P2)-2),0)

B2

=IF(A2=0,0,MID(P2,SEARCH("p=",P2)+2,SEARCH("&",P2)-SEARCH("p=",P2)-2))

C2

=IF(B2=0,0,RIGHT(P2,LEN(P2)-FIND("q=",P2)-1),0)

D2

=IF(C2=0,0,RIGHT(P2,LEN(P2)-FIND("p=",P2)-1),0)

E, finalmente, um simples SUM será suficiente

E2

=SUM(A2:D2)

Você pode ocultar / agrupar as colunas A para D , mas dessa forma você pode ver como a resposta

    
por 29.09.2014 / 13:24