viernes, 18 de febrero de 2011

Zonas climáticas III. Pausa y autocrítica.


 ¿ Estoy haciendo bien las cosas? ¿Las puede hacer mejor? ¿Puedo ser algo menos confuso?
Si, las estoy haciendo bien pero lo puedo hacer mejor. Intentare ser menos confuso.

Hagamos una copia de todas0.xls, Todas2.xls. Abramos todas2.xls, seleccionemos la hoja Provincias y borremos las columnas D, E, y F. En el nuevo D1 colocamos la siguiente fórmula:

=COINCIDIR(INDICE(MP;$H$1);MPPob;0) Con esta fórmula obtenemos la línea de la primera población de la provincia seleccionada.


En E1 colocamos la siguiente fórmula:

=CONTAR.SI(MPPob;INDICE(MP;$H$1))+COINCIDIR(INDICE(MP;$H$1);MPPob;0)-1 Con esta fórmula obtenemos la línea de la última población de la provincia seleccionada.

Si ampliamos la fórmula a : ="Poblaciones!$a$" & COINCIDIR(INDICE(MP;$H$1);MPPob;0) & ":$E$" & CONTAR.SI(MPPob;INDICE(MP;$H$1))+COINCIDIR(INDICE(MP;$H$1);MPPob;0)-1 tenemos el rango completo de poblaciones de la provincia seleccionada.

Con ="Poblaciones!$d$" & COINCIDIR(INDICE(MP;$H$1);MPPob;0) & ":$d$" & CONTAR.SI(MPPob;INDICE(MP;$H$1))+COINCIDIR(INDICE(MP;$H$1);MPPob;0)-1 tenemos el rango con los nombres de las poblaciones.

Por último si definimos un nombre con el formulón  siguiente :=INDIRECTO("Poblaciones!$d$" & COINCIDIR(INDICE(MP;$H$1);MPPob;0) & ":$d$" & CONTAR.SI(MPPob;INDICE(MP;$H$1))+COINCIDIR(INDICE(MP;$H$1);MPPob;0)-1) podemos dar un contenido variable al desplegable de los pueblos sin necesidad de apoyarnos en ninguna celda.

Profesionalmente lo doy por bueno. Todo esto es, sin duda, correcto. Complejo pero correcto. Particularmente yo creo que si se deben evitar fórmulas tan complejas. Hay que apostar por la sencillez.

Empecemos de nuevo. Borremos todas las variables incluidas hasta el momento




Insertemos los siguientes nombres (variables):

Nombre
Fórmula
Canarias
=Provincias!$B$60:$B$61
CelVin
=INDIRECTO("Provincias!$d$" & PrvSel+1)
CelVinCan
=INDIRECTO("Provincias!$d$" & PrvSelCan+59)
MP
=Provincias!$C$2:$C$53
MPCan
=Provincias!$C$60:$C$61
MPP
=INDICE(MP;PrvSel)
MPPCan
=INDICE(MPCan;PrvSelCan)
MPPPob
=Poblaciones!$E:$E
Npob
=CONTAR.SI(MPPob;MPP)
NpobCan
=CONTAR.SI(MPPob;MPPCan)
PobPrSel
=INDIRECTO("Poblaciones!$D$" & PP & ":$d$" & Npob+PP-1)
PobPrSelCan
=INDIRECTO("Poblaciones!$D$" & PPCan & ":$d$" & NpobCan+PPCan-1)
PP
=COINCIDIR(MPP;MPPob;0)
PPCan
=COINCIDIR(MPPCan;MPPob;0)
Provincias
=Provincias!$B$2:$B$55
PrvSel
=Población!$F$2
PrvSelCan
=Población!$G$2
RanPobSel
=INDIRECTO("Poblaciones!$a$" & PP & ":$d$" & Npob+PP-1)


Insertamos una nueva hoja, la hoja “Población” desde la que seleccionaremos tanto la provincia como la población. Por otra parte incluimos una celda vinculada con el rango de poblaciones de cada provincia, lo que nos permite volver a la población seleccionada con anterioridad al volver a una provincia. Esta vinculación la hago mediante la variable CelVin (CelVinCan para Canarias)

El rango de entrada variable de los pesplegables de las poblaciones se calcula con la variable PobPrSel (Poblaciones de la Provincia Seleccionada. Esta variable, para su calculo, incluye las variables PP (Primera Población de una provincia) y Npob (Número de Poblaciones de una provincia)

El mecanismo que pretendemos seguir es:
 Primero elegimos provincia, con el correspondiente desplegable de provincias. Esta desplegable está vinculado con la celda F2 (variable PrvSel) y su rango de entrada es la variable Provincias. La selección de una provincia modifica tanto el rango de entrada como la celda vinculada del desplegable de poblaciones. La celda vinculada se calcula con la variable CelVin. El rango de entrada variable de los pesplegables de las poblaciones se calcula con la variable PobPrSel (Poblaciones de la Provincia Seleccionada. Esta variable, para su calculo, incluye las variables PP (Primera Población de una provincia) y Npob (Número de Poblaciones de una provincia). Por último, una vez seleccionada la población, presentamos los datos de la población seleccionada, en las celdas B3:D3. Para ello utilizo las variables RanPobSel (Rango Poblaciones Seleccionado, que es similar a PobPrSel) y CelVin.
Para Canarias el concepto es similar, por lo que no me extiendo. 
Con esto hemos incluido las dieciocho mil poblaciones y un mecanismo que nos permite seleccionar cómodamente una de ellas.

No hay comentarios:

Publicar un comentario