Em nosso último artigo vimos como podemos utilizar a função SE para resolver problemas em que precisamos fazer um teste lógico de uma maneira bem eficiente. Uma coisa que é muito frequente nos problemas reais que enfrentamos é a necessidade de testarmos mais de uma condição ao mesmo tempo.
Podemos fazer isso de várias formas – algumas mais fáceis e outras mais difíceis – mas atingindo o mesmo resultado. Neste artigo, vamos cobrir a forma que, de maneira geral é a mais “elegante” para este problema por que deixa nossa fórmula de fácil leitura e manutenção.
Bora falar um pouco das funções E (AND) e OU (OR).
Operadores Lógicos
Pera pera pera. Sei que você está ansioso para ver as duas funções novas, mas antes disso é importante cobrirmos um certo terreno sobre algo muito importante na hora de usarmos funções de teor lógico – que são os operadores lógicos.
Como vimos no artigo anterior, dentro da função SE o primeiro argumento é a condição lógica que devemos passar como parâmetro para realizar o teste. O operador lógico é justamente o que vai ditar como essa comparação vai ser feita é vai ser muito importante na construção das nossas lógicas.
Os principais operadores lógicos são:
- igual (=);
- maior que (>);
- menor que (<);
- maior ou igual (> =);
- menor ou igual (<=).
Importante ressaltar que as comparações “maior” e “menor” são válidas apenas para números. Para textos (ou strings) utilizamos o “=”.
Agora é pra valer, bora ver essas funções.
Função E (AND) e como utilizá-la
Quando resolvemos um problema com mais de uma condição lógica, é importante termos bem definido se na nossa regra, será necessário o teste atender AMBAS as condições lógicas ou apenas UMA das condições lógicas.
Voltando ao nosso exemplo do artigo anterior, voltaremos a calçar os sapatos de professor, entretanto com uma complexidade a mais para aprovar os alunos. Normalmente, além do critério de notas, as escolas e faculdades costumam também incluir o critério de presença / faltas para definir se um aluno foi aprovado ou reprovado. Por isso, eu incluí a coluna %_Presença na nossa base de dados:
Nossa missão agora é: caso o aluno avaliado tenha a nota maior que 5 E presença maior ou igual a 75% ele será aprovado.
Note que ao descrever o problema, eu já entendi que para resolvê-lo os DOIS testes lógicos precisam retornar como verdadeiros. E é aí que entra a função E(AND)
A função E é escrita com a seguinte sintaxe:
E(lógico1;[lógico2])
Traduzindo: mais de um teste lógico e retorna o resultado verdadeiro caso as duas condições sejam atendidas e falso caso contrário.
Note que sozinha na verdade ela não parece ser muito útil. Mas combinando com a função SE ela é exatamente o que precisamos. Aplicando esses conceitos, ao colocar a fórmula abaixo na coluna D da nossa tabela:
=SE(E(B2>5;C2>=75%);"APROVADO";"REPROVADO")
Teremos o resultado esperado:
Função OU (OR) e como utilizá-la
Uma outra situação que podemos nos deparar em problemas reais é a necessidade de validar se UMA das condições do teste lógico é verdadeira. Para isso, temos a função OU (OR).
A sintaxe dela é exatamente igual à E (OR):
E(lógico1;[lógico2])
Vamos utilizar o mesmo exemplo, mas agora ao invés do aluno precisar ter nota e presença, será considerado como aprovado caso ele atenda qualquer um dos dois critérios. Com isso, ao colocarmos a fórmula abaixo na coluna D:
=SE(OU(B2>5;C2>=75%);"APROVADO";"REPROVADO")
Teremos o resultado esperado:
Conclusão
Com isso cobrimos os fundamentos mais importantes para vocês lógicas e você já está pronto para sair resolvendo problemas por aí. Nossos próximos tópicos serão funções de agregação utilizando condições lógicas: SOMASE / SOMASES e COUNTSE / COUNT SES!
Um abraço e até a próxima!
Lucas H. de Souza
Deixe um comentário