SI.CONJUNTO y SI.ERROR en Excel: adiós a los SI anidados
Cómo reemplazar los SI anidados por SI.CONJUNTO, manejar errores con SI.ERROR y SI.ND sin esconder problemas, con ejemplos de clientes, facturas y bonos.

Cuando una fórmula SI tiene otro SI adentro, y ese otro SI tiene otro más, la hoja se vuelve imposible de leer. Basta con olvidar un paréntesis para que nada funcione. Excel tiene dos funciones que resuelven ese problema: SI.CONJUNTO, para evaluar varias condiciones en orden, y SI.ERROR, para mostrar algo útil cuando una fórmula falla.
SI.CONJUNTO está disponible en Excel 2019, 2021, 2024, Microsoft 365 y Excel para la web. SI.ERROR funciona desde Excel 2007.
El problema de los SI anidados
Imagina que clasificas a tus clientes según lo que compraron en el año:
| Compras del año | Categoría |
|---|---|
| 5.000 o más | Oro |
| Desde 2.000 | Plata |
| Desde 500 | Bronce |
| Menos de 500 | Nuevo |
Con SI anidados, la fórmula para la celda B2 queda así:
=SI(B2>=5000; "Oro"; SI(B2>=2000; "Plata"; SI(B2>=500; "Bronce"; "Nuevo")))
Funciona, pero cada nivel nuevo agrega un SI y un paréntesis al final. Con seis o siete categorías es fácil equivocarse.
La misma fórmula con SI.CONJUNTO
=SI.CONJUNTO(B2>=5000; "Oro"; B2>=2000; "Plata"; B2>=500; "Bronce"; VERDADERO; "Nuevo")
La sintaxis es una lista de parejas: condición; resultado; condición; resultado… Excel revisa las condiciones en orden y devuelve el resultado de la primera que se cumple. Por eso el orden importa: si pusieras primero B2>=500, un cliente con 6.000 quedaría como “Bronce”.
El truco del VERDADERO al final. Si ninguna condición se cumple, SI.CONJUNTO devuelve el error #N/D. Para evitarlo, termina con la pareja VERDADERO; "valor por defecto": VERDADERO siempre se cumple, así que funciona como el “en cualquier otro caso”.
Ejemplo 2: estado de una factura
Tienes la fecha de vencimiento en C2 y la fecha de pago en D2 (vacía si no se ha pagado):
=SI.CONJUNTO(D2<>""; "Pagada"; C2<HOY(); "Vencida"; C2-HOY()<=7; "Vence esta semana"; VERDADERO; "Al día")
Con una sola fórmula tu cartera muestra qué cobrar primero. Si la combinas con formato condicional (lo veremos en el próximo bloque), las vencidas aparecen en rojo.
Ejemplo 3: condiciones combinadas con Y y O
Cada condición de SI.CONJUNTO puede usar Y u O. Por ejemplo, una bonificación para vendedores:
=SI.CONJUNTO(Y(B2>=10000; C2>=0,95); "Bono completo"; O(B2>=10000; C2>=0,95); "Bono parcial"; VERDADERO; "Sin bono")
B2 son las ventas y C2 el porcentaje de cumplimiento de cobros. El bono completo exige las dos cosas; el parcial, solo una.
Cuándo NO usar SI.CONJUNTO
Si tienes muchos tramos fijos (comisiones con 10 niveles, por ejemplo), es mejor tener una tabla de tramos en otra hoja y buscar con BUSCARX en modo aproximado, como vimos en el artículo de BUSCARX. Así, cuando cambien los tramos, cambias la tabla y no la fórmula.
SI.ERROR: una salida elegante cuando algo falla
Las fórmulas fallan por razones normales: un código que no existe, una división entre cero o un dato vacío. SI.ERROR te deja decidir qué mostrar en lugar del error:
=SI.ERROR(valor; valor_si_error)
Evitar el #¡DIV/0!
Para calcular el margen cuando las ventas pueden ser cero:
=SI.ERROR((B2-C2)/B2; 0)
Búsquedas que no encuentran
=SI.ERROR(BUSCARV(F2; Productos!A:C; 3; FALSO); "Código no registrado")
Dejar la celda vacía
Si prefieres que no aparezca nada, usa dos comillas: =SI.ERROR(fórmula; "").
El riesgo de SI.ERROR: esconder problemas reales
SI.ERROR atrapa cualquier error, incluidos los que indican que tu fórmula está mal escrita (#¿NOMBRE?) o que un rango está roto (#¡REF!). Si lo pones en todas partes, un error grave puede pasar desapercibido y tus totales quedarán incompletos sin que nadie lo note.
Dos buenas prácticas:
- Usa SI.ND cuando solo quieras atrapar el “no encontrado”:
=SI.ND(BUSCARV(...); "No existe")maneja únicamente el error#N/Dy deja visibles los demás. - No conviertas los errores en cero en columnas que se suman sin revisar antes por qué aparecen. Un cero esconde el problema; un mensaje como “Revisar” lo hace visible.
Combinarlas: clasificación a prueba de errores
=SI.ERROR(SI.CONJUNTO(B2>=5000; "Oro"; B2>=2000; "Plata"; B2>=500; "Bronce"; VERDADERO; "Nuevo"); "Revisar dato")
Si B2 tiene un texto en lugar de un número, la comparación no se puede hacer y aparece “Revisar dato”, en lugar de un error que confunde.
Resumen rápido
| Necesitas | Usa |
|---|---|
| Dos resultados posibles | SI |
| Varias condiciones en orden | SI.CONJUNTO (con VERDADERO al final) |
| Muchos tramos que cambian | Tabla de tramos + BUSCARX |
| Mostrar algo en vez de un error | SI.ERROR |
| Atrapar solo el “no encontrado” | SI.ND |
Recuerda: si tu Excel usa coma como separador de listas, cambia cada ; por , y escribe los decimales con punto.


