La función O (en inglés OR) es una de las funciones lógicas más útiles de Excel: evalúa varias condiciones a la vez y devuelve VERDADERO si al menos una se cumple. En este tutorial vas a usarla sobre la hoja de pedidos de una pequeña tienda online que reparte a varias ciudades y decide cuándo el envío es gratis. Al terminar sabrás escribirla, combinarla con SI, aplicarla con formato condicional y encadenarla con funciones de suma y búsqueda. La función O está disponible en todas las versiones de Excel desde 2007, en Excel para la web, para Mac y para móviles, así que no tendrás problemas de compatibilidad.
Qué es la función O y para qué sirve
Imagina la hoja de pedidos de una tienda online. En la columna B aparece la ciudad de destino de cada pedido y en la columna C el importe. El responsable de logística quiere marcar con la palabra «Envio gratis» los pedidos que cumplan ciertas condiciones: que el destino sea Madrid, que sea Sevilla o que el importe supere 80. Cualquiera de las tres vale; no hace falta que se den todas a la vez.
La función O hace exactamente eso. Le pasas una lista de condiciones y devuelve VERDADERO si se cumple al menos una. Si ninguna se cumple, devuelve FALSO. No necesitas que las tres sean ciertas a la vez: basta con una para que el resultado sea VERDADERO.
Piensa en O como la palabra «o» del lenguaje hablado cuando une opciones: «Madrid o Sevilla». Si el pedido va a Madrid, vale. Si va a Sevilla, también vale. Si va a Valencia, ninguna condición se cumple y el resultado es FALSO.
Cómo se escribe y qué argumentos acepta
La sintaxis de la función O es muy sencilla: =O(valor_lógico1; [valor_lógico2]; …). El primer argumento es obligatorio y puedes añadir hasta 255 condiciones más, todas opcionales. Cada condición es una expresión lógica que Excel puede evaluar como VERDADERO o FALSO: una comparación, una función lógica anidada o una referencia a una celda que contenga VERDADERO o FALSO.
| Argumento | Obligatorio | Tipo de dato | Qué pasa si… |
|---|---|---|---|
| valor_lógico1 | Sí | Comparación, valor lógico o referencia | Si lo omites, Excel devuelve #¿NOMBRE? |
| valor_lógico2… | No | Comparación, valor lógico o referencia | Si lo omites, O evalúa solo el primero |
Cada argumento puede ser una comparación como B2="Madrid" o C2>80, una referencia a una celda que ya contenga VERDADERO o FALSO, o incluso un número: Excel interpreta el 0 como FALSO y cualquier otro número como VERDADERO. Si pasas texto directamente sin comillas, Excel lo toma como nombre de rango y devolverá #¿NOMBRE?; por eso el texto de las comparaciones va siempre entre comillas dobles. Si una celda referenciada está vacía, O la trata como FALSO y sigue evaluando las demás.
La diferencia entre O, Y y SI (y cuándo se combinan)
La diferencia entre O e Y (AND) es la misma que entre la palabra «o» y la palabra «y» del lenguaje normal. O devuelve VERDADERO si basta con que una condición se cumpla; Y exige que se cumplan todas a la vez. Si en tu hoja de pedidos ninguna ciudad vale por sí sola sino que necesitas que el destino sea Madrid y que además el importe supere 50, ahí entra Y, no O.
| Función | Devuelve VERDADERO cuando… | Devuelve FALSO cuando… |
|---|---|---|
| O | Al menos una condición es VERDADERO | Todas las condiciones son FALSO |
| Y | Todas las condiciones son VERDADERO | Alguna condición es FALSO |
La función SI (IF) es otra cosa: SI no evalúa varias condiciones por sí misma, sino que decide qué valor mostrar según el resultado de una prueba lógica. La prueba lógica puede ser una sola comparación o el resultado de O, de Y o de cualquier expresión que devuelva VERDADERO o FALSO. La pareja clásica es =SI(O(...);"Sí";"No"): SI le pregunta a O si alguna condición se cumple y, según la respuesta, muestra un texto u otro. Sobre la hoja de pedidos del taller quedaría así:
=SI(O(B2="Madrid";B2="Sevilla";C2>80);"Envio gratis";"Envio 3,95")
Decidir si un envío es gratis según la ciudad
Vamos a la práctica. Abre un libro nuevo y crea la hoja Pedidos con los datos siguientes. La celda activa es D2, donde escribirás la fórmula que decide si el envío es gratis.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Pedido | Ciudad | Importe | Tipo de envio |
| 2 | P-001 | Madrid | 45,00 | Envio gratis |
| 3 | P-002 | Sevilla | 32,50 | Envio gratis |
| 4 | P-003 | Valencia | 95,00 | Envio gratis |
| 5 | P-004 | Bilbao | 28,00 | Envio 3,95 |
| 6 | P-005 | Madrid | 22,00 | Envio gratis |
- En la celda B2 escribe
Madrid, en B3Sevilla, en B4Valencia, en B5Bilbaoy en B6Madrid. - En C2 escribe
45,00, en C332,50, en C495,00, en C528,00y en C622,00. - Selecciona D2 y escribe la fórmula
=SI(O(B2="Madrid";B2="Sevilla";C2>80);"Envio gratis";"Envio 3,95"). - Pulsa Entrar y arrastra el controlador de relleno de D2 hasta D6.
Verás que Madrid y Sevilla obtienen envío gratis por ciudad, Valencia también porque su importe supera 80, y Bilbao paga los 3,95 porque no es una ciudad bonificada ni llega al importe mínimo.
O dentro de formato condicional para resaltar filas
Ahora vamos a resaltar las filas completas de los pedidos con envío gratis usando formato condicional. La regla se basa en la misma lógica de O: si la ciudad es Madrid o Sevilla, pinta la fila.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Pedido | Ciudad | Importe | Tipo de envio |
| 2 | P-001 | Madrid | 45,00 | Envio gratis |
| 3 | P-002 | Sevilla | 32,50 | Envio gratis |
| 4 | P-003 | Valencia | 95,00 | Envio gratis |
| 5 | P-004 | Bilbao | 28,00 | Envio 3,95 |
| 6 | P-005 | Madrid | 22,00 | Envio gratis |
- Selecciona el rango A2:D6.
- En el cuadro de Nueva regla de formato, elige «Utilice una fórmula que determine las celdas para aplicar formato».
Dar formato a los valores donde esta fórmula sea verdadera:
=O($B2="Madrid";$B2="Sevilla")
[Formato…]
- En el campo de fórmula escribe
=O($B2="Madrid";$B2="Sevilla"). La referencia mixta$B2fija la columna B pero deja libre la fila, para que al copiar la regla a las demás celdas la fórmula mire siempre la ciudad de cada fila. - Pulsa Formato, ve a la pestaña Relleno, elige un amarillo claro y acepta dos veces.
Las filas de Madrid y Sevilla quedan pintadas; la fila de Bilbao se queda sin color porque ninguna condición se cumple.
$B2 (con el dólar antes de la B) y no B$2 o B2 a secas.Encadenar O con otras funciones (SI, SUMAR.SI, BUSCARX)
La función O se lleva especialmente bien con tres familias de funciones: SI para decidir, CONTAR.SI.CONJUNTO y SUMAR.SI.CONJUNTO para contar y sumar con condiciones, y BUSCARX (XLOOKUP) para buscar datos. Vamos a ver tres mini ejemplos sobre la misma hoja de pedidos.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Pedido | Ciudad | Importe | Tipo de envio | Pedidos a Madrid o Sevilla | Importe total bonificado |
| 2 | P-001 | Madrid | 45,00 | Envio gratis | 1 | 45,00 |
| 3 | P-002 | Sevilla | 32,50 | Envio gratis | 1 | 32,50 |
| 4 | P-003 | Valencia | 95,00 | Envio gratis | 0 | 0,00 |
| 5 | P-004 | Bilbao | 28,00 | Envio 3,95 | 0 | 0,00 |
| 6 | P-005 | Madrid | 22,00 | Envio gratis | 1 | 22,00 |
En E2, cuenta cuántos pedidos van a Madrid o Sevilla con la forma moderna, que es la más clara y la que mejor se lee:
=CONTAR.SI.CONJUNTO(B2:B6;"Madrid")+CONTAR.SI.CONJUNTO(B2:B6;"Sevilla")
El resultado es 3 (P-001, P-002 y P-005). La fórmula equivalente con O usa una técnica clásica: multiplicar por 1 el resultado lógico para convertir VERDADERO en 1 y FALSO en 0, y luego sumar:
=SUMA(1*(O(B2="Madrid";B2="Sevilla")))
Ojo: SUMA con una operación lógica funciona porque VERDADERO equivale a 1 y FALSO a 0. En este caso la fórmula está aplicada a una sola celda y devuelve 1 o 0, así que SUMA no aporta mucho. Para contar sobre un rango como B2:B6 se usa la versión matricial con SUMAPRODUCTO, que evita tener que entrar la fórmula con Ctrl+Mayús+Entrar:
=SUMAPRODUCTO((B2:B6="Madrid")+(B2:B6="Sevilla"))
En F2 suma los importes de los pedidos que van a Madrid o Sevilla con SUMAR.SI.CONJUNTO, que admite varios criterios pero no «Madrid o Sevilla» en una sola llamada. La forma limpia es sumar dos SUMAR.SI (uno por ciudad):
=SUMAR.SI(B2:B6;"Madrid";C2:C6)+SUMAR.SI(B2:B6;"Sevilla";C2:C6)
El resultado es 45,00 + 32,50 + 22,00 = 99,50. La fórmula con O sería más enrevesada: habría que multiplicar el importe por el resultado lógico de O para cada fila y luego sumar, y eso exige entrar la fórmula como matricial. Por eso, cuando se trata de sumar importes, casi siempre es mejor usar SUMAR.SI o SUMAR.SI.CONJUNTO y dejar O para las pruebas lógicas dentro de SI o del formato condicional.
Por qué O devuelve lo que no esperas
Aunque O es sencilla, hay tres tropiezos típicos que hacen que devuelva FALSO cuando debería ser VERDADERO, o al revés. Vamos a verlos sobre la misma hoja de pedidos.
El resultado es FALSO y debería ser VERDADERO
El caso más habitual es comparar con un texto que no coincide exactamente. En la hoja, B2 contiene Madrid sin tilde ni espacios. Si escribes =O(B2="Madrid ";B2="Sevilla") con un espacio de más después de Madrid, Excel busca la cadena «Madrid » y no la encuentra, así que devuelve FALSO aunque la celda sí contenga Madrid. La pista es revisar la fórmula letra por letra o usar celdas auxiliares para comprobar cada argumento por separado.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Pedido | Ciudad | Importe | Tipo de envio | Comprobacion | ||
| 2 | P-001 | Madrid | 45,00 | Envio gratis | VERDADERO | ||
| 3 | P-002 | Sevilla | 32,50 | Envio gratis | VERDADERO | ||
| 4 | P-003 | Valencia | 95,00 | Envio gratis | FALSO | ||
| 5 | P-004 | Bilbao | 28,00 | Envio 3,95 | FALSO | ||
| 6 | P-005 | Madrid | 22,00 | Envio gratis | VERDADERO |
Escribe en G2 la fórmula =O(B2="Madrid";B2="Sevilla") y arrástrala hasta G6. Verás VERDADERO en las filas de Madrid y Sevilla y FALSO en las demás. Si en G2 sale FALSO pero en D2 sale «Envio gratis», casi siempre es un espacio, una tilde o mayúsculas distintas. La función MAYUSC y la función ESPACIOS te ayudan a limpiar texto antes de comparar.
Otro caso frecuente es O sobre una celda vacía. Si la celda B6 está vacía y la fórmula es =O(B6="Madrid";C6>80), la primera comparación devuelve FALSO (porque la celda vacía no es la cadena «Madrid») y la segunda depende del importe. O no falla, simplemente evalúa la celda vacía como una cadena distinta y sigue con las demás condiciones. No hay error, pero el resultado puede no ser el esperado si dabas por hecho que la celda contenía algo.
Un tercer tropiezo es anidar O dentro de Y al revés de lo que quieres. Si escribes =Y(O(B2="Madrid";B2="Sevilla");C2>50) pensando que basta con que el destino sea Madrid o Sevilla, lo que en realidad estás pidiendo es «el destino es Madrid o Sevilla Y además el importe supera 50». La condición Y exige todas las partes, así que un pedido a Madrid de 30,00 no la cumplirá aunque Madrid sea ciudad bonificada. La solución es invertir la lógica: si quieres que baste una, pon O en la condición principal y mete Y solo donde realmente necesites que se cumplan varias cosas a la vez.
Lo que tu versión de Excel necesita para usar O
La función O es una de las funciones lógicas originales de Excel y está disponible en todas las versiones desde Excel 2007, además de en Excel para la web, Excel para Mac y Excel para móviles. No necesitas Microsoft 365 ni una versión moderna: cualquier Excel que tengas a mano la reconoce.
Lo único que cambia entre configuraciones es el separador de argumentos. Donde el decimal se escribe con coma, los argumentos se separan con punto y coma: =O(B2="Madrid";B2="Sevilla"). Donde el decimal se escribe con punto, se separan con coma: =O(B2="Madrid",B2="Sevilla"). El nombre de la función, los argumentos y el resultado son los mismos en todos los casos.
En Excel para la web la fórmula se escribe exactamente igual que en el escritorio. Lo que no puedes usar desde la web son macros VBA; pero como O no es una macro, no hay ningún problema.
Lo que ya sabes hacer con la función O
- Devolver VERDADERO si se cumple al menos una condición de la lista, y FALSO solo si no se cumple ninguna.
- Combinar O con SI para mostrar un texto u otro según el resultado:
=SI(O(...);"Sí";"No"). - Usar O dentro de una regla de formato condicional con fórmula para resaltar filas que cumplan alguna de las condiciones.
- Encadenar O con CONTAR.SI.CONJUNTO, SUMAR.SI o BUSCARX para contar, sumar o buscar datos que cumplan varias condiciones alternativas.
El siguiente paso natural es la función Y (AND), que es la compañera de O: en vez de bastar una condición, exige que se cumplan todas a la vez. La usarás cuando en la hoja de pedidos necesites, por ejemplo, que el destino sea Madrid y el importe supere 50 para marcar el envío como urgente.
Fuentes
- MicrosoftO — documentación oficialconsultado el 06/10/2026