=Y(B2>=50;C2>=50) devuelve VERDADERO solo cuando se cumplen las dos condiciones. =O(B2>=50;C2>=50) devuelve VERDADERO cuando se cumple al menos una. Dentro de SI convierten dos condiciones en una sola prueba: =SI(Y(B2>=50;C2>=50);"Pass";"Fail"). En inglés estas funciones se llaman AND, OR e IF, y la tabla muestra las fórmulas así: =IF(AND(B2>=50,C2>=50),"Pass","Fail"). La tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Student | Exam | Project | Both 50+ | Either 50+ |
| 2 | Ana | 72 | 64 | Pass | Pass |
| 3 | Ben | 45 | 80 | Fail | Pass |
| 4 | Chloe | 58 | 51 | Pass | Pass |
| 5 | Dan | 38 | 42 | Fail | Fail |
| 6 | Eve | 91 | 47 | Fail | Pass |
=SI(Y(B2>=50;C2>=50);"Pass";"Fail")Ben y Eve aprueban una parte y suspenden la otra, así que suspenden en la columna D (Y) y aprueban en la E (O). Dan suspende las dos y suspende en ambas columnas. Cambia el examen de Ben en B3 a 55 y aprueba también en D.
Función Y
=AND(logical1, [logical2], ...)
Y admite hasta 255 condiciones y devuelve VERDADERO solo si todas son VERDADERO. Basta un FALSO para que el resultado sea FALSO. Sola, Y muestra VERDADERO o FALSO en la celda; dentro de SI decide qué resultado devuelve SI.
Comprobar si un número está entre dos valores
Excel no tiene una función ENTRE. Usa Y con un límite inferior y uno superior:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Sample | Temp | Between 10 and 20 | Status |
| 2 | S1 | 14 | TRUE | OK |
| 3 | S2 | 22 | FALSE | Check |
| 4 | S3 | 10 | TRUE | OK |
| 5 | S4 | 7 | FALSE | Check |
| 6 | S5 | 20 | TRUE | OK |
=Y(B2>=10;B2<=20)S3 y S5 están justo en los límites y cuentan como dentro del rango, porque las pruebas usan >= y <=. Para excluir los límites, usa > y <. Si guardas los límites en celdas, =Y(B2>=$F$1;B2<=$F$2), puedes cambiar el rango sin editar la fórmula. Una prueba como 10<=B2<=20 no funciona en Excel: compara 10<=B2 (VERDADERO o FALSO) con 20, y Excel coloca VERDADERO y FALSO por encima de cualquier número, así que el resultado es siempre FALSO.
Función O
=OR(logical1, [logical2], ...)
O devuelve VERDADERO si al menos una condición es VERDADERO, y FALSO solo cuando todas son FALSO. Es la forma habitual de aceptar varios valores de texto:
| A | B | C | |
|---|---|---|---|
| 1 | Order | Region | Zone |
| 2 | 1001 | North | Zone 1 |
| 3 | 1002 | East | Zone 2 |
| 4 | 1003 | South | Zone 1 |
| 5 | 1004 | West | Zone 2 |
| 6 | 1005 | south | Zone 1 |
=SI(O(B2="North";B2="South");"Zone 1";"Zone 2")Las comparaciones de texto no distinguen mayúsculas, así que south en minúsculas también cae en Zone 1. Para una lista larga de valores aceptados, =OR(B2={"North","South","Central"}) (en su forma inglesa) compara B2 con cada elemento de la constante matricial de una vez.
NO y XO
NO (NOT en inglés) invierte un valor lógico: =NO(VERDADERO) es FALSO. Se lee bien cuando la condición que tienes es la contraria de la que quieres: =SI(NO(C2="Done");"Follow up";"") es lo mismo que =SI(C2<>"Done";"Follow up";"").
XO (XOR en inglés), disponible desde Excel 2013, es la o exclusiva: con dos condiciones es VERDADERO cuando exactamente una de ellas es VERDADERO, y FALSO cuando las dos son VERDADERO o las dos son FALSO. Con más condiciones, es VERDADERO cuando un número impar de ellas es VERDADERO.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Task | Owner | Status | Open | One check only |
| 2 | Report | Ana | Done | FALSE | FALSE |
| 3 | Budget | Ben | Open | TRUE | FALSE |
| 4 | Slides | Ana | Open | TRUE | TRUE |
| 5 | Survey | Ben | Done | FALSE | TRUE |
| 6 | Plan | Ana | Done | FALSE | FALSE |
=NO(C2="Done")La columna E es VERDADERO para Slides (Ana pero no Done) y Survey (Done pero no Ana), y FALSO donde se cumplen las dos o ninguna.
Y y O juntas
Las condiciones se pueden anidar: Y dentro de O u O dentro de Y. Un vendedor recibe un bono cuando está en la región North y, además, vendió más de 1000 o consiguió un cliente nuevo:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | New client | Bonus |
| 2 | Ana | North | 1200 | No | Bonus |
| 3 | Ben | North | 700 | Yes | Bonus |
| 4 | Chloe | South | 1500 | Yes | |
| 5 | Dan | North | 900 | No | |
| 6 | Eve | North | 1100 | Yes | Bonus |
=SI(Y(B2="North";O(C2>1000;D2="Yes"));"Bonus";"")Ana (ventas), Ben (cliente nuevo) y Eve (las dos cosas) reciben el bono. Chloe cumple la parte de O pero está en South, y Dan está en North pero no cumple ninguna de las condiciones de O. En Excel en español la fórmula de E2 es =SI(Y(B2="North";O(C2>1000;D2="Yes"));"Bonus";"").
Práctica: envío gratis
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Total | Member | Shipping |
| 2 | 1001 | 35 | Yes |
Tu turno: En D2, muestra "Free" cuando el total del pedido de B2 sea al menos 50 o el cliente sea socio (C2 es "Yes"); si no, muestra "Paid".
Y y O en fórmulas matriciales: usa * y +
Y y O reducen todo lo que reciben a un único VERDADERO o FALSO. Es lo que quieres en una sola fila, pero no cuando una fórmula trabaja sobre toda una columna a la vez: =Y(B2:B6="North";C2:C6>100) devuelve un único valor para las cinco filas juntas. En fórmulas matriciales (FILTRAR, SUMAPRODUCTO, SUMA sobre una condición) escribe las condiciones entre paréntesis y multiplícalas para Y, súmalas para O. VERDADERO cuenta como 1 y FALSO como 0, así que un producto vale 1 solo cuando las dos son verdaderas, y una suma vale al menos 1 cuando lo es cualquiera de ellas.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Count | ||
| 2 | Ana | North | 1200 | North and over 1,000 | 2 | |
| 3 | Ben | South | 700 | North or over 1,000 | 4 | |
| 4 | Chloe | North | 900 | |||
| 5 | Dan | South | 1500 | |||
| 6 | Eve | North | 1100 |
=SUMAPRODUCTO((B2:B6="North")*(C2:C6>1000))F2 cuenta 2 filas (Ana y Eve), F3 cuenta 4 (todos menos Ben). En F3 el >0 importa: una fila que cumple las dos condiciones suma 2, y la comparación convierte cualquier suma mayor que 0 en un único VERDADERO. El mismo patrón filtra filas, =FILTRAR(A2:C6;(B2:B6="North")*(C2:C6>1000)); para contar simplemente con lógica Y, CONTAR.SI.CONJUNTO (COUNTIFS en inglés) lo hace sin matrices: =CONTAR.SI.CONJUNTO(B2:B6;"North";C2:C6;">1000"), consulta la página de CONTAR.SI.CONJUNTO.
Preguntas frecuentes
¿Cómo uso SI con Y en Excel?
Pon Y en la prueba de SI: =SI(Y(B2>=50;C2>=50);"Pass";"Fail"). El resultado es Pass solo cuando B2 y C2 son los dos 50 o más.
¿Cómo compruebo si un número está entre dos valores en Excel?
Usa Y con dos comparaciones: =Y(B2>=10;B2<=20) devuelve VERDADERO para cualquier valor de 10 a 20, ambos incluidos. Dentro de SI: =SI(Y(B2>=10;B2<=20);"In range";"Out of range").
¿Qué diferencia hay entre Y y O en Excel?
Y devuelve VERDADERO solo cuando todas las condiciones son VERDADERO. O devuelve VERDADERO cuando al menos una condición es VERDADERO. =Y(VERDADERO;FALSO) es FALSO y =O(VERDADERO;FALSO) es VERDADERO.
¿Por qué Y no funciona en mi fórmula FILTRAR o SUMAPRODUCTO?
Y y O reducen todo un rango a un único VERDADERO o FALSO en lugar de uno por fila. En fórmulas matriciales, multiplica las condiciones para Y, (B2:B6="North")*(C2:C6>100), y súmalas para O.
¿Puedo usar Y y O en la misma fórmula?
Sí, anida una dentro de la otra: =SI(Y(B2="North";O(C2>1000;D2="Yes"));"Bonus";"") exige North y, además, ventas de más de 1000 o un Yes en D2.