Como vinculo uma célula nas planilhas do Google a uma célula em outro documento?


178

Eu tenho uma planilha mensal que se baseia em números do mês anterior. Gostaria de importar esses valores dinamicamente, em vez de recortá-los e colá-los. Isso é possível? Como eu faço isso?


A propósito, eu sei que isso é possível, como fiz uma vez, mas não consigo mais encontrar as informações ou a planilha em que as inseri. Se encontrar, postarei uma atualização.
10138 Jeff Yates

Respostas:


183

IMPORTRANGE() parece ser a função que você deseja.

Na lista de funções das planilhas do Google :

As planilhas do Google permitem que você faça referência a outra pasta de trabalho na planilha que você está editando atualmente usando a função ImportRange. ImportRange permite extrair um ou mais valores de célula de uma planilha para outra. Para criar suas próprias fórmulas ImportRange, insira = importRange (chave da planilha, intervalo). Para idiomas em que a vírgula é usada para separação decimal, use um ponto-e-vírgula em vez de uma vírgula para separar argumentos em sua fórmula.

A chave da planilha é um STRING que é o valor da chave do URL da planilha.

Intervalo é um STRING que representa o intervalo de células que você deseja importar, incluindo opcionalmente o nome da planilha (o padrão é a primeira planilha). Você também pode usar um nome de intervalo, se preferir.

Como os dois argumentos são STRINGs, é necessário colocá-los entre aspas ou referir-se às células que possuem valores de string.

Por exemplo:

= importrange ("abcd123abcd123", "plan1! A1: C10") "abcd123abcd123" é o valor no atributo "key =" no URL da planilha de destino e "plan1! A1: C10" é o intervalo que você deseja ser importado.

= importrange (A1, B1) A célula A1 contém a sequência ABCD123ABCD123 e a célula B1 contém a planilha1! A1: C10

Nota: Para usar o ImportRange, você precisa ter sido adicionado como visualizador ou colaborador à planilha da qual o ImportRange está obtendo os dados. Caso contrário, você receberá este erro: "#REF! Erro: a chave da planilha, o título da planilha ou o intervalo de células solicitado não foi encontrado."

"key" é, obviamente, a sequência no URL da planilha que corresponde ao key=parâmetro.

Acabei de testar criando duas planilhas. Na célula A1 do primeiro, eu coloquei uma string. Na célula A1 do segundo, coloquei =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")e ele exibiu a sequência da primeira planilha. (Sua chave obviamente será diferente.)

(O formato da função pode depender de sua localidade Em França, a fórmula não é válida com uma vírgula, então você precisa substituí-lo por um ponto e vírgula:. =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1"))

NOTAS:

  1. Atualmente, o Google define um limite fixo de 50 "fórmulas de referência entre pastas de trabalho" por planilha. Fonte: limites de tamanho do Google Docs, Planilhas e Apresentações . (h / t JJ Rohrer )

  2. A "nova" planilha do Google (que em breve será o padrão) remove o limite de 50 "de 50" fórmulas de referência entre pastas de trabalho ( Suporte do Google ) (h / t Jacob Jan Tuinstra )

  3. Nas "novas" Planilhas Google, você também usa o URL inteiro como a chave ( Suporte do Google ) (h / t  Punchlinern )


3
@Al: Sim! É isso aí! Obrigado.
Jeff Yates

+1 Whoa! Eu não sabia que havia uma versão em linha. A outra opção é usar o script do Google Apps. Crie uma função que use SpreadsheetApp.openById ([ID]). GetRange () e defina um intervalo local com isso.
Evan Plaice

3
Pode ser interessante notar que você ficará limitado a 50 deles (por planilha?) (Um limite rígido do Google): support.google.com/drive/answer/37603?hl=pt-BR
JJ Rohrer,

4
Na nova planilha do Google (que em breve será o padrão), o limite de 50 foi removido: support.google.com/drive/answer/3093340?hl=en
Jacob Jan Tuinstra

4
Além disso, nas novas planilhas do Google, você usa todo o URL como chave. Além disso, você será solicitado a conceder acesso à planilha solicitada ao inserir a função pela primeira vez.
Punchlinern

29

Para sua informação, se você quiser fazer referência a outra planilha nessa outra planilha, o nome da planilha NÃO deve ser recitado:

usar

=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Sheet Name!A1:A10")

ao invés de

=importRange("tgR2P4UTz_KT0Lc270Ijb_A","'Sheet Name'!A1:A10")


6
Obrigado. Você deve adicionar isso como um comentário a outra resposta ou até mesmo editar essa resposta.
studgeek

10

Na nova interface, você deve simplesmente digitar =a célula, basta ir para a outra planilha e escolher a célula que deseja. Se você quiser fazê-lo manualmente, ou estiver usando a interface antiga, basta fazê-lo =Sheet1!A1, onde Sheet1é o nome da planilha e A1a célula nessa planilha com a qual você se preocupa. Isso é idêntico ao Microsoft Excel.


6
se o nome da planilha tiver espaços em branco, use 'This Other Sheet'! A1
akira

12
Que tal um documento completamente diferente, como eu fiz na pergunta?
911 Jeff Yates

@jeff Desculpe; você não mencionou "documento" no corpo e, por alguma razão, na minha cabeça, pensei em "folha". Tanto quanto eu sei, você não pode vincular dinamicamente a outro documento . Mas você pode usar várias folhas, em vez de vários documentos; nesse momento, você pode fazer o que eu sugeri. É assim que administro minhas próprias finanças mensais, exatamente por esse motivo.
Benjamin Pollack

Está tudo bem :) Eu sei que há uma maneira de fazê-lo como eu realmente fiz isso, mas eu esqueci e não consigo encontrar a folha Eu fiz isso no.
Jeff Yates

Isso não responde à pergunta postada - está falando de outras planilhas no mesmo documento.
28418 Brendan

4

Encontrei esta sintaxe usando Inserir -> Definir novo intervalo

GAMA DE REFERÊNCIA A OUTRAS FOLHAS:

Coluna A inteira: 'Planilha com espaços no nome'! A: A

Coluna B inteira: 'Planilha com espaços no nome'! B: B

etc.

Então você pode usá-lo como:

=COUNTIF('First Page'!B:B, "valueToMatch")

1
Isso também é possível para referência fora da planilha?
Jacob Jan Tuinstra

@JacobJanTuinstra, o que você quer dizer com 'fora' da planilha?
precisa

6
Bem, a IMPORTRANGEfunção pode importar dados de outra planilha. A definição de intervalos é apenas possível (possível) em uma planilha. Foi isso que eu quis dizer com fora.
Jacob Jan Tuinstra

Isso não responde à pergunta postada - está apenas descrevendo como se referir a outra planilha no mesmo documento.
21418 Brendan

@brendan usar IMPORTRANGEcomo Jacob disse.
Tom Roggero

2

aqui está como eu fiz isso (reimplementado 'importrange ()'):

  • abra o editor de scripts ("ferramentas" -> "scripts" -> "editor de scripts")
  • forneça uma função como esta (sem nenhuma verificação, isso precisa ser aprimorado, mas você obtém a ideia geral):
função REMOTEDATA (inKey, inRange) {

  var outData;  
  var ss = SpreadsheetApp.openById (inKey);

  if (ss) {
     outData = ss.getRange (inRange) .getValues ​​();
  }

  return outData;
}
  • use esta fórmula como esta em sua planilha:
= SUM (REMOTEDATA ("chave", "SheetName! A1: A10"))

"key" é a chave do documento, você a encontra no parâmetro "key = xyz" da URL do documento.

a documentação para ' serviços de planilha ' fornece mais informações sobre o tópico.


4
Qual seria a vantagem de implementar isso você mesmo, em vez de usar a função existente?
Jeff Yates

1
@ Jeff Yates: nenhum, eu apenas implementei sem saber importrange (). espírito esportivo, sabe? tudo na forma de só- porque-eu-pode :)
akira

1
infelizmente, as funções personalizadas da planilha não podem mais abrir outras planilhas usando SpreadsheetApp.openById()ou SpreadsheetApp.openByUrl()-> developers.google.com/apps-script/guides/sheets/…
Francesco Vadicamo 30/03/16

-2

Fiz isso da maneira mais fácil usando o Query, por exemplo, tenho 2 folhas ABC e XYZ e quero importar o intervalo de A1 a C30 de Abc para XYZ, clique na célula em que deseja que o intervalo apareça e escreva:

=QUERY(ABC!A1:C30)

Nota: Se o nome da sua planilha tiver espaços, é claro que você deve escrever isto:

=QUERY('ABC 1'!A1:C30)


7
O OP perguntou como importar células de outro documento . Pode QUERYfazer isso?
Vidar S. Ramdal

4
@ VidarS.Ramdal Ele pode, mas precisa importrange("abcd123abcd123", "sheet1!A1:C10")por exemplo, =query(importrange("abcd123abcd123", "sheet1!A1:C10"));-)
Fuhrmanator
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.