Resumindo, se alguém quisesse fazer uma troca IF
a) se A < 0,5 ... B = 10.
b) se A >= 0,5 ... B = 15.
c) se A > 1,0 ... B = 20.
Como alguém faria isso?
Responder1
Isso funcionará como uma função SWITCH: -
=CHOOSE(IF(A1<0.5,1,IF(AND(A1>=0.5,A1<=1),2,3)),10,15,20)
Mas isso é feito internamente nested IF.
A melhor maneira de usar o interruptor de 3 vias é a seguinte: -
=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,20))
Responder2
Você pode aninhar expressões “if” assim:
=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,IF(A1>1,20,"Something else")))
(Eu adicionei A1<=1 caso contrário, porque A>1.0 implica A também >= 0,5)
Responder3
Essa é a maneira mais fácil de fazer isso.
Um método mais flexível de cálculo é explorar o uso de True=1 no Excel. Supondo que o valor esteja em A1:
=((A1<0.5)*10)+((A1>=0.5)*15)+((A1>1)*20)
Isso permitirá que você adicione qualquer número de condições e o tirará dos IFs aninhados.
Isso funciona porque em cada agrupamento a avaliação é uma função lógica que retorna True ou False, ou seja, (A1<0.5)
retornará True
se A1
for menor que 0.5
. O Excel usa o valor 1 quando True é usado em uma função aritmética.
O exemplo acima que coloquei não está exatamente correto, alguns números irão gerar True para dois grupos diferentes. O grupo do meio precisaria de uma AND()
função para limitar como:
AND(A1>=0.5,A1<=1)
Responder4
A solução mais curta deve ser:
=IF(A1<0.5,10,IF(A1<=1,15,20))
Devido à primeira parte, o AND na segunda parte é desnecessário.