Las funciones SI, Y y O te permiten que Excel evalúe condiciones y entregue un resultado diferente según si esa condición se cumple o no.
Qué hace la función SI
SI revisa una condición lógica y devuelve un valor cuando es verdadera y otro cuando es falsa. Es la base de toda decisión automática en Excel.
Su estructura es:
=SI(prueba_lógica, valor_si_verdadero, valor_si_falso)
| Argumento | Qué escribes |
|---|---|
| prueba_lógica | La condición que Excel va a evaluar |
| valor_si_verdadero | Resultado cuando la condición se cumple |
| valor_si_falso | Resultado cuando la condición no se cumple |
Ejemplo directo: tienes una lista de vendedores de Liverpool. Si un vendedor alcanzó su meta de ventas mensual, quieres que aparezca el texto "Bono" en la celda. Si no la alcanzó, debe aparecer "Sin bono".
Supón que la meta es $50,000 y las ventas del vendedor están en la celda B2:
=SI(B2>=50000, "Bono", "Sin bono")
Excel revisa si B2 es mayor o igual a $50,000. Si sí, escribe Bono. Si no, escribe Sin bono.
Qué hacen las funciones Y y O
A veces una sola condición no es suficiente. Necesitas que se cumplan varias condiciones al mismo tiempo o que se cumpla al menos una de ellas.
Para eso existen Y y O.
Y devuelve VERDADERO solo cuando todas las condiciones son verdaderas.
=Y(condición1, condición2, ...)
O devuelve VERDADERO cuando al menos una condición es verdadera.
=O(condición1, condición2, ...)
Estas funciones casi siempre se usan dentro de un SI, no solas.
Cómo combinar SI con Y
En Bimbo, el área de recursos humanos quiere calcular un bono especial. Un colaborador lo recibe solo si cumple dos requisitos a la vez:
- Sus ventas superan $80,000 al mes.
- Tiene más de 6 meses en la empresa.
Las ventas están en B2 y los meses de antigüedad en C2. La fórmula sería:
=SI(Y(B2>80000, C2>6), "Bono especial", "Sin bono especial")
Excel primero evalúa Y(B2>80000, C2>6). Si ambas condiciones se cumplen, Y devuelve VERDADERO y SI escribe "Bono especial". Si falla cualquiera de las dos, Y devuelve FALSO y SI escribe "Sin bono especial".
Cómo combinar SI con O
FEMSA quiere clasificar a sus clientes como "Prioritario" si cumplen cualquiera de estas condiciones:
- Compra más de $200,000 al mes.
- Lleva más de 5 años como cliente.
Las compras están en B2 y los años de relación en C2:
=SI(O(B2>200000, C2>5), "Prioritario", "Estándar")
Si el cliente compra $250,000 pero lleva solo 2 años, O devuelve VERDADERO porque una condición es suficiente. El resultado es "Prioritario".
Qué es el SI anidado
SI anidado significa colocar una función SI dentro de otra. Esto permite evaluar más de dos posibles resultados.
Supón que en Mercado Libre quieres clasificar vendedores según su calificación mensual:
- Calificación mayor o igual a 90: "Excelente"
- Calificación entre 70 y 89: "Aceptable"
- Calificación menor a 70: "Requiere mejora"
La calificación está en B2. La fórmula con SI anidado es:
=SI(B2>=90, "Excelente", SI(B2>=70, "Aceptable", "Requiere mejora"))
Excel evalúa de izquierda a derecha. Primero revisa si B2 es mayor o igual a 90. Si no, revisa si es mayor o igual a 70. Si tampoco, asigna "Requiere mejora".
Regla clave: siempre ordena las condiciones de la más restrictiva a la menos restrictiva. Si pones primero B2>=70, todos los valores de 90 en adelante también entrarían ahí y nunca llegarías al "Excelente".
Ejemplo completo: cálculo de bonos con SI, Y y O
El área de nómina de una empresa distribuidora quiere calcular el monto del bono mensual de sus representantes de ventas. Las reglas son:
- Si las ventas superan $100,000 y la cobranza está al corriente (columna D dice "Sí"), el bono es $5,000.
- Si las ventas superan $100,000 pero la cobranza no está al corriente, el bono es $2,000.
- Si las ventas no superan $100,000, el bono es $0.
Ventas en B2, cobranza al corriente en D2:
=SI(Y(B2>100000, D2="Sí"), 5000, SI(B2>100000, 2000, 0))
Esta fórmula evalúa primero la condición más completa. Si ambas se cumplen, da $5,000. Si solo se cumplen las ventas, da $2,000. Si ninguna, da $0.
Para mostrar el resultado con formato de moneda como texto:
=SI(Y(B2>100000, D2="Sí"), "$5,000", SI(B2>100000, "$2,000", "$0"))
Ejemplo completo: clasificación de clientes para Liverpool
El equipo de marketing de Liverpool tiene una base de clientes. Quieren segmentarlos en tres categorías para enviar promociones distintas:
- VIP: gasto anual mayor a $50,000 o más de 10 años como cliente.
- Frecuente: gasto anual entre $20,000 y $50,000.
- Ocasional: gasto anual menor a $20,000.
Gasto anual en B2, años como cliente en C2:
=SI(O(B2>50000, C2>10), "VIP", SI(B2>=20000, "Frecuente", "Ocasional"))
Esta fórmula revisa primero si el cliente califica como VIP por cualquiera de las dos vías. Si no, determina si es Frecuente u Ocasional según el gasto.
Errores comunes
1. Olvidar las comillas en los textos. Cuando el resultado de SI es un texto, debe ir entre comillas. Si escribes =SI(B2>50000, Bono, Sin bono), Excel devuelve error porque interpreta "Bono" como un nombre de rango, no como texto.
2. Anidar en orden incorrecto. Si pones la condición menos exigente primero en un SI anidado, los valores que deberían llegar al segundo nivel nunca pasan del primero. Siempre empieza por la condición más específica o más alta.
3. Confundir Y con O. Y requiere que todas las condiciones sean verdaderas. O requiere que al menos una lo sea. Usarlos al revés genera reglas de negocio incorrectas y errores difíciles de detectar.
4. Demasiados niveles de anidación sin pruebas. Excel permite hasta 64 niveles de SI anidados, pero más de 3 o 4 se vuelven muy difíciles de leer y depurar. Si necesitas muchas condiciones, considera usar SI.CONJUNTO (disponible en Excel 2019 en adelante) o una tabla de referencia con BUSCARV.
Comparación rápida: SI solo vs. SI con Y vs. SI con O
| Función | ¿Cuándo usarla? | Ejemplo de regla |
|---|---|---|
| SI solo | Una condición, dos resultados | Si ventas > $50,000 → Bono |
| SI + Y | Varias condiciones, todas deben cumplirse | Si ventas > $80,000 y antigüedad > 6 meses → Bono especial |
| SI + O | Varias condiciones, basta con que una se cumpla | Si ventas > $200,000 o antigüedad > 5 años → Prioritario |
| SI anidado | Más de dos resultados posibles | Excelente / Aceptable / Requiere mejora |
Buenas prácticas al escribir estas fórmulas
Prueba cada parte por separado. Antes de anidar, escribe =Y(B2>80000, C2>6) en una celda vacía para verificar que devuelve VERDADERO o FALSO según esperas.
Usa celdas de referencia para los criterios. En lugar de escribir 80000 dentro de la fórmula, ponlo en una celda fija (por ejemplo, F1) y usa $F$1. Así cambias la regla sin tocar la fórmula.
Documenta con comentarios. Excel permite agregar comentarios a una celda (clic derecho → Insertar comentario). Explica la lógica para que otro usuario del archivo entienda la regla.