El uso de CONCATENAR para crear un hipervínculo a una celda en una hoja diferente [duplicar]

0

Pregunta

Tengo un libro con muchas hojas. Quiero crear una especie de glosario con los enlaces directos a las diferentes hojas. En el collado hay una lista de los diferentes nombres de las hojas (por ejemplo, Ene, Feb, Mar). En la columna B quiero enlaces directos a la celda A1 en la respectiva hoja (por ejemplo, a Jan!A1, para Febrero!A1, etc.

Puedo aportar el valor de la celda de destino (A1) con INDIRECTO+CONCATENAR. por ejemplo, =INDIRECTO(A2&"!A1") traerá el valor de Jan!A1 (donde la celda A2 contiene el nombre de la hoja: Jan).

Lo que no puedo hacer es un enlace que al hacer clic me llevará a Jan!A1

Para facilitar las cosas, he añadido un ejemplo: https://docs.google.com/spreadsheets/d/1z_UuA62ghUejFwGWKpT_smMhKM4QAVMgZrKotim8WHE/edit#gid=0 En la hoja "Main" Col son los nombres de las hojas. La columna B es donde me gustaría mostrar los hipervínculos. Col C muestra los valores (es de ninguna importancia, sólo desde que se hace referencia en mi pregunta)

1

Mejor respuesta

1

usted necesita HYPERLINK y #gid=.

cada hoja tiene la única gid puede encontrar en la URL. entonces usted puede hacer:

=HYPERLINK("#gid=1062970060&range=A1"; "Sheet2")

=ARRAYFORMULA(IF(B:B="",,HYPERLINK("#gid=1734824104&range=B"&ROW(B:B), B:B)))

0

donde gid número puede ser encontrado aquí:

enter image description here


este proceso se puede automatizar con secuencia de comandos:

function SHEETLIST() {
try {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
  var out = new Array( sheets.length+1 ) ;
  out[0] = [ "NAME" , "#GID" ];
  for (var i = 1 ; i < sheets.length+1 ; i++ ) out[i] = 
  [sheets[i-1].getName() , sheets[i-1].getSheetId() ];
  return out
}
catch( err ) {
  return "#ERROR!" }}

a su vez los nombres de las hojas en hipervínculos activos:

=ARRAYFORMULA(HYPERLINK("#gid="&
 QUERY(INDEX(SHEETLIST();;2); "offset 1"); 
 QUERY(INDEX(SHEETLIST();;1); "offset 1")))

y si quieres enlazar a la introducción manual de datos puede utilizar VLOOKUP como

=ARRAYFORMULA(IFNA(VLOOKUP(A1:A5, HYPERLINK("#gid="&
 QUERY(INDEX(SHEETLIST();;2); "offset 1"); 
 QUERY(INDEX(SHEETLIST();;1); "offset 1")); 1; 0)))

sin script:

enter image description here

2021-11-21 12:41:54

Gracias, pero este método es manual. Ya tengo una lista de muchos de los nombres de las hojas, quiero usar el nombre de la hoja en lugar de traer el GID de cada uno.
Tom

@Tom respuesta actualizada
player0

Gracias de nuevo, pero yo no estoy buscando a resolver con una secuencia de comandos. Estoy tratando de entender si es factible con una fórmula que utiliza el nombre de la hoja.
Tom

@Tom no es posible a menos que usted reúna todos los gids para todas las hojas manualmente. no hay ninguna fórmula para la lectura de gids es por eso que se necesita un script para extrract automáticamente
player0

@Tom ver su hoja de
player0

Gracias de nuevo. Funciona bien con el script, pero espero que alguien pueda encontrar una manera de hacerlo con la fórmula, esta es la razón por la que no estoy marcado como resuelto. Yo upvoted su respuesta.
Tom

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................