Funciones Y y O en Excel (combinar condiciones)
Combina condiciones en Excel con las funciones Y y O, junto a SI: aprobar si se cumplen todas, descuento si se cumple alguna. Guía con ejemplos.
Las funciones Y y O en Excel son dos de las herramientas lógicas más útiles cuando necesitas evaluar varias condiciones a la vez. Si alguna vez te has preguntado cómo comprobar que un alumno cumple dos requisitos al mismo tiempo, o cómo aplicar un descuento cuando se cumple cualquiera de dos circunstancias, la respuesta está en estas dos funciones.
La función Y() (en inglés AND) devuelve VERDADERO solo cuando todas las condiciones que le indicas se cumplen, y FALSO en cuanto una sola falla. La función O() (en inglés OR) funciona de forma opuesta: devuelve VERDADERO si al menos una de las condiciones se cumple, y solo da FALSO cuando ninguna se cumple.
En este artículo vas a ver cómo funcionan por dentro, cómo combinarlas con la función SI para tomar decisiones automáticas, cómo usarlas en formato condicional, la diferencia con la función XO (o exclusivo), la alternativa con operadores matemáticos (* y +) y los errores más habituales que cometen quienes empiezan a usarlas. Todo con ejemplos prácticos y fórmulas listas para copiar.

Qué devuelven las funciones Y() y O() en Excel
Antes de entrar en fórmulas complejas, conviene tener clara la base: tanto Y() como O() son funciones lógicas que evalúan una o varias condiciones (comparaciones que dan como resultado VERDADERO o FALSO) y devuelven un único valor lógico. No devuelven texto, ni números, ni celdas: devuelven exclusivamente VERDADERO o FALSO.
Esto es clave porque, usadas solas, estas funciones sirven sobre todo como comprobación. Su verdadero potencial aparece cuando las combinas con otras funciones que sí actúan según ese resultado, como SI() o el formato condicional, que veremos más adelante.
La lógica de Y(): todas las condiciones deben cumplirse
Con Y() puedes escribir tantas condiciones como necesites, separadas por punto y coma. La fórmula =Y(condición1;condición2;condición3) solo devuelve VERDADERO si las tres condiciones son ciertas a la vez. Basta con que una sola sea falsa para que el resultado global sea FALSO. Piensa en ella como una cadena: si un eslabón falla, la cadena entera falla.
La lógica de O(): con una condición cierta es suficiente
Con O() el planteamiento es más permisivo. La fórmula =O(condición1;condición2;condición3) devuelve VERDADERO en cuanto una sola de las condiciones se cumple, sin importar qué pase con las demás. Solo obtienes FALSO si ninguna de las condiciones es cierta.
En resumen: Y() / AND da VERDADERO cuando TODAS las condiciones son ciertas y FALSO en cuanto una sola falla; O() / OR da VERDADERO cuando AL MENOS UNA condición es cierta y solo da FALSO cuando NINGUNA lo es.
Tablas de verdad de Y() y O() con dos condiciones
Para entender bien el comportamiento, nada mejor que ver una tabla de verdad con dos condiciones, a las que llamaremos A y B. Fíjate en cómo cambia el resultado de Y(A;B) frente a O(A;B) según los valores de A y B.
| A | B | Y(A;B) | O(A;B) |
|---|---|---|---|
| VERDADERO | VERDADERO | VERDADERO | VERDADERO |
| VERDADERO | FALSO | FALSO | VERDADERO |
| FALSO | VERDADERO | FALSO | VERDADERO |
| FALSO | FALSO | FALSO | FALSO |
Como puedes ver, Y() solo marca VERDADERO en la primera fila, cuando ambas condiciones son ciertas. En cambio, O() marca VERDADERO en tres de las cuatro combinaciones posibles, y solo falla cuando las dos condiciones son falsas. Esta tabla es la base para entender también el formato condicional y las fórmulas anidadas que veremos después.
La función Y() en Excel: sintaxis y ejemplo práctico
Sintaxis de Y()
La sintaxis es sencilla: =Y(valor_lógico1;[valor_lógico2];…). Puedes incluir hasta 255 argumentos en las versiones modernas de Excel, aunque en la práctica rara vez necesitarás más de tres o cuatro condiciones en la misma fórmula. Cada argumento puede ser una comparación directa (como B2>=5) o una celda que ya contenga VERDADERO o FALSO.
Ejemplo: aprobar un examen solo si se cumplen dos requisitos
Imagina que quieres marcar como apto a un alumno solo si su nota es igual o superior a 5 y, además, su asistencia es igual o superior al 80%. La nota está en la celda B2 y la asistencia (en tanto por uno) en C2. La fórmula sería: =Y(B2>=5;C2>=0,8). Si el alumno saca un 7 pero solo ha asistido al 60%, el resultado será FALSO, porque no cumple ambas condiciones a la vez.
| Alumno | Nota | Asistencia | Fórmula Y() | Resultado |
|---|---|---|---|---|
| Ana | 7 | 90% | =Y(B2>=5;C2>=0,8) | VERDADERO |
| Luis | 6 | 60% | =Y(B3>=5;C3>=0,8) | FALSO |
| Marta | 4 | 95% | =Y(B4>=5;C4>=0,8) | FALSO |
La función O() en Excel: sintaxis y ejemplo práctico
Sintaxis de O()
La sintaxis de O() es idéntica en estructura: =O(valor_lógico1;[valor_lógico2];…). La diferencia está únicamente en la lógica de evaluación: aquí basta con que una condición sea cierta para que el resultado final sea VERDADERO.
Ejemplo: aplicar un descuento si se cumple cualquiera de dos condiciones
Supongamos que quieres aplicar un descuento comercial si el cliente es VIP o si su compra supera los 100 €. No hace falta que se cumplan las dos cosas: con una es suficiente. Si la columna B indica «Sí»/»No» para cliente VIP y la columna C tiene el importe de compra, la fórmula sería: =O(B2=»Sí»;C2>100).
| Cliente | ¿VIP? | Compra | Fórmula O() | Resultado |
|---|---|---|---|---|
| Elena | Sí | 45 € | =O(B2=»Sí»;C2>100) | VERDADERO |
| Jorge | No | 150 € | =O(B3=»Sí»;C3>100) | VERDADERO |
| Sara | No | 30 € | =O(B4=»Sí»;C4>100) | FALSO |
La combinación estrella: SI() junto a Y() y O()
Aunque Y() y O() son útiles por sí solas, su uso más habitual y más potente es dentro de la función SI(), sustituyendo a la condición de la prueba lógica. De este modo, en lugar de limitarte a ver VERDADERO o FALSO, puedes hacer que Excel muestre el texto, número o cálculo que tú decidas según el resultado.
Estructura de SI(Y(…);…;…)
La fórmula general es: =SI(Y(condición1;condición2);valor_si_verdadero;valor_si_falso). Retomando el ejemplo del examen: =SI(Y(B2>=5;C2>=0,8);»Apto»;»No apto»). Excel primero evalúa la parte Y(); si el resultado es VERDADERO, la función SI devuelve «Apto»; si es FALSO, devuelve «No apto». Para repasar en detalle el funcionamiento de esta función, puedes consultar nuestra guía de la función SI en Excel.
Estructura de SI(O(…);…;…)
El mismo principio se aplica con O(). Volviendo al ejemplo del descuento: =SI(O(B2=»Sí»;C2>100);»Aplicar descuento»;»Sin descuento»). Aquí, con que se cumpla una sola de las dos condiciones, ya se muestra el mensaje de descuento aplicado.
Si necesitas evaluar muchas condiciones distintas con resultados diferentes para cada una (no solo dos posibilidades), quizá te interese también la función SI.CONJUNTO, que simplifica los SI anidados largos.
La función NO() para negar una condición
La función NO() es la tercera pieza del trío de funciones lógicas básicas. Su trabajo es sencillo: invierte el resultado de una condición. Si la condición es VERDADERA, NO() la convierte en FALSA, y viceversa.
Su sintaxis es =NO(valor_lógico) y solo admite un argumento. Por ejemplo, si quieres marcar como pendiente todo lo que no esté marcado como «Entregado», puedes escribir: =NO(B2=»Entregado»), que dará VERDADERO en cualquier celda que tenga un valor distinto a «Entregado».
También puedes combinarla con Y() y O() para construir condiciones más elaboradas, como =SI(Y(NO(B2=»Cancelado»);C2>0);»En proceso»;»Revisar»), que comprueba que el pedido no esté cancelado y que tenga unidades pendientes.
La función O exclusivo (XO) en Excel
Junto a Y(), O() y NO(), Excel incluye desde hace varias versiones la función XO() (o exclusivo, «exclusive or» en inglés). Su comportamiento se confunde a menudo con el de O(), pero hay una diferencia importante: XO() devuelve VERDADERO solo cuando el número de condiciones verdaderas es impar. Con dos condiciones, esto se traduce en que da VERDADERO cuando una es cierta y la otra falsa, pero da FALSO si ambas son verdaderas (a diferencia de O(), que en ese caso también daría VERDADERO).
| A | B | O(A;B) | XO(A;B) |
|---|---|---|---|
| VERDADERO | VERDADERO | VERDADERO | FALSO |
| VERDADERO | FALSO | VERDADERO | VERDADERO |
| FALSO | VERDADERO | VERDADERO | VERDADERO |
| FALSO | FALSO | FALSO | FALSO |
Usar Y() y O() dentro del formato condicional
Una de las aplicaciones más visuales de estas funciones es dentro del formato condicional, en concreto en la opción «Utilice una fórmula que determine las celdas para aplicar formato». En lugar de limitarte a resaltar celdas por su valor, puedes resaltar filas enteras según se cumplan varias condiciones combinadas.
- Selecciona el rango de celdas o la fila donde quieres aplicar el resaltado.
- Ve a Inicio > Formato condicional > Nueva regla.
- Elige «Utilice una fórmula que determine las celdas para aplicar formato».
- Escribe una fórmula con Y() u O() que devuelva VERDADERO o FALSO, por ejemplo =Y($B2>=5;$C2>=0,8).
- Define el formato (color de relleno, fuente, borde) que se aplicará cuando la fórmula sea VERDADERA.
- Acepta y comprueba que el resaltado se aplica solo a las filas que cumplen la condición combinada.
Fíjate en el uso del signo de dólar ($) antes de la columna (por ejemplo $B2): esto bloquea la columna pero deja libre la fila, de modo que la regla se adapta correctamente a cada fila del rango seleccionado. Si quieres profundizar en todas las posibilidades de esta herramienta, tenemos una guía completa sobre el formato condicional en Excel. El formato condicional con O() es perfecto, además, para marcar en rojo cualquier fila que incumpla al menos uno de varios requisitos: por ejemplo, =O($D2<0;$E2=»») resalta filas con importes negativos o con un campo obligatorio vacío, sin necesidad de dos reglas separadas.
Anidar funciones Y() y O() juntas
En situaciones reales, las condiciones no siempre son tan simples como «todo debe cumplirse» o «basta con una». A veces necesitas combinar ambas lógicas dentro de la misma fórmula, anidando Y() dentro de O(), o al revés.
Por ejemplo: quieres dar el visto bueno a un pedido si (el cliente es habitual Y el importe supera 50 €) O (el cliente es nuevo Y el importe supera 200 €). La fórmula sería: =O(Y(B2=»Habitual»;C2>50);Y(B2=»Nuevo»;C2>200)). Aquí O() actúa como el conector externo entre dos bloques, y cada bloque interno usa Y() para exigir sus dos condiciones.
También puedes integrarlo todo dentro de un SI(): =SI(O(Y(B2=»Habitual»;C2>50);Y(B2=»Nuevo»;C2>200));»Aprobado»;»Pendiente de revisión»). Cuantos más niveles de anidamiento añadas, más importante es cuadrar bien los paréntesis y usar la barra de fórmulas o el asistente de funciones para revisar cada bloque por separado. Anidar dos o tres niveles de Y() y O() es manejable, pero si tu lógica crece más allá de eso, la fórmula se vuelve difícil de leer y de mantener; en esos casos, valora dividir el cálculo en columnas auxiliares (una condición por columna) o usar SI.CONJUNTO para ganar claridad.
La alternativa moderna: usar * (multiplicación) como Y y + (suma) como O
Existe una técnica muy utilizada en fórmulas matriciales y en SUMAPRODUCTO que aprovecha una propiedad matemática de los valores lógicos: Excel trata VERDADERO como 1 y FALSO como 0 cuando se usan en operaciones aritméticas. Esto permite sustituir Y() por el operador * (multiplicación) y O() por el operador + (suma) dentro de fórmulas de tipo array.
La lógica es la siguiente: al multiplicar varias condiciones, el resultado solo es distinto de cero (equivalente a VERDADERO) si todas las condiciones valen 1, exactamente igual que Y(). Al sumar varias condiciones, el resultado es mayor que cero en cuanto una sola vale 1, igual que O().
Esta técnica es especialmente útil dentro de SUMAPRODUCTO, porque esta función no siempre admite bien la sintaxis de Y() y O() cuando se trabaja con rangos completos (matrices). Por ejemplo, para sumar los importes de la columna C solo cuando la región sea «Norte» y el año sea 2024, usarías: =SUMAPRODUCTO((A2:A100=»Norte»)*(B2:B100=2024)*(C2:C100)).
Y para sumar cuando la región sea «Norte» o «Sur»: =SUMAPRODUCTO(((A2:A100=»Norte»)+(A2:A100=»Sur»))*(C2:C100)). Fíjate en que aquí se usa + entre las dos condiciones de región (comportamiento O) y luego se multiplica por el importe para filtrar solo las filas que cumplen. Si quieres explorar más casos con esta función, tenemos una guía específica sobre la función SUMAPRODUCTO.
Errores comunes al usar Y() y O()
Aunque son funciones sencillas en teoría, en la práctica generan bastantes dudas y errores. Estos son los más frecuentes que verás al trabajar con Y() y O():
- Confundir el punto y coma con la coma: en la versión en español de Excel, los argumentos se separan con ;, no con ,. Escribir =Y(B2>=5,C2>=0,8) puede dar error o resultados incorrectos.
- Usar Y() cuando en realidad quieres O() (y viceversa): es el error conceptual más habitual. Si tu regla exige demasiado y nada se cumple, revisa si en realidad necesitabas O() en lugar de Y().
- Olvidar los paréntesis al anidar funciones: cada Y() u O() abierto necesita su paréntesis de cierre correspondiente; un desajuste hace que Excel muestre un aviso de fórmula incorrecta y no te deje introducirla, o que el resultado sea inesperado.
- Referencias relativas mal ancladas en formato condicional: olvidar el símbolo $ en la columna hace que la regla se desplace de forma incorrecta al aplicarse a varias filas.
- Comparar texto sin tener en cuenta mayúsculas o espacios: «Sí » (con espacio) no es igual a «Sí» para Excel, lo que puede hacer fallar silenciosamente una condición dentro de Y() u O().
- Anidar demasiados niveles de Y() y O() sin usar columnas auxiliares, lo que dificulta detectar dónde está el fallo si el resultado no es el esperado.
Muchos de estos errores, además, terminan generando valores de error visibles como #¡VALOR! o #¿NOMBRE? en la celda. Si te interesa controlar y capturar estos errores de forma elegante en tus fórmulas con Y() y O(), consulta nuestra guía sobre cómo usar SI.ERROR en Excel.
Las funciones Y y O en Google Sheets
La buena noticia es que Google Sheets utiliza exactamente las mismas funciones, con el mismo nombre y el mismo comportamiento: Y() devuelve VERDADERO si todas las condiciones se cumplen, y O() devuelve VERDADERO si al menos una se cumple. También existen NO() y XO(), con idéntica lógica que en Excel.
La principal diferencia práctica está en el separador de argumentos: mientras que Excel en español usa el punto y coma (;) por defecto, Google Sheets suele usar la coma (,), aunque esto depende de la configuración regional de tu cuenta. Si copias una fórmula de Excel a Sheets y te da error, lo primero que debes revisar es si necesitas cambiar los ; por ,.
El resto de conceptos que hemos visto —combinación con SI(), uso en formato condicional, anidamiento de Y() y O(), e incluso la técnica de * y + en fórmulas tipo array— funcionan exactamente igual en Google Sheets, por lo que todo lo aprendido aquí es directamente trasladable entre ambas herramientas.
Nuestras plantillas ya traen las fórmulas lógicas montadas. Gratis.
Lo que más se pregunta
¿Cuál es la diferencia principal entre Y() y O() en Excel?
¿Puedo usar más de dos condiciones dentro de Y() u O()?
¿Cómo combino Y() y O() dentro de la misma fórmula SI()?
¿Qué diferencia hay entre O() y XO()?
¿Por qué mi fórmula con Y() da error #¿NOMBRE??
¿Por qué se recomienda usar * y + en vez de Y() y O() en SUMAPRODUCTO?
¿Funcionan igual las funciones Y y O en Google Sheets?
¿Puedo usar Y() y O() en formato condicional para resaltar filas completas?
En pocas palabras
Las funciones Y y O en Excel son el punto de partida para construir lógica condicional avanzada en tus hojas de cálculo. Una vez interiorizas que Y() exige el cumplimiento de todas las condiciones y O() se conforma con una sola, el resto —combinarlas con SI(), usarlas en formato condicional, anidarlas entre sí o sustituirlas por * y + en fórmulas matriciales— es cuestión de práctica.
Empieza por identificar, en cada caso real que se te presente, si la regla que necesitas es del tipo «todo debe cumplirse» o «basta con que se cumpla algo»: esa simple pregunta te dirá si necesitas Y() u O(), y a partir de ahí el resto de la fórmula se construye casi solo.
Excel® es una marca registrada de Microsoft Corporation. Este sitio no está afiliado a Microsoft.