Condicionales

Función SI con varias condiciones en Excel: cómo anidar SI y usar Y/O

noviembre 5, 2026 Tuto Excel 16 min read
Función SI con varias condiciones en Excel: cómo anidar SI y usar Y/O

# excel

Imagina que tienes una hoja con pedidos y quieres aplicar un descuento solo cuando se cumplen varios requisitos a la vez: que el cliente sea nuevo y que el importe supere cierta cifra. La función SI (en inglés IF) por sí sola solo evalúa una comparación, así que cuando hay que mirar varias cosas se combina con las funciones Y (AND), O (OR) y NO (NOT). En este tutorial verás, sobre una hoja de pedidos reales, cómo escribir cada combinación, cómo arrastrarla a las demás filas y cómo detectar los errores más típicos. Al terminar sabrás decidir entre SI+Y, SI+O o SI+NO según lo que necesites comprobar, y conocerás SI.CONJUNTO como siguiente paso cuando los casos se multipliquen. Todo funciona desde Excel 2007 en adelante; SI.CONJUNTO requiere Excel 2019 o Microsoft 365.

Qué resuelve la función SI cuando hay más de una condición

Piensa en una hoja de pedidos con el importe, el tipo de cliente y un campo de empleado. Con la SI sola puedes preguntar, por ejemplo, si el importe es mayor que 50, pero no puedes exigir a la vez que el cliente sea nuevo. Cuando hay que comprobar varias cosas en una misma fila necesitas una función que diga "esto Y esto otro" o "cualquiera de estos". Ahí aparecen las funciones Y, O y NO, que se colocan dentro del primer argumento de SI: SI(Y(…)), SI(O(…)) o SI(NO(…)). Con esa combinación, una sola fórmula decide fila a fila si el pedido tiene descuento, si hay que reponer stock o si el pedido pasa un control de calidad. El truco está en que Y solo es VERDADERO cuando todas sus condiciones se cumplen; O es VERDADERO cuando al menos una se cumple; y NO invierte el resultado de la comparación que lleva dentro. Si dominas esas tres combinaciones, SI deja de quedarse corta en cuanto la hoja crece.

La sintaxis de SI y de las funciones Y, O y NO

La función SI se escribe con tres argumentos: la comparación que se evalúa, lo que devuelve si es VERDADERO y lo que devuelve si es FALSO.

=SI(prueba_lógica;valor_si_verdadero;valor_si_falso)

La función Y se coloca en el lugar de la prueba_lógica y combina varias comparaciones que deben cumplirse a la vez. La función O hace lo propio cuando basta con que una se cumpla. La función NO envuelve una comparación para invertirla. Los paréntesis se abren y se cierran en orden, igual que en una cuenta matemática: cada SI lleva su propio paréntesis de cierre.

Argumento Qué hace Ejemplo
prueba_lógica La comparación que SI evalúa B2>=50
valor_si_verdadero Lo que la celda muestra si la comparación es VERDADERO "Descuento"
valor_si_falso Lo que la celda muestra si la comparación es FALSO "Sin descuento"

Una fórmula admite 8.192 caracteres y se pueden anidar hasta 64 niveles de funciones, pero a partir de tres o cuatro SI conviene usar SI.CONJUNTO (IFS), que existe desde Excel 2019 y Microsoft 365.

Nota: los argumentos van con punto y coma (;) en Excel configurado con coma decimal (España y la mayoría de países hispanohablantes). Si tu Excel usa punto decimal (México, Estados Unidos), el separador es la coma (,).

prueba_lógica: la comparación que SI evalúa

La prueba lógica es cualquier comparación que dé VERDADERO o FALSO. Puede ser entre dos celdas (A2>B2), contra un número fijo (B2>=50) o contra un texto (C2="Sí"). Los operadores válidos son =, >, <, >=, <= y <> (distinto). Cuando se compara con un texto, este va entre comillas dobles; cuando se compara con un número, las comillas no se ponen. Cuando la prueba lógica es, en realidad, un conjunto de pruebas, se envuelven en Y, O o No, según lo que se necesite exigir.

valor_si_verdadero y valor_si_falso: lo que SI devuelve

Estos dos argumentos son lo que la celda muestra cuando la prueba lógica es VERDADERO o FALSO. Pueden ser un texto entre comillas dobles ("Apto"), un número sin comillas (0), el resultado de otra fórmula (SUMA(A2:A10)) o, simplemente, quedar vacíos (""). Si se omite valor_si_falso y la prueba es FALSO, la celda muestra FALSO. Cuando se quiere que la celda quede vacía en uno de los dos casos, se escriben dos comillas dobles seguidas sin nada dentro.

SI.Y: cuando TODAS las condiciones tienen que cumplirse

La combinación más útil de SI con varias condiciones es SI(Y(…)): aplica el descuento o el resultado que quieras solo cuando se cumplen todas las pruebas a la vez. Sobre la hoja de pedidos, imagina que el descuento del 10 % se aplica únicamente si el cliente es nuevo (columna C dice "Sí") y el importe (columna B) es igual o superior a 50,00. Vamos a verlo en una hoja pequeña.

E2fx=SI(Y(C2="Sí";B2>=50);B2*10%;"Sin descuento")
A B C D E
1 Pedido Importe Nuevo cliente Empleado Descuento SI.Y
2 101 38,00 Sí No Sin descuento
3 102 60,00 Sí No 6,00
4 103 120,00 Sí No 12,00
5 104 45,00 No No Sin descuento
6 105 80,00 No No Sin descuento
Pedidos

Pasos para montarlo en tu Excel:

  1. Crea una hoja llamada Pedidos y copia los datos anteriores en las columnas A a D.
  2. Selecciona la celda E2 y escribe la fórmula =SI(Y(C2="Sí";B2>=50);B2*10%;"Sin descuento").
  3. Pulsa Entrar y comprueba que en la celda aparece Sin descuento (porque 38,00 no llega a 50).
  4. Coloca el cursor en la esquina inferior derecha de E2 (el controlador de relleno) y arrastra hacia abajo hasta E6.
  5. Revisa la columna: las filas con cliente nuevo e importe alto (60,00 y 120,00) muestran 6,00 y 12,00; el resto, Sin descuento.
Comprueba: la fila 3 da 6,00 (10 % de 60,00) y la fila 4 da 12,00 (10 % de 120,00). Si alguna fila con "Sí" e importe >= 50 muestra "Sin descuento", revisa que las comillas del "Sí" sean rectas y dobles.

La fórmula en una celda que arrastras a las demás

La fórmula =SI(Y(C2="Sí";B2>=50);B2*10%;"Sin descuento") se escribe una sola vez en E2 y, al arrastrarla con el controlador de relleno hasta E6, las referencias se mueven solas: en E3 pasa a leer C3 y B3, en E4 lee C4 y B4, y así sucesivamente. Por eso cada fila da su resultado correcto sin tener que reescribir la fórmula. Esta es la ventaja de las referencias relativas: la regla es la misma para todas las filas y Excel la adapta fila a fila.

Por qué la referencia se queda igual al copiar

En esta fórmula no hace falta fijar nada con F4 porque tanto la celda del importe (B2) como la del cliente (C2) deben avanzar al arrastrar. Si la regla fuera la misma para todas las filas y partiese de un valor fijo, por ejemplo un porcentaje guardado en $F$1, entonces sí habría que escribir $F$1 para que la referencia no se moviese. Aquí, al arrastrar, Excel ajusta las coordenadas fila a fila y mantiene la misma lógica para los seis pedidos.

SI.O: cuando basta con que UNA condición se cumpla

Ahora supón que la empresa también aplica el descuento a sus empleados, sea cual sea el tipo de cliente. Es decir, basta con que el pedido sea de importe >= 50,00 Y, además, sea nuevo cliente o empleado. Esa "o" entre "Nuevo cliente" y "Empleado" se resuelve con la función O dentro de la prueba lógica.

F2fx=SI(Y(B2>=50;O(C2="Sí";D2="Sí"));B2*10%;"Sin descuento")
A B C D E F
1 Pedido Importe Nuevo cliente Empleado Descuento SI.Y Descuento SI.O
2 101 38,00 Sí No Sin descuento Sin descuento
3 102 60,00 Sí No 6,00 6,00
4 103 120,00 Sí No 12,00 12,00
5 104 45,00 No No Sin descuento Sin descuento
6 105 80,00 No Sí Sin descuento 8,00
Pedidos

Pasos para montarlo en tu Excel:

  1. Sobre la misma hoja Pedidos, selecciona F2 y escribe =SI(Y(B2>=50;O(C2="Sí";D2="Sí"));B2*10%;"Sin descuento").
  2. Pulsa Entrar y comprueba que en F2 sigue apareciendo Sin descuento (importe menor que 50).
  3. Arrastra el controlador de relleno desde F2 hasta F6.
  4. Compara la columna F con la columna E del apartado anterior: la fila 6 (pedido 105) muestra 8,00 porque ahora es un empleado, aunque no sea cliente nuevo.
Comprueba: la fila 6 da 8,00 (10 % de 80,00) gracias a la columna Empleado. Si en tu hoja sigue diciendo "Sin descuento", mira si en D6 pusiste "Sí" exactamente, con tilde y entre comillas en la propia fórmula.

La fórmula que combina Y con O

La fórmula =SI(Y(B2>=50;O(C2="Sí";D2="Sí"));B2*10%;"Sin descuento") anida Y dentro de SI y, dentro de esa Y, mete una O. Excel evalúa primero la O: si C2="Sí" o D2="Sí", devuelve VERDADERO; si no, FALSO. Después Y exige que, además, B2 sea >= 50. Si las dos cosas se cumplen, SI devuelve el descuento; si no, devuelve el texto "Sin descuento". Esta estructura es la que más se repite en la vida real: una condición principal (el importe mínimo) combinada con varias condiciones alternativas (cliente nuevo o empleado).

SI.NO: cuando la condición es "todo lo contrario"

La función NO (NOT) se usa cuando necesitas invertir una prueba lógica: en lugar de escribir B2<=5, escribes NO(B2>5) y deja más clara la intención. Por ejemplo, en una hoja de Stock, quieres marcar como "Reponer" todo producto cuyas unidades NO sean mayores que 5, es decir, 5 o menos.

C2fx=SI(NO(B2>5);"Reponer";"OK")
A B C
1 Producto Unidades Estado
2 Cuaderno 12 OK
3 Bolígrafo 3 Reponer
4 Carpeta 5 Reponer
5 Grapa 0 Reponer
6 Pegamento 7 OK
7 Tijera 2 Reponer
8 Libreta 9 OK
Stock

Pasos para montarlo en tu Excel:

  1. Crea una hoja llamada Stock con los productos en A2:A8 y las unidades en B2:B8.
  2. Selecciona C2 y escribe =SI(NO(B2>5);"Reponer";"OK").
  3. Pulsa Entrar y comprueba que aparece OK (12 es mayor que 5, NO lo invierte y SI devuelve el valor FALSO).
  4. Arrastra el controlador de relleno desde C2 hasta C8.
  5. Revisa la columna: los productos con 5 o menos unidades aparecen marcados como Reponer.
Comprueba: las filas con unidades 3, 5, 0 y 2 (filas 3, 4, 5 y 7) muestran Reponer. La fila 4 (5 unidades) también, porque NO(B2>5) incluye el caso de igualdad: 5 no es mayor que 5.

Negar una comparación con NO

Si escribes solo =NO(B2>5) en una celda, Excel devuelve VERDADERO cuando B2 es 5 o menos, y FALSO cuando B2 es mayor que 5. Esa es la comparación que SI usa como prueba lógica: cuando NO devuelve VERDADERO, SI muestra "Reponer"; cuando NO devuelve FALSO, SI muestra "OK". NO es útil cuando la regla se entiende mejor como "todo lo que NO cumpla X" que como una comparación directa con <= o <.

Negar una condición ya compuesta

NO también puede envolver una condición compuesta con Y. Sobre la misma hoja de Pedidos, una fila se marca como "Revisar" cuando NO se cumple la regla del descuento (cliente nuevo e importe alto):

G2fx=SI(NO(Y(C2="Sí";B2>=50));"Revisar";"Aceptado")
A B C D E F G
1 Pedido Importe Nuevo cliente Empleado Descuento SI.Y Descuento SI.O Revisión SI.NO
2 101 38,00 Sí No Sin descuento Sin descuento Revisar
3 102 60,00 Sí No 6,00 6,00 Aceptado
4 103 120,00 Sí No 12,00 12,00 Aceptado
5 104 45,00 No No Sin descuento Sin descuento Revisar
6 105 80,00 No Sí Sin descuento 8,00 Revisar
Pedidos

Pasos para montarlo en tu Excel:

  1. Sobre la hoja Pedidos, selecciona G2 y escribe =SI(NO(Y(C2="Sí";B2>=50));"Revisar";"Aceptado").
  2. Pulsa Entrar y arrastra el controlador de relleno hasta G6.
  3. Compara la columna G con las anteriores: las filas 3 y 4 son "Aceptado" porque cumplen las dos condiciones; las filas 2, 5 y 6 son "Revisar" porque les falta alguna.
Comprueba: la fila 6 (pedido del empleado) aparece como "Revisar" en esta columna, aunque tenga descuento en la F. NO está negando solo las dos condiciones originales (cliente nuevo + importe), no la regla completa del descuento.

Por qué SI(Y()), SI(O()) o SI(NO()) dan resultado vacío o error

Cuando una fórmula con SI y varias combinaciones devuelve un resultado extraño, el motivo suele ser uno de tres: un paréntesis que se ha olvidado cerrar, un texto escrito sin comillas o las referencias que no han avanzado al copiar. Vamos a ver los tres sobre la propia hoja de Pedidos, con su error en la celda y la fórmula que lo arregla.

Falta un paréntesis y la celda muestra un aviso

Si escribes =SI(Y(C2="Sí";B2>=50);B2*10% y pulsas Entrar, Excel detecta que falta un paréntesis de cierre y propone una corrección. Si aceptas la sugerencia, la fórmula queda bien: =SI(Y(C2="Sí";B2>=50);B2*10%;"Sin descuento"). Si la rechazas, la celda puede mostrar el mensaje "Falta paréntesis" o quedarse en blanco con un triángulo verde en la esquina superior izquierda. La regla es simple: cada paréntesis que abras (sea de SI, Y, O o NO) tiene que tener su pareja de cierre antes del Entrar.

Cuidado: cuando anidas muchas funciones, es fácil perder la cuenta. Un truco es escribir la fórmula de dentro hacia afuera: primero la parte de Y o de O, comprobar que da el resultado esperado y luego envolverla con SI.

El texto sin comillas se interpreta como nombre

Si escribes =SI(Y(C2=Sí;B2>=50);"Descuento";"Sin descuento"), la celda muestra #¿NOMBRE?. La causa es que Sí va sin comillas, así que Excel lo busca como nombre definido y no lo encuentra. El arreglo es bien fácil: escribe "Sí" con comillas dobles, exactamente igual que en el resto de la fórmula. Lo mismo pasa con No, Vacío u otras palabras que uses como respuestas.

El resultado es "Sin descuento" en todas las filas

Si copias la fórmula con Ctrl+C y la pegas con Ctrl+V en las celdas de abajo, las referencias se mueven como si arrastrases, pero a veces no lo hacen bien: por ejemplo, si copias desde E2 y pegas en E3, Excel mantiene la referencia relativa y debería avanzar. Donde sí se rompe es cuando copias una celda y la pegas en una hoja o un libro donde las celdas se interpretan como referencias absolutas por algún formato. El arreglo más fiable es arrastrar siempre desde la celda original con el controlador de relleno (la esquina inferior derecha de la celda seleccionada): así las referencias se mueven fila a fila sin saltos.

Cuándo SI.CONJUNTO gana a los SI anidados

A partir de Excel 2019 y en Microsoft 365 existe la función SI.CONJUNTO (en inglés IFS), pensada justo para esto: encadenar varias condiciones sin anidar SI. Mientras que con SI clásico una regla con cuatro casos se convierte en un SI(...; SI(...; SI(...))) difícil de leer, con SI.CONJUNTO se escribe una lista de parejas "prueba -> resultado" y Excel se queda con la primera que se cumple.

=SI.CONJUNTO(B2>=9;"Sobresaliente";B2>=7;"Notable";B2>=5;"Aprobado";VERDADERO;"Suspenso")

En esta fórmula, si B2 es 7,5, devuelve "Notable" (la primera condición que se cumple). El último par VERDADERO;"Suspenso" actúa como "en otro caso" para evitar el error #N/A cuando ninguna condición se cumple. SI.CONJUNTO es la elección clara para calificaciones, tramos de renta o de descuento, categorías de cliente y, en general, cualquier caso con más de tres condiciones excluyentes. No existe en Excel 2016 ni en versiones anteriores, donde toca seguir con SI anidados o, si los valores están tabulados, con BUSCARV (VLOOKUP) en una tabla auxiliar.

Lo que ya sabes hacer con la función SI y varias condiciones

  • SI combinada con Y (AND) es para "se tienen que cumplir todas": descuento solo si es cliente nuevo y el importe es alto.
  • SI combinada con O (OR) es para "basta con una": descuento si es cliente nuevo o empleado, sin exigir las dos.
  • SI combinada con NO (NOT) invierte una comparación o una condición compuesta: "todo lo que NO sea mayor que 5" o "todo lo que NO cumpla las dos a la vez".
  • Los paréntesis se cuentan igual que en una cuenta: cada SI, cada Y, cada O y cada NO que abras tiene que tener su cierre antes del Entrar.
  • Los textos en la comparación y en los resultados van siempre entre comillas dobles; los números, sin comillas.

Tu siguiente paso es probar SI.CONJUNTO (IFS) cuando la hoja tenga más de dos o tres casos excluyentes: verás que las fórmulas quedan más cortas y se leen de arriba a abajo como una lista de reglas.

F2fx=SI(Y(B2>=50;O(C2="Sí";D2="Sí"));B2*10%;"Sin descuento")
A B C D E F
1 Pedido Importe Nuevo cliente Empleado Descuento SI.Y Descuento SI.O
2 101 38,00 Sí No Sin descuento Sin descuento
3 102 60,00 Sí No 6,00 6,00
4 103 120,00 Sí No 12,00 12,00
5 104 45,00 No No Sin descuento Sin descuento
6 105 80,00 No Sí Sin descuento 8,00
Pedidos
C2fx=SI(NO(B2>5);"Reponer";"OK")
A B C
1 Producto Unidades Estado
2 Cuaderno 12 OK
3 Bolígrafo 3 Reponer
4 Carpeta 5 Reponer
5 Grapa 0 Reponer
6 Pegamento 7 OK
7 Tijera 2 Reponer
8 Libreta 9 OK
Stock
G2fx=SI(NO(Y(C2="Sí";B2>=50));"Revisar";"Aceptado")
A B C D E F G
1 Pedido Importe Nuevo cliente Empleado Descuento SI.Y Descuento SI.O Revisión SI.NO
2 101 38,00 Sí No Sin descuento Sin descuento Revisar
3 102 60,00 Sí No 6,00 6,00 Aceptado
4 103 120,00 Sí No 12,00 12,00 Aceptado
5 104 45,00 No No Sin descuento Sin descuento Revisar
6 105 80,00 No Sí Sin descuento 8,00 Revisar
Pedidos

Dudas al usar la función SI con varias condiciones en Excel

1. Función SI en Excel con varias condiciones y distintas respuestas según cada una

Para devolver un resultado distinto por cada condición se anidan varias funciones SI, una dentro de la otra: =SI(A2>90;"Excelente";SI(A2>70;"Aprobado";SI(A2>50;"Suficiente";"Reprobado"))). Excel evalúa de izquierda a derecha y se queda con la primera condición que se cumpla, así que conviene ordenar los casos de mayor a menor.

2. Cómo poner varias condiciones en una función SI de Excel

Una función SI admite una condición por sí sola; para varias hay que combinarla con Y (todas se cumplen) o con O (basta una), por ejemplo =SI(Y(A2>50;B2>50);"Aprobado";"Reprobado"). Si necesitas más de dos ramas de respuesta, anida SI dentro de cada SI hasta cubrir todos los casos.

3. Cómo se escribe una fórmula SI en Excel con 3 condiciones

Se anidan dos SI dentro del valor_si_falso del primero, porque cada SI solo cubre dos caminos. Un ejemplo con tres notas de corte: =SI(A2>=9;"Sobresaliente";SI(A2>=7;"Notable";SI(A2>=5;"Aprobado";"Reprobado"))). Excel evalúa en orden y devuelve la primera rama cuya condición sea verdadera.

4. Para qué sirve la función SI combinada con O en Excel

La función O devuelve VERDADERO si al menos una de sus condiciones se cumple, y FALSO si ninguna lo hace, así que combinada con SI sirve para etiquetar registros que cumplen cualquiera de varios criterios a la vez. Un ejemplo: =SI(O(A2="España";A2="México");"Incluido";"Excluido"). Úsala cuando te basta con que se cumpla una sola condición para activar la respuesta.

5. Qué diferencia hay entre la función SI y la función SI.CONJUNTO en Excel

SI.CONJUNTO (IFS en inglés) evita anidar varios SI: en una sola fórmula escribes cada par condición-resultado y Excel devuelve el primero que se cumpla. Ejemplo: =SI.CONJUNTO(A2>=9;"Sobresaliente";A2>=7;"Notable";A2>=5;"Aprobado";VERDADERO;"Reprobado"). Está disponible desde Excel 2019 y Microsoft 365, y se lee mucho mejor que varias SI anidadas.

Fuentes

  1. MicrosoftSI — documentación oficialconsultado el 13/10/2026
  2. MicrosoftY — documentación oficialconsultado el 13/10/2026
  3. MicrosoftCONTAR.SI.CONJUNTO — documentación oficialconsultado el 13/10/2026
  4. MicrosoftSI.CONJUNTO — documentación oficialconsultado el 13/10/2026
  5. MicrosoftSUMAR.SI.CONJUNTO — documentación oficialconsultado el 13/10/2026