Las Funciones lógicas de Excel

Las funciones lógicas de Excel son una peculiaridad dentro de la programación de aplicaciones porque, normalmente, se usan operadores lógicos, no funciones.

funciones lógicas de excel referencia

Sin embargo, el hecho de usar funciones para la operaciones lógicas a Excel ofrece una funcionalidad añadida bastante práctica: hace posible usar más operandos que con los operadores lógicos “normales”.

Por ejemplo: las funciones Y, O y XO equivalentes a los operadores “AND”, “OR” y “XOR” pueden usar hasta 255 parámetros.

Se podría hacer lo mismo con varios operadores AND en cadena, pero es cómodo poder hacerlo de una manera más directa usando simplemente varios parámetros.

¿Para qué sirven las funciones lógicas de Excel?

Las funciones lógicas de Excel permiten evaluar condiciones y, dependiendo del resultado, realizar diferentes acciones.

Esta capacidad de tomar decisiones añade una "inteligencia" a las fórmulas que múltiplica las posibilidades de lo que se puede hacer con ellas.

diagrama condiciones acciones
Representación genérica con un diagrama de flujo del proceso de evaluar una condición y, dependiendo de si se cumple o no, realizar acciones diferentes.

Valores lógicos en Excel

La base de las operaciones lógicas son los valores lógicos. Solamente hay dos: VERDADERO y FALSO, TRUE y FALSE respectivamente en inglés.

Por eso, una función lógica, por compleja que sea, por muchos parámetros que tenga, al final sólo dará como resultado uno de estos dos valores como puedes ver arriba en el gráfico.

Entendido esto, ya estamos preparados para ver las funciones lógicas disponibles en Excel y después de esta lista, junto con artículos específicos para cada una de ellas:

Funciones lógicas básicas de Excel

Las operaciones lógicas más básicas son las siguientes:

  • VERDADERO(): función sin parámetros que devuelve el valor lógico VERDADERO.
  • FALSO(): función sin parámetros que devuelve el valor lógico FALSO.
  • NO([valor]): función con un único parámetro que devuelve el valor inverso del parámetro. Es decir, si el parámetro tiene un valor de FALSO, devuelve VERDADERO y viceversa.

Te habrás dado cuenta de la redundancia de la función VERDADERO() y el valor VERDADERO, algo que no deja de ser un tanto confuso. Y lo mismo ocurre con FALSO.

Pero tiene una explicación: se debe principalmente a cuestiones de compatibilidad con otras aplicaciones de hoja de cálculo. De ahí, esta redundancia aparentemente absurda.

Las funciones lógicas Y, O, SI y sus variantes

Los operadores lógicos típicos de AND, OR, etc. tienen en Excel las funciones equivalentes:

  • Y([condición];[ condición opcional 1]; [condición opcional 2]; …): devuelve VERDADERO si se cumplen todas las condiciones especificadas por los parámetros, si no, FALSO. Requiere mínimo un parámetro y pueden añadirse hasta un total de 255.
  • O([condición];[ condición opcional 1]; [condición opcional 2]; …): similar a la función O, pero devuelve VERDADERO si se cumplen al menos, una de las condiciones, si no, FALSO.
  • XO([condición];[ condición opcional 1]; [condición opcional 2]; …): variante de la función O. La “X” significa “exclusivo” (“Exclusive OR”). En la versión “clásica” de operador con dos parámetros, obliga a que los dos parámetros sean diferentes. En la función de Excel significa que cuando el número de condiciones con resultado VERDADERO ser impar, devuelve VERDADERO, si no, FALSO.
  • SI([condición];[valor verdadero]; [valor falso]): devuelve el valor especificado por el usuario [valor verdadero] en caso de cumplirse la función y [valor falso] si no.
  • ERROR([valor];[valor si error]): devuelve el valor de [valor si error] si la fórmula [valor] genera un error. Si no, devuelve el resultado normal de la fórmula. Esto le permite al usuario un mayor control con valores a medida para el caso de error.
  • ND([valor];[valor si n/d]): similar a la función SI.ERROR para el caso de que resultado de [valor] que sea un error “n/d”, “no disponible”. Este error sucede con funciones que esperan encontrar ciertos valores, pero no lo encuentran.

En el siguiente apartado voy a poner unos cuantos ejemplos que te van a permitir entender mejor cómo utilizar estas funciones.

funcion y excel La función Y de Excel

La función Y de Excel es una función tan simple como útil que la enorme mayoría de usuarios de Excel desconoce. Aprende aquí cómo funciona.

funcion o excel La función O de Excel

Muchos usuarios desconocen la función Y de Excel, una función tan simple como útil. Aprende aquí cómo usarla.

La función XO de Excel

La función XO de Excel es una función un tanto peculiar dentro de las funciones lógicas. Aquí te explico cómo usarla.

funcion si excel La función SI en Excel

La función SI de Excel es de las funciones más populares de esta herramienta y permite realizar comparaciones lógicas entre valores.

Además, en los artículos específicos de arriba desgranamos a cada una de ellas a fondo.

Ejemplos de funciones lógicas de Excel

Veamos primero algunos ejemplos muy básicos de las funciones lógicas Y, O y XO:

Ejemplos de las funciones lógicas Y, O y XO

Tenemos el siguiente ejemplo trivial: =Y(1<2;3>4;C3<C4)

Aquí estamos comprobando tres condiciones independientes. Si te fijas, la segunda condición se va a incumplir siempre. Como es la función Y, que requiere que todas las condiciones tengan un resultado verdadero, con esto basta para ver que la función siempre devuelva FALSO.

Cambiamos el mismo ejemplo a la función O: =O(1<2;3>4;C3<C4)

Aquí, sucede exactamente lo contrario; con que haya una condición cierta, la función devolverá VERDADERO. Y, efectivamente, existe una condición de este tipo, que es “1<2”. Con esto ya no importa el valor de las celdas C3 y C4, se cumpla o no la condición, la función siempre devolverá VERDADERO.

Cambiamos el mismo ejemplo a la función XO: =XO(1<2;3>4;C3<C4)

Como aquí tenemos una condición que siempre es cierta (1<2) y otra que nunca lo es (3>4), el resultado final depende, por tanto, de los valores de C3 y C4. Si hacen que C3<C4 también sea cierto, nos quedamos con un número par de condiciones VERDADERO y, por tanto, con un resultado FALSO.

Si C3>C4 no es cierto, nos quedamos con un número impar de condiciones VERDADERO y, por tanto, con un resultado VERDADERO.

Ejemplos de las funciones lógicas SI, SI.ERROR y SI.ND

Veamos ahora un ejemplo más avanzado y real.

Imaginemos que nos piden un informe que, a partir de unos objetivos de ventas mensuales para diferentes productos, los compara con las ventas reales del mes, junto con un resultado económico (beneficios o pérdidas para ese producto).

Podría ser una hoja como ésta:

ejemplo ventas función si
Ejemplo de la utilidad de las funciones lógicas de Excel.

El quid de la cuestión es que nos piden que el informe sea “bonito” que visualice un texto de “Objetivo cumplido” o “Objetivo no cumplido”, según el caso, tal como lo ves arriba.

Hay dos condiciones que deben cumplirse para valorar si se cumplen objetivos o no: que las ventas reales sean iguales o mayores que el objetivo y que hayan generado beneficios (de dónde salen da igual para el ejemplo, por eso no se refleja en la hoja, sólo el valor final).

Es decir, podría ocurrir que hayamos vendido la cantidad deseada, pero que también hayamos incurrido en costes superiores a los previstos provocando pérdidas (por vender a precios demasiado baratos, etc.).

¿Con qué fórmula podemos implementar esta lógica en la columna E?

No parece complicado implementar las condiciones: para la fila dos, una fórmula =Y(C2>B2;D2>0) reflejaría las condiciones descritas. Arrastramos la celda con la fórmula al resto de filas y listo.

Pero lo que veríamos en la columna E sería un resultado del tipo “VERDADERO” y “FALSO” lo que no cumple con lo que nos han pedido.

¿Cómo conseguimos visualizar los textos que nos piden?

Fácil: basta con añadir una función SI que use como valor a evaluar a la función anterior. Es decir:

=SI(Y(C2>B2;D2>0);"Objetivo cumplido";"Objetivo no cumplido")

Aunque no nos lo han pedido, nosotros nos queremos marcar un punto en el trabajo y le damos una vuelta para que, en caso de datos de entrada, erróneos, la fórmula nos avise de ello.

En el siguiente ejemplo hemos reformulado la condición de “Ventas reales > Objetivo” usando una división: C2>B2 para a ser C2/B2<1 que es equivalente, pero con la diferencia que provoca errores si B2 no contiene números válidos. La fórmula que así:

=SI.ERROR(SI(Y(C2/B2<1;D2>0);"Objetivo cumplido";"Objetivo no cumplido");"Hay errores en los datos de entrada. Por favor, revíselos.")

Con la división hemos conseguido que un objetivo erróneo como 0, por ejemplo, provoque un error división no válida (división entre 0).

Ahora ya sólo nos falta capturar el error y visualizar un mensaje de error.

Recuerda que la función SI.ERROR hace exactamente eso. Si, efectivamente, captura un error, visualizará el mensaje de "Hay errores en los datos de entrada. Por favor, revíselos." y ya tenemos resuelto lo que queríamos. Objetivo conseguido.😊

¿Te gustaría leer más sobre esta temática? Busca aquí:

Acerca del autor: Berto López

Soy autor y fundador de este blog, e Ingeniero en Informática de formación con amplia experiencia: he trabajado como empleado, empresario, incluso funcionario. Vamos, que he probado de todo 😄

De todo ello, lo que me apasiona de verdad, es el emprendimiento, combinado con la tecnología, algo que he podido retomar con mi proyecto web actual al cual pertenece, entre otras, esa web.

Aparte de mi propia experiencia emprendedora, mi contacto profesional con pymes y pequeños emprendedores me ha generado un gran interés en el marketing online.

Emprendí muy joven y eso hizo que todo el desarrollo inicial de las redes sociales, WordPress, SEO, etc. ya lo viví con esa experiencia. Me fascinó cómo cambió las reglas del juego para bien, sobre todo, para los pequeños emprendedores.

Esto me parece algo tan importante, de tanto calado social, que este blog nace con la vocación de ser un sitio de divulgación de este conocimiento y con la intención de motivar sus lectores para que aprovechen al máximo el potencial de estas disciplinas.