Fórmula do Excel: Mensagem condicional com função REPT -

Índice

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 (-).

Artigos interessantes...