Menu

Funciones Y, O y NO en Excel con SI: ejemplos

=Y(B2>=10;B2<=20) devuelve VERDADERO solo cuando se cumplen todas las condiciones, y =O(B2="North";B2="South") devuelve VERDADERO cuando se cumple al menos una. Aprende Y, O, NO y XO solas y dentro de SI, cómo comprobar si un número está entre dos valores y cómo escribir Y y O en fórmulas matriciales.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=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).

Aprobar las dos partes, o una de ellas
D2
ABCDE
1StudentExamProjectBoth 50+Either 50+
2Ana7264PassPass
3Ben4580FailPass
4Chloe5851PassPass
5Dan3842FailFail
6Eve9147FailPass
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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:

¿La temperatura está dentro del rango?
C2
ABCD
1SampleTempBetween 10 and 20Status
2S114TRUEOK
3S222FALSECheck
4S310TRUEOK
5S47FALSECheck
6S520TRUEOK
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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:

Zona por región
C2
ABC
1OrderRegionZone
21001NorthZone 1
31002EastZone 2
41003SouthZone 1
51004WestZone 2
61005southZone 1
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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.

NO y XO
D2
ABCDE
1TaskOwnerStatusOpenOne check only
2ReportAnaDoneFALSEFALSE
3BudgetBenOpenTRUEFALSE
4SlidesAnaOpenTRUETRUE
5SurveyBenDoneFALSETRUE
6PlanAnaDoneFALSEFALSE
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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:

Regla del bono
E2
ABCDE
1RepRegionSalesNew clientBonus
2AnaNorth1200NoBonus
3BenNorth700YesBonus
4ChloeSouth1500Yes
5DanNorth900No
6EveNorth1100YesBonus
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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

Envío gratis
D2
ABCD
1OrderTotalMemberShipping
2100135Yes
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

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.

Contar con * y +
F2
ABCDEF
1RepRegionSalesCount
2AnaNorth1200North and over 1,0002
3BenSouth700North or over 1,0004
4ChloeNorth900
5DanSouth1500
6EveNorth1100
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR