Bonus con umbral mínimo y tope máximo: SI.CONJUNTO vs multiplicación booleana
Juan plantea un problema de cálculo de bonus con reglas de negocio concretas: un importe de 9.000 euros se reparte entre varios epígrafes, cada uno con su ponderación y porcentaje de cumplimiento. Las reglas son claras pero difíciles de plasmar en una sola fórmula:
- Si el cumplimiento es inferior al 85%, no se genera nada (resultado 0)
- Entre 85% y 115%, se aplica el porcentaje real
- Por encima del 115%, se capea al 115% (tope máximo)
Además, Juan necesita que si la celda del porcentaje está vacía, muestre "Rellenar Obligatorio". Su primer intento con SI.CONJUNTO no le funcionaba: al poner primero la condición >=85%, los valores superiores al 100% nunca llegaban a evaluarse.
Solución 1: SI.CONJUNTO con orden correcto (Iván)
Iván detecta el problema: en SI.CONJUNTO, la primera condición verdadera detiene la evaluación. Hay que poner las condiciones de más restrictiva a menos restrictiva:
``
=SI.CONJUNTO(
$J7=""; "Rellenar Obligatorio";
$J7<85%; "0";
$J7>115%; 115%$I$2G7;
$J7>=85%; $I$2G7J7
)
`
Primero comprueba si supera el 115% (y capea), y solo después aplica el rango 85%-115%. Si se pusiera >=85% antes, un valor de 120% cumpliría esa condición y nunca llegaría a la de >115%.
Solución 2: Fórmula compacta con multiplicación booleana (John)
John propone una solución radicalmente distinta que elimina toda la anidación:
`
=SI(J27="";"Rellenar Obligatorio";I$2G27(J27>=85%)*MIN(115%;J27))
`
La clave está en dos trucos:
- (J27>=85%): una condición lógica dentro de una operación matemática se convierte en 1 (VERDADERO) o 0 (FALSO). Si el porcentaje no llega al 85%, todo el producto da 0 automáticamente.
- MIN(115%;J27): establece el tope máximo comparando el valor real con el 115% y quedándose con el menor. Si J27 es 90%, devuelve 90%. Si J27 es 130%, devuelve 115%.
Combinados, estos dos factores resuelven las tres reglas de negocio en una sola multiplicación, sin necesidad de SI.CONJUNTO` ni condiciones anidadas.
El problema: un bonus con tres reglas de negocio
Juan planteó un cálculo de bonus que parece sencillo pero se resiste a caber en una fórmula. Un importe de 9.000 euros se reparte entre varios epígrafes, cada uno con su ponderación y su porcentaje de cumplimiento. Las reglas:
- Si el cumplimiento es inferior al 85%, no se genera nada (resultado 0).
- Entre 85% y 115%, se aplica el porcentaje real.
- Por encima del 115%, se capea al 115% (tope máximo).
- Y si la celda del porcentaje está vacía, debe mostrar "Rellenar Obligatorio".
Su primer intento con SI.CONJUNTO no funcionaba: al poner primero la condición de "mayor o igual al 85%", los valores por encima del 100% nunca llegaban a evaluar el tope. La comunidad dio con dos soluciones muy distintas.
Solución 1: SI.CONJUNTO con el orden correcto (Iván)
Iván detecta el fallo: en SI.CONJUNTO, la primera condición verdadera detiene la evaluación. Por eso hay que ordenar las condiciones de la más restrictiva a la menos restrictiva:
=SI.CONJUNTO(
$J7=""; "Rellenar Obligatorio";
$J7<85%; "0";
$J7>115%; 115%*$I$2*G7;
$J7>=85%; $I$2*G7*J7
)Primero comprueba si supera el 115% (y capea), y solo después aplica el rango 85%-115%. Si la condición de "mayor o igual al 85%" fuera antes, un valor del 120% la cumpliría y jamás llegaría a la del tope.
Solución 2: multiplicación booleana (John)
John propone algo radicalmente distinto que elimina toda la anidación:
=SI(J27="";"Rellenar Obligatorio";I$2*G27*(J27>=85%)*MIN(115%;J27))La elegancia está en dos trucos combinados:
(J27>=85%): una condición lógica metida dentro de una multiplicación se convierte en 1 (VERDADERO) o 0 (FALSO). Si el porcentaje no llega al 85%, todo el producto da 0 automáticamente, sin necesidad de unSIexplícito.MIN(115%;J27): fija el tope máximo quedándose con el menor entre el valor real y el 115%. Si J27 vale 90%, devuelve 90%; si vale 130%, devuelve 115%.
Con esos dos factores, las tres reglas de negocio se resuelven en una sola multiplicación.
Funciones clave
SI.CONJUNTO: evalúa condiciones en orden y se queda con la primera verdadera; el orden importa.MIN: la forma más limpia de aplicar un tope máximo (oMAXpara un suelo mínimo).- Aritmética booleana: multiplicar por una condición lógica (que vale 1 o 0) sustituye a muchos
SIanidados y deja fórmulas cortísimas.
Conclusión
Dos filosofías para el mismo problema: la explícita y legible de SI.CONJUNTO (siempre que respetes el orden de las condiciones) y la compacta y matemática de la multiplicación booleana con MIN. Ambas son correctas; elige según prefieras claridad o brevedad. Casos con reglas de negocio reales como este salen cada semana en la comunidad de Influexcel, y verlos resueltos de varias maneras es la mejor escuela.
Más contenido de Excel en InflueXcel
- SUMAR.SI.CONJUNTO en Excel: las 5 dudas más buscadas, resueltas (y por qué no acepta ELEGIRCOLS) TutorialLe pregunté a Copilot cuáles son las 5 dudas que más se buscan sobre la función SUMAR.SI.CONJUNTO y las resuelvo una a una en Excel, cada un
- SUMAR.SI.CONJUNTO en acción con El Señor de los Anillos 🃏 El 21 de La Comarca TutorialLo que practicamos en este caso: • Contar cartas por palo con CONTAR.SI • Sumar valores con condiciones (SUMAR.SI / SUMAR.SI.CONJUNTO) • Apl
- Multiplicar por coeficientes de escenario con INDICE, COINCIDIRX y SI.CONJUNTO CasoUn miembro de la comunidad tiene una tabla de conceptos con cantidades, precios y un campo "Escenario" (1, 2 o 3). Aparte, tiene una tabla d
- Distribuir gastos por categoría con SI.CONJUNTO matricial y reparto proporcional CasoUn miembro de la comunidad tiene una tabla de gastos donde cada línea tiene un concepto (categoría como "SGA", "Overhead", "COGS") y un impo
- SUMAR.SI.CONJUNTO con referencias de celda en los criterios de fecha CasoUn miembro de la comunidad tiene una fórmula SUMAR.SI.CONJUNTO que funciona perfectamente con fechas escritas directamente, pero no consigue
- Sustituir SUMAR.SI.CONJUNTO lento por MMULT y BYCOL en análisis de inventario CasoUn miembro desde Ecuador tiene un modelo de inventario con SUMAR.SI.CONJUNTO dentro de una fórmula LET con ELEGIRCOLS y FILTRAR. El problema
- Utiliza slicers con la función SUMAR.SI.CONJUNTO TutorialUtilizar slicers en cálculos sin tablas dinámicas y mejora la usabilidad de tus informes
- CONTAR.SI no acepta ELEGIRCOLS: por qué las funciones .SI exigen una referencia y no una matriz CasoHay errores de Excel que te mandan a buscar en la dirección equivocada, y este es de manual. Joan Recasens llega al grupo con una fórmula qu
- ¿MAP o BYROW? Descubre cuándo usar cada una Tutorial¿MAP o BYROW? Descubre cuándo usar cada una y cómo estas funciones pueden transformar tu forma de trabajar en Excel. En este vídeo aprenderá
- Tabla de clasificación de una liga que se ordena sola: tres formas de montarla CasoDe madrugada, Héctor lanzó al grupo una petición que suena sencilla y que acabó generando tres enfoques radicalmente distintos. Tiene un lib