Cierre de mes. La antigüedad de saldos de clientes trae 400 facturas abiertas y una columna de estatus armada con la función SI.CONJUNTO. Con las filas de prueba todo sale bien. En el reporte real aparecen algunos #N/A dispersos, justo en las facturas que todavía no vencen, y la suma por tramos ya no cuadra contra el saldo de clientes en balanza.

La fórmula no está rota. Le falta una línea que SI.CONJUNTO no trae de fábrica: el "si no".

Por qué SI.CONJUNTO no tiene un "si no"

La función SI tiene tres argumentos: la prueba, el valor si es verdadera y el valor si es falsa. Ese tercer argumento es la salida de emergencia. Incluso si lo omites, SI no se queda con las manos vacías: devuelve FALSO.

SI.CONJUNTO (IFS en inglés) está construida de otra forma. Solo acepta pares: prueba 1 y su valor, prueba 2 y su valor, y así hasta 127 pares. No existe una posición para un valor suelto al final. Si escribes una prueba sin su valor, Excel rechaza la fórmula por falta de argumentos.

Entonces, cuando ninguna de las pruebas resulta VERDADERO, la función no tiene nada que devolver y regresa #N/A. El error tiene sentido si lo lees literal: "no disponible". No existe un valor para ese caso, igual que cuando BUSCARV no encuentra lo que busca.

Vale la pena el contraste con CAMBIAR (SWITCH), que sí acepta un valor predeterminado como último argumento. SI.CONJUNTO no. El "si no" se escribe a mano.

Hoja "Sin VERDADERO" del archivo de práctica: celda C10 activa con =SI.CONJUNTO(Vencimiento="","Revisar: sin fecha",Saldo<=0,"Pagada",B10:B14>90,"Vencida +90",B10:B14>60,"Vencida 61-90",B10:B14>30,"Vencida 31-60",B10:B14>0,"Vencida 1-30") en la barra de fórmulas; C14 muestra #N/A en rojo para F-1050 con B14 = -5, y el control "Facturas en #N/A" (F10) en 1. ALT (EN): Sheet "Sin VERDADERO": cell C10 selected with the IFS formula missing its TRUE pair; C14 shows #N/A in red for invoice F-1050 with -5 days in B14, and the "#N/A invoices" control (F10) reads 1.

VERDADERO como última prueba: el "si no" que escribes tú

Cada prueba lógica de SI.CONJUNTO tiene que resolverse en VERDADERO o FALSO. Una comparación como B10>90 necesita calcularse. La constante VERDADERO no: ya está resuelta, y siempre es verdadera.

Como SI.CONJUNTO devuelve el valor de la primera prueba verdadera, un par VERDADERO,"valor" puesto al final solo gana cuando todas las pruebas de arriba fueron FALSO. No compite con ninguna. Es un "si no" por exclusión: recibe exactamente lo que ningún otro caso reclamó. La propia documentación de la función indica este método para definir un valor predeterminado.

Para explicárselo a quien acaba de ver el #N/A, basta con esto: tu fórmula no está mal, le faltó decir qué hacer cuando ningún caso aplica. Toma la fila con el error, recorre cada prueba y vas a ver que todas dan FALSO. Ese es el caso que tu lista no contempló. Agrega VERDADERO,"lo que corresponda" al final y listo.

Es el tropiezo más frecuente con esta función por tres razones que se juntan:

La costumbre de SI. En SI el "si no" viene incluido, así que se asume que SI.CONJUNTO también lo trae. Los datos de prueba lo esconden. Uno prueba la fórmula con los casos que pensó al escribirla. El #N/A aparece con el caso que no pensó, y ese casi nunca está en las filas de prueba. El error se pierde entre cientos de filas. Cinco #N/A en una columna de 400 no saltan a la vista. Lo que sí salta después es una diferencia: un SUMAR.SI por estatus simplemente no suma esas facturas y el total por tramos queda corto contra el saldo de clientes.

Una advertencia: no lo tapes con SI.ERROR. Envolver todo en SI.ERROR(SI.CONJUNTO(...),"") oculta cualquier error, incluidos los que sí te interesa ver, como una referencia rota. VERDADERO no es un parche, es parte del diseño de la fórmula.

El orden de las condiciones: la primera que se cumple gana

SI.CONJUNTO no busca la condición "más exacta". Devuelve el valor de la primera prueba verdadera y lo que esté debajo ya no cuenta para esa fila.

Esto permite que una condición amplia puesta demasiado arriba tape a una más específica que está abajo. Con tramos de días vencidos:

=SI.CONJUNTO(B10:B14>0, "Vencida 1-30", B10:B14>30, "Vencida 31-60", B10:B14>90, "Vencida +90", VERDADERO, "Por vencer")

Una factura con 124 días vencidos cumple D>0, así que sale como "Vencida 1-30". Las pruebas de 31-60 y +90 nunca llegan a ganar para ninguna factura, porque todo lo que las cumple ya cumplió D>0 antes. No hay error, no hay aviso, y la etiqueta se ve razonable. Por eso es peor que un #N/A: el #N/A al menos se anuncia.

Tres reglas prácticas:

Con > ordena de mayor a menor (D>90, luego D>60...). Con <= ordena de menor a mayor. Las excepciones van antes que los tramos: datos incompletos, facturas pagadas, casos especiales. Revisa cada par con una pregunta: ¿existe algún valor que cumpla esta prueba y que no haya cumplido ya una de arriba? Si la respuesta es no, esa línea está muerta.

Hoja "Orden incorrecto": celda C10 activa con =SI.CONJUNTO(B10:B14>0,"Vencida 1-30",B10:B14>30,"Vencida 31-60",B10:B14>90,"Vencida +90",VERDADERO,"Por vencer") en la barra de fórmulas; C12 muestra "Vencida 1-30" para F-0987 con B12 = 124 resaltado en rojo, y los controles F10:F13 en cero. ALT (EN): Sheet "Orden incorrecto": the wrongly ordered IFS formula in the formula bar; C12 shows "Vencida 1-30" for invoice F-0987 while B12 shows 124 days, highlighted in red, with all controls at zero.

Ejemplo real con SI.CONJUNTO: estatus de antigüedad de saldos

El escenario: cierre mensual de una distribuidora. La cartera de clientes se exporta del sistema contable y hay que clasificar cada factura abierta por tramo de vencimiento para dos cosas: soportar la estimación de cuentas incobrables y conciliar el total contra la cuenta de clientes.

El archivo de práctica sigue la estructura de un papel de trabajo:

Hoja Datos: la cartera como Tabla de Excel (Folio, Vencimiento, Saldo) y la fecha de corte en F9. Las columnas y la fecha tienen nombres definidos: Folio, Vencimiento, Saldo y FechaCorte. Hoja Correcta: A10 trae los folios (=Folio), B10 los días vencidos al corte (=FechaCorte-Vencimiento) y C10 el estatus. Las tres son una sola fórmula que se desborda cinco filas.

La fecha de corte va en una celda fija y no con HOY(). Una antigüedad de saldos se reporta a una fecha; con HOY() el reporte cambia cada día que abres el archivo y deja de coincidir con lo que entregaste.

La fórmula de estatus va una sola vez, en C10, con el VERDADERO incluido desde el principio:

=SI.CONJUNTO( Vencimiento="", "Revisar: sin fecha", Saldo<=0, "Pagada", B10:B14>90, "Vencida +90", B10:B14>60, "Vencida 61-90", B10:B14>30, "Vencida 31-60", B10:B14>0, "Vencida 1-30", VERDADERO, "Por vencer")

En Excel 365 la fórmula se desborda: C10 escribe el estatus de las cinco facturas en C10:C14 y no hay nada que copiar hacia abajo. Cada prueba se evalúa fila por fila, y el VERDADERO, que es un solo valor, aplica igual a todas las filas. Para referirte al resultado completo desde otra celda usa C10#; el control de errores, por ejemplo, se escribe =SUMA(--ESNOD(C10#)).

Si trabajas con una versión anterior a Excel 2021, usa la versión por fila (Datos!B9="", Datos!C9<=0, B10>90...) y cópiala hacia abajo. La lógica de los pares es idéntica.

Para escribirla un par por línea, usa ALT + ENTER dentro de la barra de fórmulas. Excel ignora los saltos de línea y los espacios entre argumentos, y la fórmula se audita mucho más fácil.

En Excel en inglés es la misma estructura: =IFS(Vencimiento="","Review: no date",Saldo<=0,"Paid",B10:B14>90,"Overdue 90+",B10:B14>60,"Overdue 61-90",B10:B14>30,"Overdue 31-60",B10:B14>0,"Overdue 1-30",TRUE,"Not yet due").

Par por par, leído para cada factura:

Vencimiento vacío, "Revisar: sin fecha": el control de datos va primero. Si la fecha de vencimiento está vacía, los días vencidos dan la fecha de corte menos cero, más de 46,000, y sin este par la factura caería en "Vencida +90". Si tu exportación también puede traer el saldo vacío, cambia la primera prueba por ((Vencimiento="")+(Saldo=""))>0, que dentro de una fórmula desbordada funciona como un O fila por fila. Saldo <= 0, "Pagada": va antes que los tramos. Una factura liquidada con vencimiento de hace cuatro meses tiene muchos días "vencidos", pero no debe nada. Si este par estuviera abajo, la clasificaría como vencida. Días > 90, "Vencida +90": el tramo más alto primero, porque las pruebas usan >. Días > 60, "Vencida 61-90": solo lo alcanza lo que no pasó de 90, así que aquí ya es 61 a 90. Días > 30, "Vencida 31-60": mismo principio. Días > 0, "Vencida 1-30": cualquier día vencido que quedó. VERDADERO, "Por vencer": lo que llega hasta aquí tiene fecha, tiene saldo y no tiene días vencidos (cero o negativo). No hace falta escribir días<=0: la exclusión de todo lo de arriba ya lo define.

Fíjate en lo que el último par no hace: no valida datos. VERDADERO recibe todo lo que cae, bueno o malo. Si no existiera el par 1, una factura sin fecha llegaría a un tramo sin que nada lo avise. Por eso las revisiones de calidad van arriba y el VERDADERO abajo.

(ES): Hoja "Correcta": barra de fórmulas expandida con la fórmula SI.CONJUNTO escrita un par por línea (siete pares: Vencimiento, Saldo y B10:B14, el último VERDADERO,"Por vencer"), celda C10 activa y el borde azul del desbordamiento visible en C10:C14. ALT (EN): Sheet "Correcta": expanded formula bar with the IFS formula written one pair per line (seven pairs over Vencimiento, Saldo and B10:B14, the last one TRUE), cell C10 selected and the blue spill border visible on C10:C14.

Resultado

Con la fecha de corte al 31 del mes, cinco facturas representativas quedan así:

F-1060, sin fecha de vencimiento: Revisar: sin fecha F-1021, saldo $0: Pagada F-0987, 124 días vencidos: Vencida +90 F-1044, 12 días vencidos: Vencida 1-30 F-1050, vence en 5 días: Por vencer

Ninguna factura se queda sin estatus. El control que confirma todo: la suma de saldos por estatus debe ser igual al saldo total de clientes. Si falta el par VERDADERO, F-1050 y todas las que están por vencer salen en #N/A y esa igualdad se rompe.

Descarga el archivo de práctica aquí (ES): Hoja "Practica" completa: barras azul y verde con el logo de Excel Solutions, tabla de cinco facturas (F-1060, F-1021, F-0987, F-1044, F-1050) con sus cinco estatus distintos en C10:C14 y los controles F10:F13 en cero. ALT (EN): Full "Correcta" sheet: blue and green brand bars with the Excel Solutions logo, five-invoice table with five different statuses in C10:C14, and controls F10:F13 at zero.

Resumen para llevar

SI.CONJUNTO no tiene "si no", así que cuando ninguna prueba se cumple devuelve #N/A. VERDADERO como última prueba siempre se cumple y solo lo alcanza lo que falló todo lo de arriba. El orden decide el resultado: excepciones primero, tramos del más específico al más amplio, y el VERDADERO al final desde el primer borrador, no como remiendo cuando aparece el error.

(ES): Infografía de SI.CONJUNTO: SI con salida "si no" frente a SI.CONJUNTO que cae en #N/A, la escalera de siete pares (Vencimiento, Saldo, B10) con VERDADERO,"Por vencer" como piso, y el orden amplio contra específico con una factura de 124 días. ALT (EN): IFS infographic: IF's else branch versus IFS falling into #N/A, the seven-pair ladder with TRUE as the floor, and broad-versus-specific ordering with a 124-day invoice.

El archivo de práctica trae las tres versiones de la fórmula, una hoja de diagnóstico que recorre las pruebas de cualquier factura y una cartera de 40 facturas con su conciliación: aquí

¿Tu antigüedad de saldos se arma a mano en cada cierre? Eso se automatiza, desde la exportación del sistema contable hasta la conciliación contra balanza.