Volver al Blog
Funciones Lógicas
Excel
SI
SI.CONJUNTO
SI.ERROR

Las Funciones Lógicas de Excel: SI, SI.CONJUNTO, Y/O y la Escalera Que Se Rompe en el Tercer Peldaño

07/08/2026
Las Funciones Lógicas de Excel: SI, SI.CONJUNTO, Y/O y la Escalera Que Se Rompe en el Tercer Peldaño

Resumen Rápido

Puntos clave de este artículo

  • 🔀 Qué devuelve realmente SI, y por qué omitir valor_si_falso escribe FALSO en tu informe
  • 🪜 SI anidado para tramos — y por qué probarlos en el orden equivocado paga un 5% sobre un pedido de 28.700
  • 🎚️ SI.CONJUNTO sin el montón de paréntesis, más el peldaño VERDADERO que necesita para dejar de devolver #N/D
  • 🔗 Y, O y NO — y por qué reducen una columna entera a un único VERDADERO
  • ➕ Aritmética booleana: * para Y, + para O, y el -- que convierte VERDADERO en 1
  • 🛟 SI.ERROR frente a SI.ND, CAMBIAR, y el punto en que una escalera anidada debería ser una tabla de búsqueda
Tiempo de lectura: ~15 min

Casi todas las fórmulas de un libro calculan algo. Las fórmulas lógicas deciden algo: si un pedido tiene derecho a descuento, si un envío cuenta como tardío, si una fila pertenece siquiera a este informe. Esa diferencia importa más de lo que parece, porque un cálculo que sale mal suele ser evidente y una decisión que sale mal casi nunca lo es. Un total que pone 98.000 cuando los pedidos suman 103.830 se cuestiona antes de comer; una columna de descuentos que paga un 5% donde debería pagar un 12% se ve exactamente igual que una columna de descuentos que funciona.

Esta guía trata de escribir decisiones que sigas entendiendo en marzo. Cubre SI y el argumento que todo el mundo se deja, las escaleras anidadas y el error de orden que vive dentro de ellas, SI.CONJUNTO y el valor por defecto que no te da, Y/O/NO y su comportamiento sorprendente sobre rangos, la aritmética booleana que los sustituye donde ellos no llegan, SI.ERROR frente a SI.ND, CAMBIAR, y el punto en el que la respuesta correcta es dejar de anidar y construir una tabla.

Consejo: Todos los ejemplos de abajo funcionan sobre la tabla de pedidos que aparece tras la sección 1. Cópiala en una hoja en blanco empezando en A1 y las referencias de celda coincidirán exactamente. SI.CONJUNTO y CAMBIAR necesitan Excel 2019 o posterior; BUSCARX, en la sección 9, necesita Excel 365 o 2021. Todo lo demás funciona en cualquier versión que siga en uso.


1) Qué Devuelve Realmente SI

=SI(prueba_lógica, valor_si_verdadero, [valor_si_falso])

El modelo mental que menos disgustos da: SI no "ejecuta" una rama u otra. Evalúa la prueba y obtiene VERDADERO o FALSO, y entonces devuelve uno de los dos valores que ya tenía en la mano. Es un selector, no un controlador.

=SI(F2>7, "Tardío", "A tiempo")

Resultado: A tiempo — SO-1041 se envió en 2 días.

El tercer argumento es opcional, y esa opción es una trampa. Si lo omites:

=SI(F2>7, "Tardío")

un pedido rápido no devuelve un vacío. Devuelve la palabra literal FALSO, en mitad de tu informe, en una columna de texto. Excel tenía que devolver algo, y FALSO es lo que tiene. Si quieres nada, di "nada" de forma explícita:

=SI(F2>7, "Tardío", "")

Esas dos comillas son una cadena de texto vacía, no una celda vacía, y conviene saberlo antes de apuntar CONTAR.BLANCO o ESBLANCO al resultado y llevarte una respuesta que no esperabas. Una celda con "" no está en blanco: contiene una cadena de longitud cero.

Pedidos Mayoristas de un Trimestre

Diez pedidos de cinco clientes y tres niveles. Dos detalles son intencionados: SO-1047 se canceló y quedó en el registro con cero unidades, que es lo que hace que la división por cero de la sección 7 sea real y no hipotética, y 4.900 se queda justo por debajo del tramo de 5.000 para que las pruebas de límite de la sección 3 tengan algo que atrapar. Los datos están en A2:G11.

ABCDEFG
1
Order
Customer
Tier
Units
Order Value
Days to Ship
Returned
2
SO-1041
Halvorsen Foods
Gold
480
12400
2
0
3
SO-1042
Brightline Cafes
Silver
120
3150
5
0
4
SO-1043
Nordmark Retail
Gold
950
28700
9
40
5
SO-1044
Cerro Verde SA
Bronze
60
1480
3
0
6
SO-1045
Halvorsen Foods
Gold
220
7300
12
15
7
SO-1046
Pinewood Group
Silver
340
9600
4
0
8
SO-1047
Cerro Verde SA
Bronze
0
0
6
0
9
SO-1048
Brightline Cafes
Silver
510
15250
1
0
10
SO-1049
Pinewood Group
Silver
175
4900
11
25
11
SO-1050
Nordmark Retail
Gold
700
21050
14
0

fxLas celdas con fórmulas están resaltadas en verde

Pasa el mouse sobre las celdas con fórmulas para ver la fórmula y resaltar las celdas referenciadas


2) La Prueba: Operadores de Comparación y Dos Trampas Silenciosas

🎯 Escenario: Quieres marcar los pedidos lo bastante grandes como para necesitar una segunda firma, antes de que nadie discuta qué significa "grande".

Seis operadores hacen casi todo el trabajo: =, <>, >, <, >=, <=. Cualquiera de ellos produce VERDADERO o FALSO por sí solo, sin ningún SI alrededor: escribe =E2>=10000 en una celda vacía y obtienes VERDADERO. Esa es la costumbre más útil de todo este artículo: cuando una decisión sale mal, saca la prueba fuera del SI y mira qué devuelve de verdad.

EscritoSe lee comoEn la fila 2
=E2>=10000importe de al menos 10.000VERDADERO (12.400)
=F2>7enviado en más de 7 díasFALSO (2 días)
=C2<>"Bronze"el nivel es cualquiera menos BronzeVERDADERO (Gold)
=G2=0no volvió nadaVERDADERO

Trampa uno: la comparación de texto ignora mayúsculas. =C2="gold" devuelve VERDADERO para una celda que contiene Gold. Eso es cómodo hasta que deja de serlo: si tus datos distinguen de verdad ABC de abc (los códigos de producto a veces lo hacen), = no verá la diferencia y necesitas =IGUAL(C2,"Gold").

Trampa dos: números que son texto. Un valor importado como texto queda alineado a la izquierda y falla todas las comparaciones numéricas en silencio. ="12400">=10000 es VERDADERO, pero por el motivo equivocado: Excel compara una cadena de texto con un número y el texto siempre ordena por encima de los números, así que cualquier valor de texto pasa cualquier prueba >= contra un número. Una columna de descuentos construida sobre eso es generosa al 100%. =ESNUMERO(E2) a lo largo de la columna cuesta diez segundos y lo zanja.

Error Común: =SI(E2>=10000, "Sí", "No") y =SI(E2>10000, "Sí", "No") se diferencian en un único valor: el propio 10.000. Nadie lo nota hasta que aparece el pedido que cae exactamente en el límite, y para entonces la regla lleva dos trimestres en producción. Decide en voz alta si el límite entra o no, y luego escribe el operador que lo diga.


3) SI Anidado: Tramos, y el Orden Que Decide la Respuesta

🎯 Escenario: Descuento por volumen — 12% a partir de 20.000, 8% a partir de 10.000, 5% a partir de 5.000 y nada por debajo.

Un SI dentro del hueco valor_si_falso de otro SI es como una prueba se convierte en una escalera:

=SI(E2>=20000, 12%, SI(E2>=10000, 8%, SI(E2>=5000, 5%, 0)))

Resultado a lo largo de la columna: 8%, 0%, 12%, 0%, 5%, 5%, 0%, 8%, 0%, 12%.

Léelo como una secuencia de preguntas hechas en orden, donde el primer VERDADERO gana y todo lo que hay por debajo ni siquiera se evalúa. 12.400 no supera la prueba de 20.000, sí la de 10.000, y ahí se detiene.

Esa regla de "gana el primer VERDADERO" es todo el juego, y es donde vive el error clásico. Escribe los mismos tramos en orden ascendente:

=SI(E2>=5000, 5%, SI(E2>=10000, 8%, SI(E2>=20000, 12%, 0)))

Resultado para SO-1043: 5% sobre un pedido de 28.700 — porque 28.700 es efectivamente al menos 5.000, y el primer peldaño lo atrapó. La fórmula no tiene error, ni aviso, ni color. Devuelve un número plausible y le paga de menos a tu mayor cliente casi 2.000. Las condiciones que se solapan hay que probarlas desde el extremo más específico hacia dentro: tramos descendentes en orden descendente, ascendentes en orden ascendente.

Lo otro que merece la pena hacer aquí es enseñarle a la escalera el valor que se va a encontrar de verdad. Pruébala contra 4.900 (SO-1049) y contra 5.000, y luego contra 19.999 y 20.000. Cuatro comprobaciones, y todos los límites de la regla quedan clavados.

Error Común: Excel permite 64 niveles de anidamiento, lo cual no es un permiso. Pasados tres peldaños la fórmula deja de ser legible, los paréntesis de cierre dejan de ser contables y —el coste de verdad— la regla deja de ser visible para cualquiera que no esté editando la barra de fórmulas. La sección 9 va de qué hacer en su lugar.


4) SI.CONJUNTO: La Misma Escalera Sin el Montón de Paréntesis

=SI.CONJUNTO(prueba1, valor1, [prueba2, valor2], ...)

SI.CONJUNTO coge la escalera y la aplana en parejas, que es la misma lógica con la cuarta parte de la puntuación:

=SI.CONJUNTO(E2>=20000, 12%, E2>=10000, 8%, E2>=5000, 5%, VERDADERO, 0)

Resultado: 8% para la fila 2 — idéntico a la versión anidada, y ahora los cuatro tramos se leen a lo largo de la fórmula como las filas de una tabla.

Las parejas se siguen evaluando de arriba abajo y sigue ganando el primer VERDADERO, así que el error de orden de la sección 3 se traslada aquí intacto. Lo que no se traslada es el "si no". El valor_si_falso final de una escalera anidada es el cajón de sastre; SI.CONJUNTO no tiene ese hueco, y un SI.CONJUNTO en el que no coincide nada devuelve #N/D:

=SI.CONJUNTO(E3>=20000, 12%, E3>=10000, 8%, E3>=5000, 5%)

Resultado para SO-1042 (3.150): #N/D.

El modismo para un valor por defecto es una última pareja cuya prueba sea el literal VERDADERO: siempre coincide, así que recoge todo lo que se coló. Hay quien prefiere 1=1; ambos funcionan y VERDADERO es más claro.

Consejo: SI.CONJUNTO llegó con Excel 2019. En Excel 2016 y anteriores es #¿NOMBRE?, y el archivo se abrirá igualmente — simplemente muestra un error donde antes había un número. Si el libro viaja, el SI anidado sigue siendo la opción compatible.


5) Y, O, NO — y Por Qué Reducen una Columna Entera

🎯 Escenario: Todo pedido necesita revisión si tardó más de 10 días en enviarse o vale 25.000 o más.

=Y(prueba1, prueba2, ...)     todas deben ser VERDADERO
=O(prueba1, prueba2, ...)     basta con que una lo sea
=NO(prueba)                   invierte VERDADERO y FALSO

Casi siempre aparecen dentro del primer argumento de SI:

=SI(O(F2>10, E2>=25000), "Revisar", "OK")

Resultado a lo largo de la columna: cuatro filas Revisar — SO-1043 (28.700), SO-1045 (12 días), SO-1049 (11 días) y SO-1050 (14 días). Las otras seis ponen OK.

Y estrecha en lugar de ensanchar:

=SI(Y(C2="Gold", E2>=20000), "Cuenta clave", "")

Resultado: Cuenta clave en solo dos filas — SO-1043 y SO-1050. SO-1041 es Gold pero se queda en 12.400; SO-1048 llega a 15.250 pero es Silver.

NO es sobre todo cuestión de legibilidad. =NO(G2=0) y =G2<>0 devuelven lo mismo; usa el que se lea como la frase que dirías en voz alta.

Y ahora el comportamiento que sorprende a todo el mundo. Y y O no trabajan fila a fila sobre un rango: consumen todo lo que les des y devuelven un valor:

=Y(F2:F11>10)

Resultado: un único FALSO — que significa "no todos los pedidos tardaron más de 10 días", lo cual es cierto e inútil. No hay forma de sacar de ahí una respuesta de diez filas, porque Y es un agregador por diseño. En cuanto quieras un VERDADERO/FALSO por fila a partir de condiciones combinadas dentro de una sola fórmula, necesitas la sección 6.


6) Aritmética Booleana: * para Y, + para O

Excel guarda VERDADERO como 1 y FALSO como 0 en cuanto haces aritmética con ellos. Ese único hecho sustituye a Y y O en todos los sitios a los que no pueden ir.

LógicaSe escribePorque
A y B(A)*(B)1×1 = 1, cualquier cosa con un 0 = 0
A o B(A)+(B)cualquier VERDADERO hace que la suma sea ≥ 1
no A1-(A)invierte 1 y 0

🎯 Escenario: Contar los pedidos Gold de al menos 20.000, sin añadir una columna auxiliar.

=SUMAPRODUCTO((C2:C11="Gold")*(E2:E11>=20000))

Resultado: 2

Cada paréntesis produce una lista de diez valores VERDADERO/FALSO; multiplicarlas empareja las filas y da 1 solo donde se cumplieron ambas; SUMAPRODUCTO suma los unos. Cambia * por + y obtienes el recuento de la O — con una pega, porque una fila que cumpla ambas condiciones aportaría 2:

=SUMAPRODUCTO(--((C2:C11="Gold")+(F2:F11>10)>0))

Resultado: 5 — los cuatro pedidos Gold más SO-1049, un pedido Silver que tardó 11 días. Comparar la suma con >0 convierte "cuántas condiciones coincidieron" otra vez en un sí/no antes de contar.

Ese -- inicial es el doble menos unario, y existe porque SUMAPRODUCTO suma números, no booleanos. Niega una vez para obtener −1/0 y niega otra vez para obtener 1/0. Multiplicar por 1 hace el mismo trabajo si te resulta más legible *1:

=SUMAPRODUCTO(--(E2:E11>=10000))

Resultado: 4 — los pedidos SO-1041, SO-1043, SO-1048 y SO-1050.

Consejo: Para contar sin más, CONTAR.SI.CONJUNTO es más corto y más rápido, y deberías usarlo. La aritmética booleana se gana su sitio cuando la condición es algo que CONTAR.SI.CONJUNTO no puede expresar — una comparación entre dos columnas, un cálculo dentro de la prueba, una O entre campos distintos — o cuando necesitas la propia lista de VERDADERO/FALSO por fila para alimentar a FILTRAR.


7) SI.ERROR y SI.ND: Atrapa Solo el Error Correcto

🎯 Escenario: Precio unitario medio por pedido. SO-1047 se canceló y figura en el registro con cero unidades.

=E2/D2

Resultado: 25,83 en la fila 2, y #¡DIV/0! en la fila 8, que a partir de ahí envenena todos los totales que la incluyan.

=SI.ERROR(E2/D2, "—")

Resultado: 25,83, y una raya en el pedido cancelado en lugar de un error.

SI.ERROR los atrapa todos: #¡DIV/0!, #N/D, #¡VALOR!, #¡REF!, #¿NOMBRE?, #¡NUM!, #¡NULO!. Esa es su comodidad y su peligro. Una búsqueda envuelta en SI.ERROR(..., 0) devuelve 0 cuando el valor realmente no está —correcto— y también devuelve 0 cuando escribiste mal el nombre de la función, apuntaste a un rango borrado o le pasaste texto donde quería un número. El libro muestra una columna limpia de ceros y ninguna señal de que algo va mal. Esta es la forma más eficaz que existe de ocultarte a ti mismo una fórmula rota durante seis meses.

SI.ND es la versión disciplinada: atrapa #N/D y nada más:

=SI.ND(BUSCARX(A2, $J$2:$J$20, $K$2:$K$20), "No está en la tarifa")

Un producto que falta queda resuelto; un #¡REF! de una columna borrada sigue apareciendo como #¡REF!, que es exactamente lo que quieres, porque ese es tu error y no un hueco en los datos.

Error Común: envuelve lo más pequeño que pueda fallar, no la fórmula entera. =SI.ERROR(A*B/C + BUSCARV(...), 0) esconde fallos de cuatro sitios distintos detrás de un mismo cero. =A*B/SI.ERROR(C,1) + SI.ND(BUSCARV(...),0) dice para qué sirve cada alternativa.


8) CAMBIAR: Para Comparar un Valor, No para Probar una Condición

=CAMBIAR(expresión, valor1, resultado1, [valor2, resultado2], ..., [predeterminado])

Cuando cada peldaño de tu escalera compara la misma celda con un valor fijo distinto, CAMBIAR lo dice en la mitad de espacio:

=CAMBIAR(C2, "Gold", 12%, "Silver", 6%, "Bronze", 2%, 0)

Resultado: 12% para la fila 2. El último argumento suelto es el valor predeterminado, que se usa cuando no coincidió nada — un nivel Platinum devuelve 0 en vez de #N/D.

El límite está en el nombre: CAMBIAR compara valores, así que no puede expresar >=20000. Existe un truco conocido — =CAMBIAR(VERDADERO, E2>=20000, 12%, E2>=10000, 8%, VERDADERO, 0) — que funciona porque cada prueba se evalúa a VERDADERO o FALSO y gana la primera que coincide con VERDADERO. Es ingenioso, y si tienes SI.CONJUNTO deberías usar SI.CONJUNTO: expresa lo mismo sin el rodeo.


9) Cuándo la Lógica Debe Dejar de Ser una Fórmula

Las secciones 3 y 4 incrustan los cuatro tramos de descuento en cada celda de una columna. Funciona y es lo que hacen la mayoría de los libros, y tiene tres costes que solo aparecen más tarde: nadie puede ver la regla sin pinchar en la barra de fórmulas, cambiar un tramo obliga a editar todas las fórmulas que lo llevan dentro, y no queda registro en ninguna parte de cuáles eran los tramos el trimestre pasado.

🎯 Escenario: La misma escalera de descuentos, pero finanzas quiere cambiar el tramo de 10.000 a 12.000 el mes que viene sin tocar una sola fórmula.

Pon la regla en celdas. En J1:K5:

Importe mínimoDescuento
00%
5.0005%
10.0008%
20.00012%
=BUSCARX(E2, $J$2:$J$5, $K$2:$K$5, 0, -1)

Resultado: 8% para 12.400 — idéntico a la escalera. El -1 es el modo de coincidencia: exacta o el siguiente elemento más pequeño, que es precisamente lo que es un tramo. El equivalente antiguo es =BUSCARV(E2, $J$2:$K$5, 2, VERDADERO), cuyo VERDADERO significa lo mismo y que exige la columna de tramos ordenada de forma ascendente.

Ahora la regla son cuatro filas que cualquiera puede leer y editar, la fórmula ya no cambia nunca, y los tramos del trimestre pasado están a un comentario de celda de quedar documentados. El mismo movimiento vale para tarifas por nivel, zonas de envío, umbrales de aprobación, notas de corte — cualquier decisión que en realidad sea una tabla pequeña disfrazada de fórmula.

Dos costumbres relacionadas que merece la pena robar:

Ponle nombre a la marca. =SI(O(F2>10, E2>=25000), "Revisar", "OK") en una columna titulada Motivo de revisión resulta más útil como dos columnas —una que decide y otra que dice por qué— que como una única mega-fórmula anidada en cuatro niveles. Las columnas auxiliares no cuestan nada y se pueden ocultar.

Devuelve valores, no frases. Un SI que devuelve 8% se puede sumar, graficar y comparar. Un SI que devuelve "8% de descuento" solo se puede leer. Decide en números y dales formato de texto al final del todo, si es que hace falta.


10) Diez Formas en Que la Lógica Sale Mal

  1. Omitir valor_si_falso — la palabra FALSO aterriza en una columna de texto.
  2. Tramos probados en el orden equivocado — la condición más amplia primero atrapa todo lo que hay por debajo, en silencio.
  3. SI.CONJUNTO sin peldaño VERDADERO#N/D en cada fila que no coincide con nada.
  4. > donde querías >= — una fila, justo en el límite, mal para siempre.
  5. Números guardados como texto — toda comparación contra un número se cumple, así que todas las filas califican.
  6. Y alimentado con un rango — un solo FALSO para la columna entera, y encima parece una respuesta.
  7. SI.ERROR envolviendo la fórmula completa — esconde tu errata con la misma elegancia con que esconde los datos que faltan.
  8. Confundir "" con vacíoESBLANCO dice FALSO, CONTAR.BLANCO no coincide con CONTARA, y nadie ve por qué.
  9. Comparar con una fecha o una tasa incrustada=SI(E2>=10000,...) repetido 400 veces son 400 sitios que editar.
  10. Anidar más allá de tres niveles — técnicamente legal, en la práctica una regla que nadie volverá a auditar.

Conclusión

Las funciones de este artículo no son difíciles. SI tiene tres argumentos y Y tiene una sola idea. Lo que convierte a las fórmulas lógicas en las que más probablemente estén mal en silencio es que una decisión equivocada devuelve un valor de aspecto perfectamente normal —sin error, sin color, sin queja— y luego sigue devolviéndolo todos los meses hasta que alguien cuadra una cifra a mano y encuentra el desfase.

Así que las costumbres valen más que la sintaxis. Saca la prueba fuera del SI y mira qué devuelve antes de fiarte. Comprueba tus tramos contra los valores que caen justo en el límite, no contra los del medio. Dale a SI.CONJUNTO su peldaño VERDADERO y a SI.ERROR la cosa más pequeña posible que atrapar. Y cuando una escalera llegue a tres peldaños, saca la regla de la fórmula y ponla en celdas donde un ser humano pueda leerla.

¿Quieres practicar? Los ejercicios de lógica condicional de la app están construidos exactamente sobre estas formas — una escalera de tramos con un valor límite entre los datos, una marca con O entre dos columnas, y uno en el que SI.ERROR está escondiendo algo que no debería.

Comparte este artículo:
Volver al Blog