Exibir o nome da planilha nas planilhas do Google

39

Existe alguma maneira de exibir um nome de planilha como resultado de uma função nas planilhas do Google (exatamente como esta pergunta , exceto no Planilhas Google)?

oldrobotsneverrust
fonte
Por favor, veja minha resposta a esta pergunta no stackoverflow: stackoverflow.com/a/53409439/279326 #
Nicolas Janel

Respostas:

11

Alguém escreveu um script para fazer isso. Ele está disponível em Ferramentas > Galeria de Script ... . Procure por "nome da planilha", instale o script e use-o com =getCurrentSheetName().

William Jackson
fonte
9
Como acessar esse script nas "novas" Planilhas Google (que agora usam uma loja de complementos)?
275 Benjamin Benjamin
4
Isso não funciona mais. Use a resposta de @ user93341. Passei por todo o processo para publicar sua função na Loja Complementar e, na última etapa, eles queriam US $ 5 para verificar minha conta e eu estaria limitado a publicar 20 itens. Le suspiro.
de Bruno Bronosky
49

Vá para FerramentasEditor de scripts e adicione este código:

function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

Em uma célula em que você deseja adicionar o nome da planilha:

=sheetName()

Ocorreu um problema ao acessar os nomes das planilhas por meio das funções da API mostradas abaixo - onde ele retornava apenas o primeiro nome da planilha. Isso foi corrigido em março de 2015 .

user12345
fonte
Você poderia expandir sua resposta para aqueles que não estão familiarizados com a ferramenta de script?
Codingbadger
11
@Barry 1) Selecione Ferramentas-> Editor de scripts 2) No arquivo de texto resultante, adicione esta função no final 3) Clique em Salvar 4) Agora você pode usar esta função em sua planilha.
Gamliela
5
Embora essa função funcione bem, ela não é atualizada quando o nome da planilha é alterado, portanto não é realmente útil.
Jsjimher #
11
@jesjimher, de acordo com este Fórum de Ajuda do Google Docs , se alguém for ao editor de scripts e o salvar novamente, voltando à planilha, verá que os nomes das guias foram atualizados corretamente.
Aribeiro
11
Eu sei, mas é confuso e totalmente oposto a como as fórmulas de folhas funcionam. Espero que uma fórmula seja atualizada sempre que os dados referenciados forem alterados. Agora, essa fórmula não faz isso, a menos que eu abra e salve o script de origem. Eu poderia digitar o nome da planilha manualmente sempre, economizando o aborrecimento.
jesjimher
6

Aqui está um trecho de código da Função Personalizada para obter um nome de planilha pelo Identificador .

function GetSpreadsheetNameById(id) {
  var ss = SpreadsheetApp.openById(id);
  return ss.getName();
}

Em uma célula, passe um identificador de planilha (procure o identificador na URL da planilha).

=GetSpreadsheetNameById('49nvkwOE-203nXDLGGJtg0htFKK020dsd939AAPZU')
JamesThomasMoon1979
fonte
11
Esta é apenas uma pequena alteração na resposta do @ user93341 acima.
JamesThomasMoon1979
Isso fornece o seguinte erro: "Você não tem permissão para chamar SpreadsheetApp.openById."
Aurovrata
Isso retorna o nome do documento em vez do nome da planilha, substitua return ss.getName();por return ss.getActiveSheet().getName();se você quiser o nome da planilha (eu realmente precisava do nome do documento, então, obrigado)
Emilien
-1

Tente o seguinte:

function getNameOfThisSheet() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

Cole-o em Ferramentas> Editor de scripts e chame a função de uma célula como esta:

=getNameOfThisSheet(NOW())

A NOW(), ex GoogleClock(), parâmetro ajuda questões evitar com memoization.

GlobeCore.com
fonte
GOOGLECLOCK () foi substituído por NOW () por outro lado, funções não determinísticas não podem ser usadas como argumentos de funções personalizadas.
Rubén