Como você cria uma fórmula de aninhamento condicional no Excel 2010 com mais de 3 condições?

1

Eu tenho "A, B, C e D." Eu preciso "se a > 0, use um, caso contrário, use b. Se b tem o erro" # N / A ", use c, caso contrário use b. Se c = 0, use d / 61, caso contrário use c. / p>

Até agora, tenho isto:

=IF(DB11>0,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))

Onde: DB11 = 0 (A), DA11 = # N / A (B), CZ11 = 138 (C) e BE11 = 6000 (D)

    
por TREVOR 26.05.2015 / 21:47

1 resposta

1

Acho que reformular suas condições pode ajudar você a ver onde você errou. Pense desta maneira:

If 'a>0', then 'a'. Otherwise, check if 'b=#N/A'.
  If 'b=#N/A', then check if 'c=0'. Otherwise, 'b'.
    If 'c=0', then 'd/61'. Otherwise, 'c'.

Observe a diferença entre a primeira linha e o que você descreveu. Você pulou direto para "usar b " e, em seguida, verificou que b conheceu uma condição depois que você já disse usá-la. Isso não funcionará em uma instrução condicional aninhada. Se você concluir algo, então está feito; nenhuma outra condição é verificada.

Para ilustrar isso, considere o caso em que a=0 , b=#N/A , c=0 e d=61 . Você espera que isso resulte em 1 . Avaliar sua fórmula seria o seguinte:

=IF(0>0,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))
=IF(FALSE,DB11,IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11)))
=IF(ISNA(DA11),CZ11,IF(CZ11=0,BE11/61,CZ11))
=IF(ISNA(#N/A),CZ11,IF(CZ11=0,BE11/61,CZ11))
=IF(TRUE,CZ11,IF(CZ11=0,BE11/61,CZ11))
=CZ11
=0

Como a verificação da condição em b termina com c , a condição em c nunca é verificada. Esta é a fonte do seu erro.

Veja como sua fórmula deve ser construída.

=IF(DB11>0,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))

Para ilustrar como isso funciona, veja o mesmo caso de exemplo acima.

=IF(0>0,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))
=IF(FALSE,DB11,IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11))
=IF(ISNA(DA11),IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(ISNA(#N/A),IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(TRUE,IF(CZ11=0,BE11/61,CZ11),DA11)
=IF(CZ11=0,BE11/61,CZ11)
=IF(0=0,BE11/61,CZ11)
=IF(TRUE,BE11/61,CZ11)
=BE11/61
=61/61
=1
    
por 26.05.2015 / 23:03