Se A2 na Planilha1 contiver a fórmula e B2 contiver o nome da planilha "Planilha2", isso buscará o valor na Planilha2! A2:
=INDIRECT(B2&"!"&ADDRESS(ROW(),COLUMN()))
Para obter o valor em Sheet2! B2, você pode adicionar 1 a COLUMN()
:
=INDIRECT(B2&"!"&ADDRESS(ROW(),COLUMN()+1))
Explicação:
-
INDIRECT
retorna o valor armazenado em uma célula usando algum texto formatado como uma referência de célula padrão, como "A2" ou "Sheet2! $ A $ 2". Agora vamos tentar gerar esse texto automaticamente. -
ADDRESS(row, col)
converte números de células e colunas em uma referência de célula padrão no formato de texto. ADDRESS (1,1) retorna "$ A $ 1" e assim por diante. -
ROW()
retorna o número da linha em que a fórmula se encontra eCOLUMN()
para o número da coluna. Como a fórmula está em A2,ROW()
será igual a 2 eCOLUMN()
será igual a 1. Esses números são simples, então podemos adicionar 1 ao número da coluna para obter B em vez de A. Damos esses números aADDRESS(2,2)
para obter "$ B $ 2". - Acrescentamos este endereço ao nome da planilha que queremos que esteja em B2:
B2&!"&ADDRESS(ROW(),COLUMN())
, sem esquecer o ponto de exclamação entre, para obter a referência completa da célula que precisamos: "Planilha2! $ B $ 2" - No último passo, disponibilizamos esse texto para
INDIRECT
, que irá buscar o valor nesse endereço.