Use CONCATENAR para criar um hiperlink para uma célula em uma planilha diferente [duplicado]

0

Pergunta

Eu tenho um livro com muitas folhas. Eu quero criar uma espécie de glossário com links diretos para as diferentes folhas. Na coluna Um, há uma lista dos diferentes nomes de folha (e.g. Jan, Fev, Mar). Na coluna B eu quero ligações directas para a célula A1 na respectiva folha (e.g. para Janeiro!A1, para Fevereiro!A1 etc.

Eu posso trazer o valor da célula de destino (A1) usando INDIRETO+CONCATENAR. por exemplo, =INDIRETO(A2&"!A1") irá trazer o valor de Janeiro!A1 (onde a célula A2 contém o nome da folha: Jan).

O que eu não posso fazer é torná-lo um link que, quando clicado, leva-me para Janeiro!A1

Para facilitar as coisas, eu adicionei um exemplo: https://docs.google.com/spreadsheets/d/1z_UuA62ghUejFwGWKpT_smMhKM4QAVMgZrKotim8WHE/edit#gid=0 Na folha "Principal" Col são os nomes das folhas. A coluna B é onde eu gostaria de mostrar hiperlinks. Col C mostra os valores (é sem importância, apenas desde que eu referenciado na minha pergunta)

1

Melhor resposta

1

você precisa HYPERLINK e #gid=.

cada folha tem uma exclusiva gid você pode encontrar na URL. em seguida, você pode fazer:

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

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

0

onde gid número pode ser encontrado aqui:

enter image description here


você pode automatizar esse processo com o script:

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!" }}

para activar a folha de nomes no active hiperligações:

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

e se você deseja vinculá-lo ao manual de entrada, você pode utilizar VLOOKUP como

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

sem script:

enter image description here

2021-11-21 12:41:54

Obrigado, mas esse método é manual. Eu já tenho uma lista de vários nomes de folha, eu quero usar o nome de folha em vez de trazer o GID para cada um.
Tom

@Tom de resposta atualizada
player0

Obrigado de novo, mas eu não estou olhando para resolvê-lo com um script. Estou tentando entender se é factível com uma fórmula que usa a folha de nomes.
Tom

@Tom não é possível, a menos que você reunir todos os gids para todas as folhas manualmente. não há nenhuma fórmula para a leitura de gids é por isso que você vai precisar de um script para extrract-los automaticamente
player0

@Tom de ver sua ficha
player0

Obrigado novamente. Ele funciona bem com o script, mas eu espero que alguém pode encontrar uma maneira de fazê-lo com a fórmula, é por isso que eu não sou marcar como resolvido. Eu tiver votos a favor de sua resposta.
Tom

Em outros idiomas

Esta página está em outros idiomas

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