Uma função do Excel que utilizo bastante em minhas fórmulas é a função SE. A função IFé usada para testar uma condição lógica e produzir dois resultados diferentes, dependendo se a condição lógica retorna TRUEou FALSE.
Vamos usar a tabela de vendas de telefones celulares abaixo como exemplo. Você pode fazer o download do arquivo de exemplo aqui.
Função IF com condição única
Considere um cenário em que você precisa calcular a taxa de comissãopara cada linha de vendas, dependendo onde as vendas foram realizadas (coluna D). Se as vendas foram realizadas nos EUA, a Taxa de comissãoé de 10%, caso contrário, os locais restantes terão Taxa de comissãode 5%.
A primeira fórmula que você precisa inserir na Célula F2é mostrada abaixo:
=IF(D2="USA", E2*10%, E2*5%)
Formulabreakdown:
Em seguida, você pode copiar a fórmula do CellF2para o restante das linhas da ColunaFe calculará o CommissionFeepara cada linha, em 10% ou 5%, dependendo de o teste lógico IFretornar TRUEou FALSEem cada linha.
In_content_1 all: [300x250] / dfp: [640x360]->Função IF com várias condições
E se as regras fossem um pouco mais complicadas, onde você precisa testar mais de uma condição lógica com resultados diferentes sendo retornados para cada condição?
O Excel tem uma resposta para isso! Podemos combinar várias funções IFna mesma célula, que às vezes é conhecida como Nested IF.
Considere um cenário semelhante em que as Comissõessejam diferentes para cada Local de vendasabaixo:
Na célula F2(que posteriormente será copiado para o restante das linhas na mesma coluna F), digite a fórmula da seguinte forma:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Formulabreakdown:
Como o Excel avaliará a fórmula da esquerda para a direita, quando um teste lógico for atendida (por exemplo, D2 = "EUA",a função irá parar e retornar o resultado, ignorando qualquer teste lógico posterior após (por exemplo, D2 = "Austrália".)
Portanto, se o primeiro teste lógico retornar FALSE(ou seja, a localização não é EUA), ele continuará avaliando o segundo teste lógico. Se o segundo teste lógico retornar FALSEtambém (ou seja, a localização não é Austrália), não precisamos testar mais, pois sabemos que o único valor possível na célula D2é Cingapura, portanto, ele deve retornar um resultado de E2*2%.
Se você preferir para maior clareza, você pode adicionar o terceiro teste lógico IF (D2 = "Cingapura", "valor se VERDADEIRO", "valor se FALSO"). Portanto, a fórmula completa estendida é mostrada abaixo:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
Como mencionado anteriormente, o resultado acima retornará o mesmo resultado que a formulação inicial que tivemos.
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))