Funções Lógicas Condicionais
Ao longo do curso já utilizamos a função SE (IF). Que é usada para comparar informações e no caso da operação resultar verdadeiro executamos uma ação, caso falso executamos outra função. Vamos ver agora, quais são as diferenças para as novas funções IFS() e SWITCH() que veremos nessa seção.
E em que diferem estas funções? – Na prática, os seus argumentos são similares. No entanto, a sintaxe é diferente e vai simplificado de função para função. Então, e qual será a mais eficiente? Em primeiro lugar, qual é a utilidade destas três funções?
Em termos práticos, a clássica função SE() analisa condição a condição. Sendo que, quando esta é verdadeira, devolve um certo valor, quando é falsa devolve outro. Para além disso, quando analisamos várias condições, é necessário encadear vários SE(). Algo que pode tornar a expressão extensa e complexa.
Para contornar este caso, e torná-lo mais simples, surgiram duas novas funções IFS(), que avalia uma ou várias condições, possibilitando passar para a próxima condição, quando o resultado não é válido e SWITCH(), onde cada expressão corresponde a um valor, devolvendo um certo resultado e, quando este não corresponde, passa ao próximo. Aqui trabalhamos com um valor pré-definido quando a condição não se verifica.
Então, a pergunta que devemos fazer é, qual será a forma mais simples e curta de resolver a nossa necessidade? Isso é o que deverá nortear a escolha entre estas funções, vamos agora a elas.
Funções
A função SE() é expressa da seguinte forma: SE(expressao_logica; valor_se_verdadeiro; valor_se_falso). Que retorna um valor se uma expressão lógica for verdadeira e outro se for falsa. Verifique se valor_se_verdadeiro e valor_se_falso foram fornecidos para a função na ordem correta. Essa é a origem de problemas mais comum com SE. Sendo que:
expressao_logica: uma expressão ou referência a uma célula que contém uma expressão que representa um valor lógico (ou seja, VERDADEIRO ou FALSO).
valor_se_verdadeiro: o valor que a função retorna se expressao_logica for VERDADEIRO.
valor_se_falso: [OPCIONAL, em branco por padrão] o valor que a função retorna se expressao_logica for FALSO.
Vejamos no vídeo abaixo alguns exemplos de uso do SE:
A função IFS() é expressa da seguinte forma: IFS(condição1, valor1, [condição2, valor2], …). Que avalia várias condições e retorna um valor correspondente à primeira condição verdadeira. Se todas as condições forem FALSO, #NÃO.DISP será retornado. Sendo que:
condição: a primeira condição a ser avaliada. Pode ser um booliano, um número, uma matriz ou uma referência a qualquer um desses itens.
valor1: o valor retornado se condição1 for TRUE.
condicao2, valor2, …: condições e valores adicionais se a primeira condição avaliada for falsa.
Vejamos no vídeo abaixo alguns exemplos de uso do IFS:
A função SWITCH() é expressa da seguinte forma: SWITCH(expressão; caso1; valor1; [caso2; valor2; …]; [padrão]). Que compara uma expressão com uma lista de casos e retorna o valor do primeiro caso correspondente, com um valor padrão opcional caso não existam correspondências. Sendo que:
condição: a primeira condição a ser avaliada. Pode ser um booliano, um número, uma matriz ou uma referência a qualquer um desses itens.
expressão: qualquer valor válido.
caso1: o primeiro caso a ser verificado em relação à expressão.
valor1: o valor correspondente a ser retornado se caso1 corresponder à expressão.
caso2; valor2;… [opcional]: outros casos e valores se o primeiro não corresponder à expressão.
padrão [opcional]: um valor opcional, especificado como o último parâmetro, que será retornado se nenhum dos casos corresponder à expressão.
Vejamos no vídeo abaixo alguns exemplos de uso do SWITCH: