Este articulo responde a la inquietud de una compañera de formo que pido elaborar listas desplegables con hipervínculos en Google Sheets de la misma forma que se hace en excel
En YouTube existen ejemplos de listas desplegables o de validación como también se les conoce que están asociadas a hipervínculos, si bien no muestran propiamente el hipervínculo dentro de la lista, este se muestra y cambia de forma dinámica en una celda auxiliar al elegir en cada ocasión un elemento distinto dentro de la lista de validación.
en cuanto a poder replicar esta actividad, me di a la tarea de saber de que se trataba el asunto o tema y bajo la siguiente búsqueda en la web "hipervinculo en lista desplegable excel", revise un video en el que me base para lograr el propósito deseado
consideraciones:
excel y Google sheets funcionan diferente en cuanto a la función hipervínculo
en excel funciona el símbolo de gato o almohadilla "#", pero en Sheets esto no funciona así de simple debe de considerarse adicionarle el gid de la hoja, que no es mas que el identificador interno, para distinguir una hoja (también llamada pestaña) de la otra
después de escribir la palabra gid al símbolo de gato o almohadilla "#" se debes escribir el signo igual, para luego escribir la clave numérica que corresponde a ese gid, esto iría quedando así: #gid=667217805 (gato o almohadilla "#" + "gid" + signo = + numero del gid
para definir el rango especifico de esa hoja/pestaña le agregamos el siguiente texto &range=B3
nos quedaría así finalmente #gid=667217805&range=B3
ahora bien de donde vamos a sacar el numeral que corresponde al gid, pues facilmente podemos teclear #gid=, pero ¿de donde obtenemos el gid?
como podemos apreciar en la imagen este se obtiene al final de la cadena que compone la url del archivo, al finalizar dice gid=0, por que normalmente el cero (0) corresponde a la primer hoja/pestaa de la HCG (hoja de calculo de Google)
el resto es una cadena de texto que esta unida con el símbolo "&" y la palabra "range", seguida del signo igual y el rango al que se desea vincular, es decir : &range=B3
para quedar la cadena final como: #gid=667217805&range=B3
Aquí la estructura del "texto" que necesitamos
hay 2 maneras de hacerlo
dando clic en el icono hipervínculo y pegando la cadena dentro del cuadro de dialogo para generar el hipervínculo
usando la función hipervínculo
copiando y pegando la cadena de texto correspondiente a cada hoja/pestaña
en este ultimo caso se obtiene de manera directa un hipervínculo totalmente funcional con el cual se puede probar 😃
pero no es necesario convertirlo en hipervínculo y podemos dejarlo como cadena o texto ya que solo nos servirá como un argumento dentro de la función final
paso seguido vamos a crear una columna auxiliar a la izquierda con textos cortos que nos ayuden a identificar de que hoja se trata ya que el gid no es indicativo claro de la hoja/pestaña a la que deseamos dirigirnos al dar clic, esto quedaría mas o menos así:
puede apreciarse en la columna "A" los códigos de texto corto con los cuales construiremos la lista de validación (si no sabes como construir una lista , puedes ver este articulo y vídeo)
En la columna "D" tenemos entonces nuestra lista de validación o desplegable y en la columna "E" propiamente el hipervínculo asociado a la lista para que este se cree de forma dinámica.
podemos hacerlo de muchas maneras y creo que depende del nivel de conocimientos y experiencia del uso de funciones, yo te voy a mostrar algunas formas con las que experimente, pero es posible que haya mejores maneras de hacerlo
anidando la función hipervínculo con la función BuscarV.- para este caso y dados los rangos de mi ejemplo bastaría una función anidada como la siguiente: =HIPERVINCULO(BUSCARV(D22,A22:C26,2,FALSO),D22)
anidando la función hipervínculo con la funciones indirecto y coincidir.- construyendo algo como esto: =HIPERVINCULO(INDIRECTO(("B"&(21+COINCIDIR(D22,A22:A26,0)))),D22)
a continuación el ejemplo con BuscarV
aquí podemos ver el uso de coincidir e indirecto anidados con "Hipervínculo"
por adición podemos crear una función personalizada para evitar estar copiando los gids de las hojas/pestañas, más cuando podrían ser muchas, en este ultimo caso dicha función nos ayudaría enormemente.
Les dejo una propuesta de ello (función IDSHCG) en la sección final de este articulo, con lo cual pueden copiar y pegar en sus HCG (Hojas de calculo de Google)
Creo que la función debió llamarse gidshcg, pero en fina ya quedo así 😊
si el tema fue de utilidad comparte este articulo con otras personas, nos ayudarías mucho haciendo difusión de estas propuestas 😉
Síguenos y suscríbete en:
/**
*Busca los gids o identificadores de hoja en la HCG actual.-
* Retorna un arreglo de los gids existentes en la HCG,
* Esta es una funcion sin argumentos,
* ejemplo de uso: =IDSHCG();
* @return un arreglo de los gids de la HCG.
*
* @customfunction
*/
function iDsHCG(){
var ss = SpreadsheetApp.getActive().getSheets(); //[0].getSheetId();
var gids=[];
ss.forEach(function(h){gids.push(h.getSheetId())});
return gids;
}