Fuentes: https://forum.openoffice.org/es/forum/viewtopic.php?f=21&t=3397
https://www.youtube.com/watch?v=BA5TmnPEpbk
http://www.flashforward-financiero.es/index.php/calc-open-office/trucos-y-consejos/29-listas-desplegables-dependientes
Dos
opciones, usar un rango de celdas, ver en
la siguiente imagen:
Insertar -> Nombres -> Definir
Para
lo cual, le pondremos un nombre a nuestra selección. Para efectos de
demostración le pondremos “países”, y una vez hecho esto vamos a
cualquier hoja en donde necesitemos la lista por supuesto en el mismo
documento, seleccionamos una celda y vamos al menú:
Datos -> Validez
Dentro
de ésta opción de menú, nos aparecerá una pantalla en donde podemos
elegir diferentes tipos de elección, entre los cuales, elegiremos “Intervalo de celdas”
y nos aparecerá un cuadro de texto en donde debemos especificar el
origen, entonces ahí ponemos el nombre de la lista que antes habíamos
creado en este caso “países” y con eso ya tendremos una lista de
selección."
O, puedes usar datos introducidos directamente en la lista como en la siguiente imagen.
Una tercera posibilidad es que insertes un control
cuadro combinado (ComboBox) como te muestro en la siguiente imagen, solo
que este ya requiere un poco más de pasos, pero es mucho más versatil
pues puedes vincularlo con bases de datos.
-
-
-
Listas desplegables dependientes y la validación de datos en CALC de LibreOffice.
En esta nota mostrare cómo crear listas desplegables dependientes en
Calc de Libre Office. Es un uso particular del módulo de “Validación de
datos”. La validación de datos es útil, para tus propios hojas, y es
esencial cuando compartimos las hojas de cálculo con otras personas.
Como seguramente habrás podido observar y sufrido, gran parte de los
errores en las fórmulas, funciones o en los modelos, tiene su origen en
la introducción, en la celda que sirve de operando, de un el valor o de
una la naturaleza errónea para su objeto. Cuando ocurre, añoramos el que
no tuvieses un filtro para evitar estos fallos, y que el ordenador no
produjese alguna descarga correctora.
El comando de validación de datos de Calc te permite establecer
ciertas reglas que dictan lo que puede ser introducido en una celda. Por
ejemplo, puede que te interese limitar la entrada de datos en una
celda a que sean números enteros entre 10 y 18. Si el usuario hace una
entrada inválida, Calc puede entonces mostrar un mensaje de aviso, con
una ayuda o con las instrucciones.
Este comando está en el menú de
Datos:
Este comando, da mucho juego, y hay muchas posibilidades, en esta
nota sólo trataremos el uso de la validación de datos, para restringir
las entradas a una lista de valores concretos y específicos que están
introducidos en unas celdas, configurando una serie de listas. En estos
casos debemos de utilizar la opción de
“Intervalo de celdas”.
Este comando supone una alternativa muy útil al uso de los controles de
formularios, de las distas autodeplegables, y que no suponen ni macros
ni programación para su uso.
Vemos el contexto de un caso en el que vamos a utilizar este procedimiento.
Supongamos que somos una agencia de guías de montaña, y organizamos
excursiones en diferentes zonas del Pirineo. (el eterno binomio de
zonas-vendedores, familias- productos, etc. Una clasificación de doble
entrada). Y queremos que cada vez que elegimos una zona nos aparece una
lista desplegable que mostrara solo y exclusivamente las excursiones de
esa zona. Es decir una lista desplegable en función del valor fijado por
otra lista desplegable (de aquí el nombre de la nota de hoy listas
desplegables dependientes).
Las excursiones de las diferentes zonas de excursiones de nuestra
empresa aparecen en esta hoja en rangos verticales. Las excursiones
están en las celdas sombreadas con amarillo y que le he puesto el nombre
de “Excursiones”.
Bueno, ¡pues vamos a ello¡
Paso 1:
Empezamos creando nombres de rangos. El primero será “Zonas”, y que
agrupara las zonas de excursiones, celdas B16:I16, un rango en
horizontal. Después crearemos unos nombres de rangos que coincidan con
los nombre de las zonas. Es importante que se llamen igual. El rango
solo hará referencia a la primera celda de excursiones. Hay dos
opciones, o creamos un nombre que se asigne a un grupo de celdas fijas, o
lo hacemos de forma dinámica, y permitimos que la lista de excursiones
pueda ser ampliada o modificada. Esta segunda opción es la que vamos a
explicar.
Para dar los nombres utilizaremos la opción de
Nombres\Crear… del menú de “
Insertar”.
Señalamos las celdas que constituyen las dos primeras filas de la tabla
de datos, las zonas y la primera excursión, el nombre del rango y la
celda a la que hará referencia.
De esta forma el rango AISA= $B$17, SALAZAR=$C$17, etc.
Paso 2: Creamos
la celda de introducción del datos de ZONA. Nos posicionamos en la
celda C7, y la combinamos con la celda D7, y le datos el nombre de
“mizona”, para que de esta forma podamos trasladar estas celdas a
cualquier sitio de la hoja, y que todas las fórmulas que vayamos
utilizando necesiten de este origen haga referencia al nombre.
Seguidamente, y estando en la celda C7, daremos las instrucciones de validación de datos, eligiendo “
Datos\Validez…”, eligiendo “
Intervalo de celdas”, y en
Origen marcando el rango “Zonas”.
Ya tenemos la primera lista desplegable. Ahora nos queda que Calc
nos muestre una lista desplegable que dependa de la zona elegida.
Paso 3:
Nos posicionamos en la celda C8, la combinamos con las celdas C8:E8,
para que quepa todo el nombre. Para que la lista cambie en función de
la zona elegida, crearemos un rango dinámico, que cambie con “mizona”,
le llamaremos “miexcursio”, y hará referencia a esta fórmula:
=
DESREF(INDIRECTO(mizona);0;0; CONTARA(DESREF(INDIRECTO(mizona);0;0;FILAS(Excursiones);1));1)
Repetimos los mismos pasos para crear la validación pero ahora en “
Origen” pondremos el nombre de “miexcursio”. Y ya debería funcionar.
Algunas aclaraciones:
- El uso de los nombres de los rangos, no es un capricho o por hacerme
el virtuoso. Nos permite, trasladar la tabla de datos, de zonas y
excursiones a otras hojas del libro, sino la validación exige que este
en la misma hoja o que haga referencia al nombre de la hoja que contenga
la lista de valores.
- las tripas de la fórmula de “miexcursio”: =
DESREF(INDIRECTO(mizona);0;0;
CONTARA(DESREF(INDIRECTO(mizona);0;0;FILAS(Excursiones);1));1)
a) Utilizamos una combinación de las funciones DESREF, INDIRECTO, CONTARA y FILAS.
b) Con DESREF encapsulamos un grupo de
celdas que comenzaran en la celda que marque la zona elegida, por eso le
hemos puesto un nombre, y esa dirección se sabrá gracias a la función
INDIRECTO, que nos dará una referencia absoluta, y el vértice inicial de
la matriz de celdas a encapsular.
c) Para determinar el número de celdas
que conformará esa lista utilizamos la función CONTARA, para que cuente
valores alfanuméricos, que hay en las celdas consecutivas hacia debajo
de esa zona. Volvemos a utilizar la función DESREF, y le marcamos un
nuevo encapsulado de celdas, formado por la primera excursión de la zona
y el número de FILAS que contiene el rango “Excursiones”.
Este modelo tiene una limitación y es que si necesitamos de mas
excursiones para una zona que las que posibilita el rango “Excursiones”,
tenemos que ampliar este rango, bien entrando en el menú de “Nombres”, o
insertando celdas hacia abajo, seleccionando tos las celdas de la
última fila del rango “Excursiones”, y que están señalado por las celdas
con el signo “*”.
-