SI anidados y IFS: Lógica condicional
Crea condiciones complejas con funciones SI.
La función SI (IF en inglés) es la base de toda lógica condicional en Excel. Cuando necesitas evaluar múltiples condiciones, tienes dos opciones: anidar funciones SI o usar la moderna función IFS. En esta lección dominarás ambas técnicas.
La función SI: Fundamentos
La función SI evalúa una condición y devuelve un valor si es verdadera y otro si es falsa.
Sintaxis básica
=SI(prueba_lógica, valor_si_verdadero, valor_si_falso)
| Argumento | Descripción | Ejemplo |
|---|---|---|
| prueba_lógica | Condición a evaluar | A2>=60 |
| valor_si_verdadero | Resultado si la condición es verdadera | "Aprobado" |
| valor_si_falso | Resultado si la condición es falsa | "Reprobado" |
Ejemplos básicos
// Aprobar o reprobar según calificación
=SI(B2>=60, "Aprobado", "Reprobado")
// Verificar si hay stock
=SI(C2>0, "Disponible", "Agotado")
// Calcular bono si se cumplió meta
=SI(D2>=E2, D2*0.10, 0)
Operadores de comparación
| Operador | Significado | Ejemplo |
|---|---|---|
| = | Igual a | A2=100 |
| <> | Diferente de | A2<>"" |
| > | Mayor que | A2>50 |
| < | Menor que | A2<50 |
| >= | Mayor o igual | A2>=50 |
| <= | Menor o igual | A2<=50 |
SI anidados: Múltiples condiciones
Cuando necesitas evaluar más de dos resultados posibles, anidas una función SI dentro de otra.
Sintaxis de SI anidado
=SI(condición1, resultado1, SI(condición2, resultado2, SI(condición3, resultado3, resultado_default)))
Ejemplo: Sistema de calificaciones
Imagina que necesitas asignar letras a calificaciones numéricas:
| Rango | Calificación |
|---|---|
| 90-100 | A |
| 80-89 | B |
| 70-79 | C |
| 60-69 | D |
| 0-59 | F |
=SI(B2>=90, "A", SI(B2>=80, "B", SI(B2>=70, "C", SI(B2>=60, "D", "F"))))
Cómo funciona paso a paso:
- Si B2>=90, devuelve "A"
- Si no, verifica si B2>=80, devuelve "B"
- Si no, verifica si B2>=70, devuelve "C"
- Si no, verifica si B2>=60, devuelve "D"
- Si ninguna se cumple, devuelve "F"
Ejemplo: Comisiones por niveles de venta
Un esquema de comisiones típico para vendedores:
| Ventas | Comisión |
|---|---|
| $0 - $9,999 | 5% |
| $10,000 - $24,999 | 8% |
| $25,000 - $49,999 | 10% |
| $50,000+ | 15% |
=SI(B2>=50000, B2*0.15, SI(B2>=25000, B2*0.10, SI(B2>=10000, B2*0.08, B2*0.05)))
Para mostrar solo el porcentaje:
=SI(B2>=50000, "15%", SI(B2>=25000, "10%", SI(B2>=10000, "8%", "5%"))
Ejemplo: Clasificación de clientes
Clasificar clientes por antigüedad y volumen de compras:
// Clasificación por años de antigüedad
=SI(C2>=5, "Oro", SI(C2>=2, "Plata", "Bronce"))
// Clasificación por monto de compras anuales
=SI(D2>=100000, "Premium", SI(D2>=50000, "Preferente", SI(D2>=10000, "Regular", "Nuevo")))
Límite de anidamiento
Excel permite hasta 64 niveles de anidamiento (7 en versiones anteriores a 2007). Sin embargo, más de 3-4 niveles hacen la fórmula difícil de leer y mantener.
// Difícil de leer (7 niveles)
=SI(A2="Lun","1",SI(A2="Mar","2",SI(A2="Mié","3",SI(A2="Jue","4",SI(A2="Vie","5",SI(A2="Sáb","6",SI(A2="Dom","7","?")))))))
Recomendación: Si necesitas más de 4 niveles, considera usar IFS, ELEGIR (CHOOSE), o BUSCARV con una tabla de referencia.
La función IFS: La alternativa moderna
IFS (disponible desde Excel 2016) simplifica las condiciones múltiples al eliminar el anidamiento.
Sintaxis de IFS
=IFS(condición1, valor1, condición2, valor2, condición3, valor3, ...)
El mismo ejemplo de calificaciones con IFS
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", B2>=60, "D", VERDADERO, "F")
Nota importante: VERDADERO al final actúa como "else" (valor por defecto).
Comparación SI anidado vs IFS
| Aspecto | SI anidado | IFS |
|---|---|---|
| Legibilidad | Difícil con muchos niveles | Clara y lineal |
| Compatibilidad | Todas las versiones | Excel 2016+ |
| Valor por defecto | Automático en último argumento | Requiere VERDADERO |
| Paréntesis | Múltiples, propenso a errores | Solo uno |
| Depuración | Compleja | Sencilla |
Ejemplo: Comisiones con IFS
=IFS(
B2>=50000, B2*0.15,
B2>=25000, B2*0.10,
B2>=10000, B2*0.08,
VERDADERO, B2*0.05
)
Ejemplo: Estado de pedidos
=IFS(
D2="Entregado", "Completado",
D2="En tránsito", "En proceso",
D2="Preparando", "Pendiente",
D2="Cancelado", "Anulado",
VERDADERO, "Desconocido"
)
Casos de uso empresariales
Caso 1: Evaluación de desempeño
Calcular el bono anual según evaluación de desempeño:
| Puntuación | Nivel | Bono |
|---|---|---|
| 90-100 | Excepcional | 20% del salario |
| 75-89 | Superior | 15% del salario |
| 60-74 | Competente | 10% del salario |
| 50-59 | En desarrollo | 5% del salario |
| 0-49 | Necesita mejora | 0% |
// Nivel de desempeño
=IFS(B2>=90, "Excepcional", B2>=75, "Superior", B2>=60, "Competente", B2>=50, "En desarrollo", VERDADERO, "Necesita mejora")
// Cálculo del bono (salario en C2, puntuación en B2)
=IFS(B2>=90, C2*0.20, B2>=75, C2*0.15, B2>=60, C2*0.10, B2>=50, C2*0.05, VERDADERO, 0)
Caso 2: Priorización de tickets de soporte
Asignar prioridad según tipo de cliente e impacto:
// Cliente Premium + Impacto Alto = Crítico
// Cliente Premium + Impacto Bajo = Alto
// Cliente Regular + Impacto Alto = Alto
// Otros = Normal
=SI(Y(B2="Premium", C2="Alto"), "Crítico",
SI(O(B2="Premium", C2="Alto"), "Alto", "Normal"))
Caso 3: Cálculo de impuestos progresivos
Sistema de impuestos por tramos (ejemplo simplificado):
| Ingreso anual | Tasa |
|---|---|
| $0 - $10,000 | 0% |
| $10,001 - $40,000 | 10% |
| $40,001 - $85,000 | 20% |
| $85,001+ | 30% |
=IFS(
B2<=10000, 0,
B2<=40000, (B2-10000)*0.10,
B2<=85000, 3000 + (B2-40000)*0.20,
VERDADERO, 12000 + (B2-85000)*0.30
)
Caso 4: Categorización de productos
Clasificar productos por margen de ganancia:
// Margen = (Precio - Costo) / Precio
=IFS(
(C2-B2)/C2>=0.50, "Alta rentabilidad",
(C2-B2)/C2>=0.30, "Rentabilidad media",
(C2-B2)/C2>=0.15, "Baja rentabilidad",
VERDADERO, "Revisar precio"
)
Buenas prácticas
1. Ordenar condiciones correctamente
Las condiciones se evalúan en orden. Coloca las más restrictivas primero:
// Correcto: de mayor a menor
=SI(B2>=90, "A", SI(B2>=80, "B", SI(B2>=70, "C", "D")))
// Incorrecto: siempre dará "D" para 95
=SI(B2>=70, "D", SI(B2>=80, "C", SI(B2>=90, "B", "A")))
2. Usar VERDADERO como valor por defecto en IFS
// Sin valor por defecto - puede dar error #N/A
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C")
// Con valor por defecto
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", VERDADERO, "F")
3. Evitar anidamiento excesivo
Si tienes más de 4 condiciones, considera:
- Usar IFS en lugar de SI anidado
- Crear una tabla de referencia y usar BUSCARV
- Usar la función ELEGIR para casos simples
4. Documentar fórmulas complejas
Agrega comentarios en celdas auxiliares o usa la función N() para notas:
=SI(B2>=60, "Aprobado", "Reprobado") + N("Umbral de aprobación: 60 puntos")
Errores comunes y soluciones
Error 1: Olvidar el valor por defecto en IFS
// Problema: Si B2=50, devuelve #N/A
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C")
// Solución: Agregar VERDADERO al final
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", VERDADERO, "D")
Error 2: Comparar texto sin comillas
// Problema: Error
=SI(B2=Aprobado, 1, 0)
// Solución: Texto entre comillas
=SI(B2="Aprobado", 1, 0)
Error 3: Condiciones superpuestas
// Problema: Nunca llega a la segunda condición
=SI(B2>=70, "Aprobado", SI(B2>=90, "Excelente", "Reprobado"))
// Solución: Ordenar de mayor a menor
=SI(B2>=90, "Excelente", SI(B2>=70, "Aprobado", "Reprobado"))
Error 4: Paréntesis desbalanceados
// Problema: Falta paréntesis de cierre
=SI(B2>=90, "A", SI(B2>=80, "B", SI(B2>=70, "C", "D"))
// Solución: Contar paréntesis de apertura y cierre
=SI(B2>=90, "A", SI(B2>=80, "B", SI(B2>=70, "C", "D")))
Tip: Usa la tecla Tab para autocompletar y ayudarte con los paréntesis.
Práctica: Ejercicios propuestos
Ejercicio 1: Sistema de descuentos
Crea una fórmula que aplique descuentos según cantidad comprada:
| Cantidad | Descuento |
|---|---|
| 1-9 | 0% |
| 10-49 | 5% |
| 50-99 | 10% |
| 100+ | 15% |
Ejercicio 2: Clasificación de facturas
Clasifica facturas por días de atraso:
| Días | Estado |
|---|---|
| 0 o menos | Al día |
| 1-30 | Atención |
| 31-60 | Urgente |
| 61+ | Crítico |
Ejercicio 3: Bonificación por ventas
Calcula la bonificación de vendedores:
| % de meta | Bonificación |
|---|---|
| <80% | $0 |
| 80-99% | $500 |
| 100-119% | $1,000 |
| 120%+ | $2,000 |
Puntos clave de esta lección
- La función SI es la base de la lógica condicional en Excel
- Los SI anidados permiten evaluar múltiples condiciones en secuencia
- IFS simplifica las condiciones múltiples y mejora la legibilidad
- Siempre ordena las condiciones de más restrictiva a menos restrictiva
- Usa VERDADERO como valor por defecto en IFS
- Limita el anidamiento a 4 niveles máximo para mantener claridad
- Para muchas condiciones, considera tablas de referencia con BUSCARV
Próxima lección
En la siguiente lección aprenderás las funciones Y, O y SI.ERROR para crear condiciones compuestas y manejar errores de forma elegante. Verás patrones útiles como =SI.ERROR(BUSCARV(...),"No encontrado").
Quiz de comprensión
¿Cuál es la diferencia principal entre SI anidado e IFS?
¿Por qué es importante el orden de las condiciones en un SI anidado?
¿Qué función cumple
VERDADEROal final de una función IFS?Escribe una fórmula IFS que clasifique edades: <18 = "Menor", 18-64 = "Adulto", 65+ = "Senior"
¿Cuántos niveles de anidamiento permite Excel en la función SI?
¿Cuándo es preferible usar BUSCARV en lugar de SI anidado?
¿Completaste esta lección?
Marca esta lección como completada. Tu progreso se guardará en tu navegador.