También podemos hacer que el vínculo se ligue a una celda determinada de un rango. Por ejemplo, supongamos que tenemos un cuaderno con una lista de clientes en una hoja (para el caso, “clientes”). En otra hoja ponemos una lista desplegable (con validación de datos) que muestre todos los nombres de los clientes. Queremos que al elegir un cliente, la celda que contiene el hipervínculo se actualice y que al pulsarlo nos lleve a la fila de cliente.
Como en el caso anterior, usamos la función HIPERVINCULO. La fórmula es sencilla, pero aprovecharemos la ocasión para mostrar también una técnica para construir fórmulas no tan sencillas.
En la hoja “clientes” tenemos esta lista

Empezamos por crear un rango dinámico con un nombre definido

La fórmula del nombre definido es
=DESREF(Clientes!$A$2,0,0,CONTARA(Clientes!$A:$A)-1,1)
Esta fórmula nos permite que el rango definido por el nombre se vaya adaptando a medida que agregamos o quitamos clientes de la lista.
En otra hoja creamos la lista desplegable basándonos en el nombre definido

En la celda contigua queremos poner la fórmula que cree el hipervínculo al cliente según se haya elegido en la lista desplegable.
Para encontrar en fila del rango de los clientes se encuentra el elegido usamos la función COINCIDIR de esta manera
=COINCIDIR(A1,Clientes,0)+1

Usamos el nombre definido “clientes” pero agregamos 1 al resultado ya que el nombre no toma en cuenta la primer fila del rango (el encabezamiento de la columna A).
Ahora podemos crear con facilidad la dirección de la celda buscada con la función DIRECCION
=DIRECCION(B1,1,,,"clientes")

Podemos usar el resultado en la celda B4 como argumento en la función HIPERVINCULO que pondremos en la celda B1
=HIPERVINCULO("#"&B4,"Ver "&A1)

Pero esto nos obligaría a usar celdas auxiliares. Sencillamente podemos reemplazar la referencia en la función por las fórmulas que hemos usado, quedando
=HIPERVINCULO("#"&DIRECCION(COINCIDIR(A1,Clientes!A:A,0),1,,,"clientes"),"Ver "&A1)

La pregunta que se impone ahora es: ¿cómo hacemos para que al elegir el cliente en la celda A1 Excel se dirija automáticamente a la celda correspondiente sin necesidad de pulsar en B1?
Bien, este será el tema de una futura nota.
Technorati Tags: MS Excel