Usar E com OU para testar uma combinação de condições

Quando você precisar encontrar dados que atendam a mais de uma condição, como unidades vendidas entre abril e janeiro ou unidades vendidas por Luciana, você pode usar as funções E e OU juntas. Um exemplo:

Usando E e OU na mesma função

Essa fórmula aninha a função AND dentro da função OR para procurar unidades vendidas entre 1º de abril de 2011 e 1º de janeiro de 2012 ou quaisquer unidades vendidas pela Nancy. Perceba que ela retorna Verdadeiro para unidades vendidas por Luciana e também para unidades vendidas por Paulo e Rui durante as datas especificadas na fórmula.

Aqui está a fórmula em um formulário que você pode copiar e colar. Se você quiser brincar com ela em uma pasta de trabalho de exemplo, confira o final deste artigo.

=OR(AND(C2>DATE(2011,4,30),C2<DATE(2012,1,1)),B2="Nancy")

Vamos examinar a fórmula um pouco mais a fundo. A função OR requer um conjunto de argumentos (partes de dados) que ele pode testar para ver se eles são verdadeiros ou falsos. Nesta fórmula, o primeiro argumento é a função AND e a função DATE aninhada dentro dela, a segunda é "Nancy". Você pode ler a fórmula desta forma: teste para ver se uma venda foi feita após 30 de abril de 2011 e antes de 1º de janeiro de 2012, ou se foi feita por Nancy.

A função AND também retorna True ou False. Na maioria das vezes, você usa E para estender a capacidade de outra função, como OU e SE. Nesse exemplo, a função OU não encontraria as datas corretas sem a função E.

Usar E e OU com SE

Você também pode usar E e OU com a função SE.

A função E e OU aninhada em uma função SE

Neste exemplo, as pessoas não ganham bônus até venderem pelo menos US$ 125.000 em mercadorias, a menos que trabalhem na região sul, onde o mercado é menor. Nesse caso, o bônus é oferecido a partir de R$ 100.000,00 em vendas.

=IF(OR(C4>=125000,AND(B4="Sul", C4>=100000))=TRUE,C4*0,12"Sem bônus")

Vamos examinar a fórmula um pouco mais a fundo. A função IF requer três partes de dados (argumentos) para ser executada corretamente. O primeiro é um teste lógico, o segundo é o valor que você quer ver se o teste retornar Verdadeiro e o terceiro é o valor que você quer ver se o teste retornar Falso. Nesse exemplo, a função OU, juntamente com todo o conteúdo aninhado nela, fornece o teste lógico. Você pode lê-lo como: procure valores maiores ou iguais a 125.000, a menos que o valor na coluna C seja "Sul", procure um valor maior que 100.000 e sempre que ambas as condições forem verdadeiras, multiplique o valor em 0,12, o valor da comissão. Caso contrário, exibir as palavras "Sem bônus".

Início da Página

Dados de exemplo

Se você quiser trabalhar com os exemplos neste artigo, copie a tabela a seguir na célula A1 em sua própria planilha. Selecione toda a tabela, incluindo a linha de título.

Vendedor Região Vendas Fórmula/resultado
Sousa Leste 87925 =IF(OR(C2>=125000,AND(B2="Sul", C2>=100000))=TRUE,C2*0,12"Sem bônus")
Giorgi Norte 100000 =IF(OR(C3>=125000,AND(B3="Sul", C3>=100000))=TRUE,C3*0,12"Sem bônus")
Girbal Oeste 145000 =IF(OR(C4>=125000,AND(B4="Sul", C4>=100000))=TRUE,C4*0,12"Sem bônus")
Lacerda Sul 200750 =IF(OR(C5>=125000,AND(B5="Sul", C5>=100000))=TRUE,C5*0,12"Sem bônus")
Oliveira Sul 178650 =IF(OR(C6>=125000,AND(B6="Sul", C6>=100000))=TRUE,C6*0,12"Sem bônus")
Thomas Norte 99555 =IF(OR(C7>=125000,AND(B7="Sul", C7>=100000))=TRUE,C7*0,12"Sem bônus")
Keever Leste 147000 =IF(OR(C8>=125000,AND(B8="Sul", C8>=100000))=TRUE,C8*0,12"Sem bônus")
Cassazza Norte 213450 =IF(OR(C9>=125000,AND(B9="Sul", C9>=100000))=TRUE,C9*0,12"Sem bônus")
Brownlee Sul 122680 =IF(OR(C10>=125000,AND(B10="Sul", C10>=100000))=TRUE,C10*0,12"Sem bônus")
Smithberg Oeste 92500 =IF(OR(C11>=125000,AND(B11="Sul", C11>=100000))=TRUE,C11*0,12"Sem bônus")
Benson Leste 88350 =IF(OR(C12>=125000,AND(B12="Sul", C12>=100000))=TRUE,C12*0,12"Sem bônus")
Leitura Oeste 102500 =IF(OR(C13>=125000,AND(B13="Sul", C13>=100000))=TRUE,C13*0,12"Sem bônus")

Início da Página