
Fórmula genérica
=REPT("message",logical test)
Resumo
Para exibir uma mensagem condicional, sem a função IF, você pode usar a lógica booleana e a função REPT. No exemplo mostrado, a fórmula em D5 (copiada) é:
=REPT("low",C5<100)
Se o valor na coluna C for menor que 100, a fórmula retornará "baixo". Caso contrário, a fórmula retorna uma string vazia (""), que se parece com uma célula em branco.
Explicação
Esta fórmula usa lógica booleana para gerar uma mensagem condicional. Se o valor na coluna C for menor que 100, a fórmula retornará "baixo". Caso contrário, a fórmula retorna uma string vazia ("").
A lógica booleana é uma técnica de tratamento de valores TRUE e FALSE como 1 e 0. Na célula C5, a fórmula é avaliada assim:
=REPT("low",C5<100) =REPT("low",TRUE) =REPT("low",1) ="low"
Em outras palavras, se C5 <100, produza "baixo" 1 vez. Na célula C6, a fórmula é avaliada assim:
=REPT("low",C6<100) =REPT("low",FALSE) =REPT("low",0) =""
Em outras palavras, se C6 <100 for FALSE, a saída "baixo" zero vezes.
Alternativa de função IF
Mensagens condicionais como essa são mais comumente tratadas com a função IF. Com IF, a fórmula equivalente é:
=IF(C5<100,"low","")
Ambas as fórmulas retornam exatamente o mesmo resultado, mas a versão REPT é um pouco mais simples.
Estendendo a lógica
A lógica booleana pode ser estendida com operações matemáticas simples para lidar com cenários mais complexos. Resumidamente, a lógica AND pode ser expressa com multiplicação (*) A lógica OR pode ser expressa com adição (+). Por exemplo, para retornar "baixo" apenas quando (contagem <100) AND (dia = segunda-feira), podemos usar a lógica booleana como esta:
=REPT("low",(C5<100)*(B5="Monday"))
A fórmula IF equivalente é:
=IF(C5<100,IF(B5="Monday","low",""),"")
ou, simplificando um pouco com AND:
=IF(AND(C5<100,B5="Monday"),"low","")
Coagindo TRUE e FALSE para 1 e zero
Ao usar a lógica booleana, às vezes você precisará forçar o Excel a forçar TRUE e FALSE para 1 e zero. Uma maneira simples de fazer isso é usar um negativo duplo (-).