SE função com múltiplos critérios

0

Estou tentando usar uma função IF para retornar um "1" se VERDADEIRO e um "0" se FALSO.

Eu preciso da célula A1 ou B1 e C1 > 0 para que a declaração seja TRUE (return 1 ), senão FALSE (return 0 ).

Não consigo escrever a função corretamente.

    
por Becky 05.10.2015 / 19:51

3 respostas

1

uma maneira é o uso composto de e () e ou () dentro de uma instrução IF.

=IF(AND(OR(A1>0,B1>0),C1>0),1,0)

O ou () é evauluated primeiro, depois e () com o resultado, e o resultado disso é a base para a cláusula condition da instrução if ().

    
por 05.10.2015 / 19:59
1

Estou apenas desativando sua capitalização de "ou" e "AND" aqui, supondo que você queira dizer:

(A1 > 0 ou B1 > 0) E C1 > 0

=IF(AND(OR(A1>0,B1>0),C1>0),1,0)
    
por 05.10.2015 / 19:59
0

Sua pergunta

Sua pergunta é um caso especial porque a saída desejada é 1 ou 0 . Você não precisa realmente de uma instrução IF para fazer isso; O Excel trata valores verdadeiros e falsos como 1 e 0 . Você nem precisa de AND ou OR. É referido como lógica booleana.

Começarei com a solução publicada por Tyson e Panhandel (observe os comentários de EBGreen e TECHIE007 sobre a ordem das operações e ajuste a fórmula se sua intenção for diferente).

Se você remover a função IF, você verá:

=AND(OR(A1>0,B1>0),C1>0)

Se você usar isso em um cálculo, ele será tratado como 1 se verdadeiro ou 0 se falso. Nesse formulário, ele será exibido na célula como TRUE ou FALSE. Se você quiser que seja exibido como 1 ou 0 , use-o em um cálculo que não altere seu valor:

=AND(OR(A1>0,B1>0),C1>0)+0

Apenas por interesse

Então, como você elimina o AND e o OR? Cada comparação de componente é verdadeira ou falsa, então você pode tirar proveito da matemática básica usando zeros e uns. Se duas coisas devem ser verdadeiras (o caso AND), use:

1 * 1 = 1  (both true)
1 * 0 = 0  (one true, one false)
0 * 0 = 0  (both false)

Qualquer combinação diferente de duas resultará em 0.

A situação de OR pode ser expressa em sentido inverso.

A=true OR B=true 

é o mesmo que

NOT( A=false AND B=false ) 

Assim, você pode expressar OR como AND. Você cria o NOT usando 1 - result .

Assim, sua expressão pode estar no formato:

=(1-(A1<=0)*(B1<=0))*(C1>0)

Sem IFs, ANDs ou ORs.

    
por 06.10.2015 / 02:21