LibreOffice Calc: Proteger documentos

La suite ofimática LibreOffice, en su programa de hoja de cálculo Calc, nos ofrece la opción de proteger nuestros ficheros a varios niveles: a nivel de fihcero, a nivel de hoja y a nivel de libro. Veamos cómo hacerlo ahora:

A nivel de fichero: Pulsamos Archivo->Guardar Como y allí, a la hora de guardar podemos marcar la casilla Guardar con Contraseña. También tenemos la opción de utilizar una clave pública para cifrado marcado Cifrar con clave GPG.

A nivel de Hoja: Nos vamos a Herramientas->Proteger Hoja… y nos abrirá un menú donde introducir una contraseña y donde asignar qué podrán hacer los usuarios sin ella.

A nivel de libro: Nos vamos a Herramientas->Proteger Estructura de Libro… y allí definimos una contraseña que será obligatoria para poder modificar la estructura del mismo.

Calcular media, mediana y moda con Libre Office Calc

Bueno, ayer veíamos cuales eran las definiciones y diferencias entre media, mediana y moda y hoy vamos a ver cómo aplicarlas en Libre Office Calc. Para ello he puesto 15 valores numéricos distintos en una hoja:

Ejemplo con varios valores

Para calcular la mediana tenemos la función MEDIANA(),que recibe como parámetros un conjunto de valores. En el ejemplo de la imagen habríamos hecho =MEDIANA(A1:A15) para que la calcule entre los valores de esas celdas.

Para la media tenemos dos funciones PROMEDIO() y PROMEDIOA(). ¿Qué las diferencia? Que PROMEDIO() ignorará lo valores que no sean numéricos mientras que PROMEDIOA() los tomará como un 0.

Finalmente para la moda también tenemos dos funciones: MODA.UNO() y MODA.VARIOS(). Como ya sabéis puede haber varias modas en un conjunto de valores. La función MODA.UNO() nos devuelve un valor, el inferior, y si no hay repeticiones envía un erorr. La función MODA.VARIOS() devuelve una matriz con todas las modas si la usamos en una fórmula matricial, en caso contrario se comporta como MODA.UNO().

Aquí os dejo una captura con los resultados. Podéis ver que PROMEDIO() y PROMEDIOA() dan resultado distintos porque la celda A10 tiene un valor textual en lugar de uno numérico:

Resultados

 

Funciones lógicas en LibreOffice Calc

En fin, ya que ando empantanado preparando temario para dar clases de LibreOffice y, a la vez, recibiendo clases de Microsoft Office creo que os van a tocar varias entradas sobre el tema en este blog.

Hoy vamos a hablar sobre las funciones lógicas en LibreOffice Calc, la hoja de cálculo de LibreOffice. Si estáis acostumbrados a Microsoft Office… son prácticamente iguales.

¿Qué son las funciones lógicas? Son funciones que trabajan con valores booleanos, es decir: verdadero o falso. En las hojas de cálculo nos permiten crear condicionales más o menos complejos. Primero vamos con la teoría “gorda” y luego en un par de ejemplos os queda más claro. Como os podéis imaginar la potencia de estas funciones no es pasarles a mano un valor VERDADERO o FALSO sino una expresión que pueda devolver ese valor (generalmente mediante una comparación).

En LibreOffice Calc tenemos las siguientes: Y, FALSO, SI, SIERROR, SIND, NO, O, VERDADERO y XOR. Vamos a verlas una por una:

Funciones de Libre Office Calc
Funciones de Calc (en gallego)

Y: Su sintaxis sería Y(valorLógico1; valorLógico2… valorLógico30). Esta función devuelve VERDADERO si todos sus argumentos son verdaderos, en caso de que alguno no lo sea devolverá FALSO. Requiere como mínimo un valor y hasta un máximo de 30.

FALSO: Esta función no evalúa ni recibe ningún parámetro, simplemente devuelve un valor FALSO.

SI: Esta función requiere tres parámetros que son una prueba lógica, un valor a devolver si se cumple y un valor a devolver si no, aunque sólo es obligatoria la prueba lógica. Más abajo os explicaré como anidar varios. La sintaxis básica es SI(prueba lógica; valor si se cumple; valor si no).

SI.ERROR: Esta función recibe dos valores y devuelve el primero si es válido. Pero si este devuelve un error entonces devuelve el segundo. La sintaxis es SIERROR(valor; valor alternativo).

SI.ND: Similar a la anterior, en este caso devuelve el valor sacando que sea #ND, en ese caso devuelve el segundo valor.

NO: Devuelve lo contrario al valor que recibe. Es decir, si recibe un VERDADERO devuelve FALSO y viceversa (vamos, que “niega” o complementa lo que tiene dentro).

O: Similar a Y en sintaxis, que es O(valorLógico1; valorLógico2… valorLógico30). En este caso la función devuelve VERDADERO si alguno de sus valores es verdadero.

VERDADERO: Como en el caso de FALSO, no recibe ni evalúa nada y, en este caso, devuelve VERDADERO.

XOR: El más complejo de explicar, se trata de una puerta lógica OR exclusiva (de ahí XOR). Dicho así acojona, pero es más facil de lo que parece. La sintaxis es como en el caso de Y y O, vamos XOR(valorLógico1; valorLógico2… valorLógico30) y el caso es que devuelve VERDADERO si un número impar de los valores que se le han proporcionado son VERDADEROS.

Ahora tomemos un conjunto de datos aleatorios:

Manolo 30 años Madrid

Pedro 60 años Barcelona

Juanki 45 años Zaragoza

Toño 18 años Buenos Aires

Derrick 23 años La Habana

Juampi 36 años Cedeira

Macael 22 años Medellín

Ok, supongamos que los tienes esto en una tabla, empezando en A2, como la de la foto.

Tabla con datos del Ejemplo
La tabla de ejemplo

Ahora imagina que después hay un campo donde quieres meter un dato, en este caso vamos a decir que un porcentaje que tienen que pagar. Pero hay condiciones: Los que sean de Cedeira y tengan menos de 40 años (ambas) tendrán que pagar 100$; los que sean de La Habana o tengan 45 años o más (una de las dos) pagarán sólo 75$. El resto pagarán 120$. ¿Cual sería la fórmula? Bueno, pues sería la que puedes ver en la imagen (supongamos que me he situado para escribir la fórmula en la primera fila de datos, lo que sería justo a la derecha de Barcelona, con la idea de hacer la fórmula, calcular y arrastrar hacia abajo para que se aplique al resto):

Fórmula para solucionar el ejemplo

Como tengo el LibreOffice en gallego igual te despista así que te traduzco la fórmula:
=SI(Y(C2=”Cedeira”;B2<40);100;SI(O(C2=”La Habana”;B2>=45);75;120))

Explicación de la fórmula: Abrimos un SI y como prueba lógica le decimos que compruebe las dos primeras condiciones (ser de Cedeira y menor de 40) que por tener que cumplirse ambas van dentro de un Y. En caso de que sea correcto devuelve 100, en caso de de que no anidamos otro SI, que en este caso comienza comprobando que se de alguna (por eso usamos el O) de las otras condiciones, que son ser de La Habana o tener 45 años o más. En caso de que se cumpla devolverá 75 y en caso de que no, es decir que el registro no ha cumplido ni las condiciones del primer chequeo ni las del segundo, en ese caso devuelve 120. Ves, no era tan difícil, todo es ir pensando cómo hay que anidar las cuestiones. El resultado sería este:

Tabla del ejemplo con los resultados
Resultados

Y en el caso del XOR, como os decía antes, tenéis que pensar que sólo devuelve verdadero si el número de elementos que recibe que dan verdadero son impares. Pensad en aquellas tablas de lógica aristotélica del instituto: En un XOR VERDADERO+FALSO=VERDADERO, FALSO+FALSO=FALSO, FALSO+VERDADERO=VERDADERO, VERDADERO+VERDADERO=FALSO. Parece coñazo pero es simple.

En fin, os dejo con esto. En el futuro más funciones.