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.
| 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 | — |
- Abre un libro nuevo y crea una hoja llamada
Pedidos. - Escribe los encabezados Pedido, Precio, Cliente nuevo, Importe y Descuento en A1, B1, C1, D1 y E1.
- Rellena las cinco filas con los datos de la tabla (los precios sin IVA, los importes calculados a mano).
- Selecciona la celda
E2y escribe la fórmula:=SI(Y(C2="Sí";D2>=50);D2*10%;"—"). - Pulsa Entrar y comprueba que en
E2aparece6,00(el 10 % de 60,00). - Sitúa el cursor sobre la esquina inferior derecha de
E2hasta ver el controlador de relleno (la cruz negra) y arrástralo hacia abajo hastaE6. - Verifica que en
E3,E4yE6aparece el guion—, y enE5aparece9,00.
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
- Selecciona la celda
E2haciendo clic en ella. - Pulsa
=para empezar la fórmula. - Escribe
SI(para abrir la función SI. - Dentro, antes de la primera condición, escribe
Y(para abrir la función Y. - Escribe la primera condición:
C2="Sí"(el texto entre comillas dobles). - Pulsa
;para separar argumentos y escribe la segunda condición:D2>=50. - Cierra la función Y con
). - Pulsa
;y escribe el valor si verdadero:D2*10%(sin comillas porque es un cálculo). - Pulsa
;y escribe el valor si falso:"—"(entre comillas porque es un texto). - Cierra el paréntesis del SI con
)y pulsa Entrar.
=SI(Y(C2="Sí";D2>=50);D2*10%;"—")
El resultado fila a fila
| 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 | — |
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.
- Selecciona la celda
E2y reemplaza su contenido por la nueva fórmula. - 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). - Cambia la columna C de la fila 5 a
Noy sube su importe a 120,00, para ver un caso de empleado con importe alto que sí aplica. - Arrastra la fórmula de
E2hastaE6con el controlador de relleno.
| 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 | — |
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.
; 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
Ydentro de la prueba lógica cuando las dos condiciones deben cumplirse a la vez. - Usas
Odentro de la prueba lógica cuando basta con que se cumpla una de las dos. - Usas
NOpara 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í.
YyOadmiten 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
- MicrosoftSI — documentación oficialconsultado el 12/10/2026
- MicrosoftCONTAR.SI — documentación oficialconsultado el 12/10/2026
- MicrosoftLímites de las fórmulas — documentación oficialconsultado el 12/10/2026
- MicrosoftPROMEDIO.SI — documentación oficialconsultado el 12/10/2026
- MicrosoftSUMAR.SI — documentación oficialconsultado el 12/10/2026