Ir al contenido
Jossua Servicios
Excel

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.

Por Jossua4 de noviembre de 20264 min de lectura
Fórmula SI.CONJUNTO en Excel que clasifica clientes en Oro, Plata, Bronce y Nuevo

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/D y 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.

JossuaConsultor en Business Intelligence y Analítica de Datos. Manta, Ecuador.

Sigue con Excel

Otros artículos del mismo tema.