lunes, 6 de julio de 2009

Otros usos de DESREF.

Profundizaremos hoy algo más en la función DESREF, empleada en un post anterior sobre los rangos dinámicos. Hoy le daremos un uso de búsqueda.
Recordemos los argumentos de nuestra función:
=DESREF(celda inicio rango;num filas; num columnas; alto; ancho)
Conocemos la utilidad del primer argumento como Celda inicial, desde la que comenzamos a contar, dependiendo de los siguientes argumentos.
En el ejemplo anterior de rangos dinámicos nos centrabamos en los dos últimos argumentos, ya que nos interesaba generar un rango, i.e., un conjunto de celdas contiguas que determinaran un rango. Para nuestro ejemplos de hoy nos centraremos en el segundo y tercer argumentos, que nos definirán una situación o localización dentro de nuestra hoja de cálculo, contando siempre desde nuestra Celda inicial.
Definimos cuales son las condiciones de nuestro ejercicio. Tenemos un listado de productos, cada uno de ellos definido por dos características. Lo que tratamos de obtener es un resultado o una situación en función a estas caracerísticas, situaciones previamente conocidas:


tenemos para cada producto dos características, que pueden ser alfanuméricas,numéricas o alfabéticas; lo que no genera ningún problema. La limitación de esta función es la bidimensionalidad, esto es, sólo podremos cruzar información de dos variables. En el rango C15:G19 vemos las combinaciones de las diferentes características,y por tanto, de las situaciones únicas generadas de éstas.
Para poder emplear la función DESREF como búsqueda o combinación de dos variables, debemos convertir previamente la característica 1 a elementos numéricos y esto lo haremos usando la función
COINCIDIR(valor_buscado;matriz_buscada;tipo_de_coincidencia)
que devuelve la posición relativa de un elemento en una matriz o rango que coincida con un valor especificado en un orden especificado. En nuestro caso aprovechamos la colocación en la matriz de Situaciones de las características alfabéticas para obtener un número ordinal.
Este valor calculado con COINCIDIR (realmente hemos convertido unos elementos alfabéticos en otros numéricos), junto al ya válido del que disponíamos en la Característica 2, serán los argumentos que emplearemos con la función DESREF.
Centraremos nuestra búsqueda en la celda $B$14, y haciendo uso de los ordinales calculados, los aplicaremos en la función DESREF:


Aplicando los ordinales calculados o ya dados sobre los argumentos 'filas' y 'columnas' la función DESREF nos devuelve una celda, determinada a partir de la Celda Inicial definida contando un número de filas y columnas abajo y a la derecha de nuestra celda inicial (si fueran valores negativos la celda devuelta estaría arriba y a la izquierda de nuestra celda inicial). Por ejemplo, si el argumento fila es 2, implica que buscará dos filas por debajo de la celda inicial; igualmente si el argumento columna fuera -3 la función DESREF buscará tres columnas a la izquierda.
Combinando esta utilidad obtenemos los valores o situaciones buscados.
En el fichero adjunto podemos ver dos ejemplos similares.

DESREF otras aplicaciones
DESREF otras aplic...
Hosted by eSnips

No hay comentarios:

Publicar un comentario en la entrada