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