Tente usar a função CELL
como esta
=INDIRECT("'"&$A4&"'!"&CELL("address",E4))
Isso converte E4 em texto para uso na função INDIRECT, mas continuará sendo atualizado quando você arrastar / diminuir
=INDIRECT("'"&$A4&"'!E4")
É necessário usar o valor da célula E4 da planilha com o nome encontrado em A4. Na verdade, funciona. Mas quando eu arrasto essa fórmula para várias colunas / linhas, o A4
atualiza para colunas diferentes, mas o E4
não ... acho que porque está em uma string.
Como posso fazer isso funcionar, tudo que eu tento me dá! REF?
Tente usar a função CELL
como esta
=INDIRECT("'"&$A4&"'!"&CELL("address",E4))
Isso converte E4 em texto para uso na função INDIRECT, mas continuará sendo atualizado quando você arrastar / diminuir
Bem, você não ficou muito claro no seu comentário, então acho que será mais simples se eu der algo e você ajustar para as suas necessidades.
Suponho que você tenha a fórmula =INDIRECT("'"&$A4&"'!E4")
na planilha Target
e na célula A1
.
=INDIRECT("'"&$A4&"'!E4")
Você pode alterá-lo para:
=INDIRECT("'"&$A4&"'!"&CHAR(96+COLUMN()+4)&ROW()+3)
COLUMN()
retorna a coluna na qual a fórmula é. Aqui, como a fórmula está na célula A1, COLUMN()
retorna 1.
ROW()
age da mesma maneira, mas com o número de linhas, e retornará 1 também aqui.
CHAR(96+COLUMN()+4)
retornará CHAR(96+1+4)
nesse caso, que é a letra E
.
ROW()+3
retornará 1+3
, que é 4
.
Concatenar tudo lhe dará E4.
Quando você copia / cola essa fórmula em B1, você recebe:
=INDIRECT("'"&$B4&"'!"&CHAR(96+COLUMN()+4)&ROW()+3)
COLUMN()
agora retorna 2 porque está na segunda coluna e CHAR()
retornará F
.
Como a linha é a mesma, você obtém 4
, para que a célula referenciada se torne F4
.