Saltar la navegación

Uso de expresiones lógicas

Operadores lógicos y expresiones lógicas

Para introducirnos en la lógica de Calc en primer lugar analizaremos qué son las expresiones lógicas y conocer los operadores lógicos.

Hasta ahora, en nuestras fórmulas hemos usado fundamentalmente los operadores aritméticos (+ - / *).

Cuando creamos una expresión con operadores aritméticos estamos creando una expresión aritmética.

Pero también disponemos de otros operadores, denominados operadores de comparación, o en un término más preciso, operadores lógicos. Ya hemos usado operadores lógicos cuando aplicábamos un criterio numérico a una función CONTAR.SI o SUMAR.SI.

Relacionamos a continuación los operadores lógicos y sus descripciones.

  • Mayor que, se representa con el símbolo > ; x > y se lee como x mayor que y
  • Mayor o igual que, se representa con el símbolo >= ; x >= y se lee como x mayor o igual que y
  • Menor que, se representa con el símbolo < ; x < y se lee como x menor que y
  • Menor o igual que, se representa con el símbolo <= ; x <= y se lee como x menor o igual que y
  • Igual que, se representa con el símbolo = ; x = y se lee como x igual que y
  • Distinto de, se representa con el símbolo <> ; x <> y se lee como x distinto que y

Cuando creamos una expresión utilizando operadores lógicos, estamos creando una expresión lógica.

Como característica especial, las expresiones lógicas tan sólo devuelven dos resultados posibles: el valor lógico VERDADERO o el valor lógico FALSO.

Reproducimos los siguientes ejemplos:

  • La fórmula =5>3 dará como resultado VERDADERO
  • La fórmula =5<3 dará como resultado FALSO
  • La fórmula ="a"="A" dará como resultado VERDADERO
  • La fórmula ="a"="á" dará como resultado FALSO
  • La fórmula ="z">"a" dará como resultado VERDADERO
  • La fórmula =PI()>3,14 dará como resultado VERDADERO

Naturalmente, los ejemplos reales pueden ser bastante más complicados que los que se muestran aquí, como =SUMA(A1:A10)>PROMEDIO(B1:B5).

Observemos algunas características que se deducen de los ejemplos mostrados:

  • Las expresiones lógicas aplicadas a textos implican un sentido de ordenación: la "Z" es mayor que la "A".
  • A estos efectos, mayúsculas y minúsculas son equivalentes.
  • Caracteres con tilde o acento, no son equivalentes a los mismos caracteres sin ellos.

Gracias a las expresiones lógicas, podemos disfrutar de funciones como SI() que permiten obtener un resultado u otro en función de que una expresión lógica resulte como verdadera o falsa.

Existe una equivalencia numérica que permite crear operaciones aritméticas con expresiones lógicas. A estos efectos, FALSO equivale a cero y VERDADERO a uno o a cualquier valor distinto de cero.

Los valores lógicos VERDADERO o FALSO se pueden introducir directamente en fórmulas escribiéndolos tal cual, sin comillas, o bien como funciones VERDADERO() o FALSO().

A la hora de generar expresiones lógicas en Calc lo más habitual es comparar una celda con:

  • Otra celda. Ejemplos de fórmulas que compararan una celda con otra celda: =B2=B5, =B2<$B5, =B2>$B$5, =$B2<>B5.
  • Un valor constante numérico. Ejemplos de fórmulas que compararan una celda con un valor constante numérico: =B2=2, =B$2<5, =B2>1452,65, =B2<>-25.
  • Un valor constante alfanumérico. Ejemplos de fórmulas que compararan una celda con un valor constante alfanumérico: =B2="Valencia", =$B2<"B", =B2>"Barcelona", =B2<>"Alicante".
  • Un valor constante fecha. Ejemplos de fórmulas que compararan una celda con un valor constante fecha: =B2=FECHA(2017;12;31), =B2>"31/12/2017".
  • Un valor constante hora. Ejemplos de fórmulas que compararan una celda con un valor constante hora: =B2=TIEMPO(18;15;30), =B2<"18:15:30".

Utilizar expresiones lógicas en funciones

Algunas funciones realizan su función filtrando los datos mediante criterios de comparación (expresiones lógicas) en uno o más de sus argumentos.

Por ejemplo, veremos más adelante que CONTAR.SI se utiliza habitualmente con expresiones lógicas, y la utilizaremos si queremos contar en una lista de datos cuántos de ellos son iguales, mayores, mayores o iguales, menores, menores o iguales, o distintos a un valor o al contenido de una celda.

Por ello en uno de los argumentos de la función deberemos indicar el criterio (expresión lógica) que debe seguir; la forma correcta de escribir el criterio se resume en estos cuatro puntos:

  • Si la condición es "igual a" un valor constante, se escribe el valor directamente dentro de la fórmula; en caso de que sea un número, sin comillas dobles; si es un texto debemos escribirlo entre comillas dobles siempre. Si el valor constante es una fecha u hora, recomendamos utilizar las funciones FECHA() y TIEMPO(), si bien también se acepta escribir la fecha como un texto con notación "AAAA-MM-DD", pero no en notación "DD/MM/AAAA". Si es igual a una celda, se inserta la referencia a la celda.
  • =CONTAR.SI(C2:C7;300): cuenta apariciones en el rango del valor 300 (igual a 300).
  • =CONTAR.SI(B2:B7;"Valencia"): cuenta apariciones en el rango del valor "Valencia" (igual a Valencia).
  • =CONTAR.SI(R2:R7;FECHA(2017;12;31)): cuenta apariciones en el rango del valor 31/12/2017 (igual a 31/12/2017).
  • =CONTAR.SI(R2:R7;"2017-12-31"): cuenta apariciones en el rango del valor 31/12/2017 (igual a 31/12/2017).
  • =CONTAR.SI(R2:R7;"31/12/2017"): cuenta apariciones en el rango del valor 31/12/2017 (igual a 31/12/2017).
  • =CONTAR.SI(B2:B7;J18): cuenta apariciones en el rango del valor de la celda J18 (igual a la celda J18).

Criterio igual a un valor

  • Si la condición es >, >=, <, <=, <> que un valor constante, se escribirá la condición completa entre comillas dobles.
  • =CONTAR.SI(C2:C7;"<=300"): cuenta apariciones en el rango de valores menores o iguales a 300.
  • =CONTAR.SI(B2:B7;">=Barcelona"): cuenta apariciones en el rango de valores mayores o iguales a "Barcelona", alfabéticamente, por lo que se incluirán Barcelona y Valencia, pero no Alicante.

Criterio mayor o igual a un valor

  • Si la condición incluye un operador de comparación (es >, >=, <, <=, <> de un valor), y una referencia a una función o a una celda, se escribirá el operador entre comillas dobles, seguido del operador & y el resto de la condición, tal y como se indicó en el primer punto.
  • =CONTAR.SI(C2:C7;"<=" & J16): cuenta apariciones en el rango de valores menores o iguales al valor contenido en la celda J16.
  • =CONTAR.SI(B2:B7;">=" & FECHA(2017;12;31)): cuenta apariciones en el rango de valores mayores o iguales a 31/12/2017.

Criterio mayor o igual a al valor de una celda

  • Si la condición completa se escribe en una celda, se inserta la referencia a la celda.
  • =CONTAR.SI(C2:C7;B9): donde:
  • Si B9 contiene el texto ">300", cuenta apariciones en el rango de valores mayores a 300
  • Si B9 contiene el texto "<>300", contará aquellos distintos a 300
  • Si B9 contiene el número 300, contará aquellos iguales a 300.

Criterio expresado en una celda