Fórmula de Excel: mensaje condicional con función REPT -

Tabla de contenido

Fórmula genérica

=REPT("message",logical test)

Resumen

Para mostrar un mensaje condicional, sin la función SI, puede usar la lógica booleana y la función REPT. En el ejemplo que se muestra, la fórmula en D5 (copiada) es:

=REPT("low",C5<100)

Si el valor de la columna C es menor que 100, la fórmula devuelve "bajo". De lo contrario, la fórmula devuelve una cadena vacía (""), que parece una celda en blanco.

Explicación

Esta fórmula utiliza lógica booleana para generar un mensaje condicional. Si el valor de la columna C es menor que 100, la fórmula devuelve "bajo". De lo contrario, la fórmula devuelve una cadena vacía ("").

La lógica booleana es una técnica para manejar valores VERDADERO y FALSO como 1 y 0. En la celda C5, la fórmula se evalúa así:

=REPT("low",C5<100) =REPT("low",TRUE) =REPT("low",1) ="low"

En otras palabras, si C5 <100, la salida es "baja" 1 vez. En la celda C6, la fórmula se evalúa así:

=REPT("low",C6<100) =REPT("low",FALSE) =REPT("low",0) =""

En otras palabras, si C6 <100 es FALSO, la salida "baja" cero veces.

Función IF alternativa

Los mensajes condicionales como este se manejan más comúnmente con la función SI. Con IF, la fórmula equivalente es:

=IF(C5<100,"low","")

Ambas fórmulas devuelven exactamente el mismo resultado, pero la versión REPT es un poco más simple.

Extendiendo la lógica

La lógica booleana se puede ampliar con operaciones matemáticas simples para manejar escenarios más complejos. Brevemente, la lógica Y se puede expresar con una multiplicación (*) O la lógica se puede expresar con una suma (+). Por ejemplo, para devolver "bajo" solo cuando (cuenta <100) Y (día = lunes) podemos usar lógica booleana como esta:

=REPT("low",(C5<100)*(B5="Monday"))

La fórmula SI equivalente es:

=IF(C5<100,IF(B5="Monday","low",""),"")

o, simplificando un poco con AND:

=IF(AND(C5<100,B5="Monday"),"low","")

Coaccionar VERDADERO y FALSO a 1 y cero

Cuando use lógica booleana, a veces necesitará forzar a Excel a coaccionar TRUE y FALSE a 1 y cero. Una forma sencilla de hacer esto es usar un doble negativo (-).

Articulos interesantes...