Condicionales

Función SI con dos condiciones en Excel: cómo anidarla

octubre 31, 2026 Tuto Excel 14 min read
Función SI con dos condiciones en Excel: cómo anidarla

La fórmula SI con dos condiciones sirve para que Excel tome una decisión solo cuando se cumplen dos cosas a la vez, o cuando basta con que se cumpla una de ellas. Vas a aprender a escribirla sobre una hoja de pedidos con precios, clientes nuevos e importes, y al terminar sabrás montar =SI(Y(...)), =SI(O(...)) y =SI(NO(...)), además de anidar SI cuando las condiciones sean más de dos. Funciona en todas las versiones de Excel, desde Excel 2007 hasta Excel para Microsoft 365, en Excel para Mac y en Excel para la web.

Qué es la función SI y por qué le metemos dos condiciones

Imagina la hoja de pedidos de una tienda: en la columna B tienes el precio unitario, en la C si el comprador es cliente nuevo (Sí/No), y en la D el importe de la compra. Quieres aplicar un descuento solo cuando se den DOS cosas a la vez: que sea cliente nuevo y que el importe sea alto. Con un =SI simple no decides nada: Suyo Ino decides nada: =SI(D2>=50;D2*10%;0) aplica el descuento a todos los pedidos grandes, sean nuevos o no. Necesitas una fórmula que mire dos cosas a la vez antes de decidir. Eso es justo lo que hace =SI(Y(…)): mete una prueba lógica combinada dentro del SI. La función SI por sí sola compara una cosa; combinada con Y, O o NO, decide sobre varias condiciones sin salir de la misma celda. La sintaxis es =SI(prueba_lógica; valor_si_verdadero; valor_si_falso)` y dentro de la prueba_lógica cuelgas las funciones lógicas Y, O y NO según lo que necesites.

Las piezas de la fórmula: SI, Y, O y NO

La fórmula SI tiene tres huecos: =SI(prueba_lógica; valor_si_verdadero; valor_si_falso). En el primero decides qué tiene que pasar para que Excel elija una rama u otra. Dentro de ese hueco, en vez de poner una comparación sola como A2>10, cuelgas una función lógica que combina varias comparaciones. Esa función lógica es la que decide si el conjunto es VERDADERO o FALSO, y el SI actúa en consecuencia. La función Y devuelve VERDADERO solo si TODAS las condiciones se cumplen; la función O devuelve VERDADERO si al menos UNA se cumple; la función NO invierte el resultado de una sola condición (convierte un VERDADERO en FALSO y al revés). Las tres se escriben en español en tu Excel.

SI(Y(…)) cuando deben cumplirse las dos condiciones

Y (en inglés AND) evalúa varias condiciones y devuelve VERDADERO solo cuando todas son verdaderas. En cuanto una falla, todo el conjunto es FALSO. La fórmula es =SI(Y(condición1;condición2);"Sí"; o"). Admite hasta 255 condiciones dentro de Y, así que no se queda corta en dos. Es la pieza que usarás cuando necesites que pasen dos cosas a la vez: que el cliente sea nuevo Y que el importe supere una cifra, por ejemplo.

SI(O(…)) cuando basta con que se cumpla una

O (en inglés OR) evalúa varias condiciones y devuelve VERDADERO si al menos una se cumple. Solo si todas fallan devuelve FALSO. La fórmula es =SI(O(condición1;condición2);"Sí"; o"). También admite hasta 255 condiciones dentro de O. Úsala cuando te baste con que se cumpla una: que el cliente sea nuevo O que sea empleado, por ejemplo.

SI(NO(…)) para invertir una sola condición

NO (en inglés NOT) acepta una sola condición y devuelve el valor lógico contrario: si la condición es VERDADERA, NO devuelve FALSO, y al revés. La fórmula es =SI(NO(condición);"Sí"; o"). Sirve para negar un único criterio, como aplicar el descuento a los que NO son clientes nuevos. Si necesitas negar varias condiciones a la vez, mejor combínalo con Y o con O: =SI(Y(NO(...);NO(...));...;...).

Los argumentos de SI uno por uno

Argumento Obligatorio Qué escribe el lector Ejemplo dentro de =SI(...)
prueba_lógica Sí La comparación o la función lógica que da VERDADERO o FALSO Y(C2="Sí";D2>=50)
valor_si_verdadero Sí Lo que muestra Excel si la prueba es VERDADERA; texto entre comillas, número a secas D2*10%
valor_si_falso No Lo que muestra si la prueba es FALSA; si se omite, Excel devuelve FALSO "—"

Ejemplo completo con los tres argumentos a la vez: =SI(Y(C2="Sí";D2>=50);D2*10%;"—"). La prueba lógica es Y(C2="Sí";D2>=50); el valor si verdadero es el cálculo D2*10%; el valor si falso es el guion "—". Cualquiera de los dos valores puede ser otra fórmula, otro cálculo o un texto.

La hoja de pedidos: descuento solo si es cliente nuevo y compra ≥ 50

Vamos a montar una hoja de pedidos pequeña para practicar. Copia los datos tal cual en una hoja nueva de tu Excel: encabezados en la fila 1 y cinco pedidos de la fila 2 a la 6. La columna A es el identificador del pedido, la B el precio unitario, la C si es cliente nuevo (Sí/No), la D el importe total y la E será donde escribas la fórmula del descuento. Fíjate en la columna C: en la fila 4 el pedido es de un cliente existente (No) y el importe es alto, así que ahí verás cómo la fórmula no aplica el descuento aunque se cumpla una sola de las dos condiciones.

E2fx=SI(Y(C2="Sí";D2>=50);D2*10%;"—")
A B C D E
1 Pedido Precio Cliente nuevo Importe Descuento
2 P-001 12,00 Sí 60,00 6,00
3 P-002 4,50 Sí 22,50 —
4 P-003 18,00 No 72,00 —
5 P-004 9,00 Sí 90,00 9,00
6 P-005 5,00 No 30,00 —
E2 Arrastra el controlador de relleno hasta E6
Pedidos
  1. Abre un libro nuevo y crea una hoja llamada Pedidos.
  2. Escribe los encabezados Pedido, Precio, Cliente nuevo, Importe y Descuento en A1, B1, C1, D1 y E1.
  3. Rellena las cinco filas con los datos de la tabla (los precios sin IVA, los importes calculados a mano).
  4. Selecciona la celda E2 y escribe la fórmula: =SI(Y(C2="Sí";D2>=50);D2*10%;"—").
  5. Pulsa Entrar y comprueba que en E2 aparece 6,00 (el 10 % de 60,00).
  6. Sitúa el cursor sobre la esquina inferior derecha de E2 hasta ver el controlador de relleno (la cruz negra) y arrástralo hacia abajo hasta E6.
  7. Verifica que en E3, E4 y E6 aparece el guion —, y en E5 aparece 9,00.
Comprueba: en E2 debe verse 6,00, en E5 debe verse 9,00 y en las tres filas restantes el guion. Si en alguna fila que debería llevar descuento sale —, revisa que la columna C tenga exactamente escrito Sí (sin tilde y con la primera letra en mayúscula) y que la columna D supere o iguale 50.

Cómo escribir la fórmula paso a paso

  1. Selecciona la celda E2 haciendo clic en ella.
  2. Pulsa = para empezar la fórmula.
  3. Escribe SI( para abrir la función SI.
  4. Dentro, antes de la primera condición, escribe Y( para abrir la función Y.
  5. Escribe la primera condición: C2="Sí" (el texto entre comillas dobles).
  6. Pulsa ; para separar argumentos y escribe la segunda condición: D2>=50.
  7. Cierra la función Y con ).
  8. Pulsa ; y escribe el valor si verdadero: D2*10% (sin comillas porque es un cálculo).
  9. Pulsa ; y escribe el valor si falso: "—" (entre comillas porque es un texto).
  10. Cierra el paréntesis del SI con ) y pulsa Entrar.

=SI(Y(C2="Sí";D2>=50);D2*10%;"—")

El resultado fila a fila

E2fx=SI(Y(C2="Sí";D2>=50);D2*10%;"—")
A B C D E
1 Pedido Precio Cliente nuevo Importe Descuento
2 P-001 12,00 Sí 60,00 6,00
3 P-002 4,50 Sí 22,50 —
4 P-003 18,00 No 72,00 —
5 P-004 9,00 Sí 90,00 9,00
6 P-005 5,00 No 30,00 —
Pedidos

Las dos primeras filas con descuento coinciden con cliente nuevo (Sí) y importe alto (≥ 50). Las demás o no son nuevos o no llegan a 50, así que la fórmula devuelve el guion "—" que pusiste como valor_si_falso.

Cambiar una condición por otra con O

Ahora la regla cambia: el descuento se aplica si el comprador es cliente nuevo O si es empleado, siempre que el importe llegue a 50. Solo necesitamos que se cumpla UNA de las dos primeras condiciones. Sustituye Y por O dentro de la misma fórmula y arrastra otra vez.

  1. Selecciona la celda E2 y reemplaza su contenido por la nueva fórmula.
  2. Cambia la columna C de la fila 6 a Empleado (mantén el importe en 30,00 para que veas que sin llegar a 50 no hay descuento aunque se cumpla la primera parte).
  3. Cambia la columna C de la fila 5 a No y sube su importe a 120,00, para ver un caso de empleado con importe alto que sí aplica.
  4. Arrastra la fórmula de E2 hasta E6 con el controlador de relleno.
E2fx=SI(Y(O(C2="Sí";C2="Empleado");D2>=50);D2*10%;"—")
A B C D E
1 Pedido Precio Cliente nuevo Importe Descuento
2 P-001 12,00 Sí 60,00 6,00
3 P-002 4,50 Sí 22,50 —
4 P-003 18,00 Empleado 72,00 7,20
5 P-004 9,00 No 120,00 —
6 P-005 5,00 Empleado 30,00 —
Pedidos
Comprueba: la fila 4 (Empleado con 72,00) ahora muestra 7,20, porque O se cumple al ver "Empleado" y además el importe llega a 50. La fila 5, aunque el importe es alto, no aplica porque la columna C dice "No" (no es nuevo ni empleado). La fila 6 es Empleado pero no llega a 50, así que tampoco.

Anidar SI para más de dos condiciones: hasta 64 niveles

Cuando la decisión tiene más de dos ramas, puedes anidar SI: meter un SI dentro del valor_si_falso de otro SI. Una fórmula con tres tramos de incentivo según el importe queda así: con importe ≥ 200 el descuento es del 15 %, con importe ≥ 100 es del 10 %, con importe ≥ 50 es del 5 %, y por debajo de 50 no hay descuento. La fórmula se lee de fuera hacia dentro: primero mira si llega a 200; si no, mira si llega a 100; si no, mira si llega a 50; y si tampoco, devuelve "—".

=SI(D2>=200;D2*15%;SI(D2>=100;D2*10%;SI(D2>=50;D2*5%;"—")))

En la fila 2, con 60,00, se cumple el tercer SI (≥ 50) y el descuento es 3,00; en la fila 5, con 120,00, se cumple el segundo SI (≥ 100) y el descuento es 12,00. Una fórmula admite hasta 8.192 caracteres y se pueden anidar hasta 64 niveles de funciones, aunque a partir de tres o cuatro niveles conviene pasarse a SI.CONJUNTO (en inglés IFS), que existe desde Excel 2019, y se lee mejor porque las condiciones van en orden, una tras otra, en lugar de anidarse.

Por qué la fórmula da error y cómo arreglarlo

Cuatro causas explican casi todos los errores al escribir una fórmula SI con dos condiciones. La primera es usar el nombre en inglés de la función; la segunda, olvidar las comillas en los textos; la tercera, mezclar el punto y coma con la coma por la configuración regional; y la cuarta, no cerrar paréntesis. Si los revisas uno por uno, en seguida das con el problema.

#¿NOMBRE? al escribir la función en inglés

Si escribes =IF(Y(C2="Sí";D2>=50);D2*10%;"—") en un Excel en español, la celda muestra #¿NOMBRE? porque IF no existe en tu idioma. Lo mismo pasa con =AND(...), =OR(...) o =NOT(...). La función se llama SI, Y, O y NO en el Excel configurado en español. Cámbialas y el error desaparece al instante.

La fórmula devuelve «FALSO» en vez de tu texto

Si escribes =SI(A2>10;"Alto") y A2 vale 5, Excel muestra FALSO. No es un error: es que omitiste el tercer argumento, valor_si_falso, y Excel devuelve el valor lógico FALSO por defecto. Solución: añade el tercer argumento, por ejemplo =SI(A2>10;"Alto";"Bajo"). Esto también pasa si cierras el paréntesis antes de tiempo y dejas el tercer argumento fuera de la fórmula.

Decimales y comas que se mezclan

En Excel configurado con separador decimal el punto (México, Estados Unidos), los argumentos se separan con coma y el decimal se escribe con punto. En el resto, con coma decimal, se separa con punto y coma. Si mezclas ambos (=SI(A1>10,5;"Alto","Bajo") en un Excel con coma decimal, o =SI(A1>10.5,"Alto","Bajo") en uno con punto decimal), la fórmula no se entiende. Revisa la configuración regional de Windows (o de Excel en Mac) y usa el separador que te corresponda.

Nota: en este tutorial los ejemplos se escriben con punto y coma porque el separador decimal es la coma. Si tu Excel usa el punto como decimal, sustituye cada ; por , y cada , decimal por ..

Dónde está SI y desde qué versión se usa

La función SI (en inglés IF) está en Excel desde hace décadas: la encontrarás en Excel 2003, 2007, 2010, 2013, 2016, 2019, 2021, 2024, en Microsoft 365, en Excel para Mac, en Excel para la web y en la app para móviles. Lo mismo ocurre con Y, O y NO. La función SI.CONJUNTO (en inglés IFS), que es la alternativa moderna para encadenar varias condiciones sin anidar SI, existe desde Excel 2019 y posteriores; en versiones anteriores, anidar SI es la única opción. Cuando las condiciones sean tres o más y la rama de cada una sea distinta, conviene pasarse a SI.CONJUNTO: la fórmula se lee de izquierda a derecha y reduce los anidamientos.

Lo que ya sabes hacer con la fórmula SI de dos condiciones

  • Escribes =SI(prueba_lógica; valor_si_verdadero; valor_si_falso) con punto y coma entre argumentos.
  • Usas Y dentro de la prueba lógica cuando las dos condiciones deben cumplirse a la vez.
  • Usas O dentro de la prueba lógica cuando basta con que se cumpla una de las dos.
  • Usas NO para invertir una sola condición dentro de la prueba lógica.

El siguiente paso es aprender SI.CONJUNTO, la función pensada para cuando las condiciones son tres o más y ya no quieres anidar SI uno dentro de otro.


Dudas al usar la fórmula SI con dos condiciones

  • ¿Puedo meter más de dos condiciones dentro del Y o del O? Sí. Y y O admiten hasta 255 condiciones cada una.
  • ¿Qué pasa si omito el tercer argumento del SI? Excel devuelve FALSO cuando la prueba lógica es falsa. No es un error, pero conviene poner siempre un valor explícito.
  • ¿Desde qué versión puedo usar SI.CONJUNTO en lugar de anidar SI? Desde Excel 2019, Excel 2021, Excel 2024 y Microsoft 365. En versiones anteriores tienes que anidar SI.
  • ¿Por qué mi fórmula da #¿NOMBRE? si está bien escrita? Casi siempre es porque pusiste la función en inglés (IF, AND, OR, NOT) en un Excel en español. Cámbialas a SI, Y, O y NO.
  • ¿Se puede usar SI con dos condiciones que miren columnas distintas? Sí, ese es el uso más habitual: una condición mira una columna y la otra, otra. Por ejemplo, que el cliente sea nuevo (columna C) y que el importe (columna D) llegue a 50.

Dudas al usar la fórmula SI con dos condiciones

1. Función SI en Excel con varias condiciones y varias respuestas

Con varias condiciones y varias respuestas se anida la función SI una dentro de otra, por ejemplo =SI(A2>=9;"Excelente";SI(A2>=7;"Bueno";SI(A2>=5;"Aprobado";"Reprobado"))). Cada SI adicional cubre un nuevo rango y Excel evalúa de izquierda a derecha hasta dar con la verdadera.

2. Ejemplos prácticos de la función SI en Excel

Un ejemplo típico es clasificar ventas en Alto, Medio o Bajo con un SI anidado según el importe en A2: =SI(A2>=1000;"Alto";SI(A2>=500;"Medio";"Bajo")). Otro muy usado es marcar aprobado o reprobado con =SI(B2>=5;"Aprobado";"Reprobado").

3. Cómo combinar la función SI con la función Y en Excel

La combinación se escribe =SI(Y(condición1;condición2);valor_si_verdadero;valor_si_falso), por ejemplo =SI(Y(A2>=18;B2="Sí");"Puede votar";"No puede votar"). Y exige que cada condición se cumpla a la vez; basta que una falle para que entre el resultado falso.

4. Qué es la función SI.CONJUNTO y para qué sirve

SI.CONJUNTO (IFS) prueba varias condiciones en una sola fórmula sin anidar y devuelve el valor correspondiente a la primera verdadera, por ejemplo =SI.CONJUNTO(A2>=9;"Excelente";A2>=7;"Bueno";A2>=5;"Aprobado";VERDADERO;"Reprobado"). Está disponible desde Excel 2019 y Microsoft 365.

5. Cómo anidar la función SI en Excel paso a paso

Se anida escribiendo un SI dentro del argumento valor_si_falso de otro SI: =SI(condición1;resultado1;SI(condición2;resultado2;resultado_si_falso)). Empieza con la condición más restrictiva a la izquierda y añade un SI por cada caso nuevo; Excel admite hasta 64 niveles de anidación.

Fuentes

  1. MicrosoftSI — documentación oficialconsultado el 12/10/2026
  2. MicrosoftCONTAR.SI — documentación oficialconsultado el 12/10/2026
  3. MicrosoftLímites de las fórmulas — documentación oficialconsultado el 12/10/2026
  4. MicrosoftPROMEDIO.SI — documentación oficialconsultado el 12/10/2026
  5. MicrosoftSUMAR.SI — documentación oficialconsultado el 12/10/2026