Eu tenho uma pasta de trabalho.
Nele tenho várias planilhas que renomeei com número sendo que a primeira planilha é o banco de dados que quero extrair o número.
folha1renomeado para A: Contém os dados que desejo extrair
folha2renomeado para 1: a fórmula na célula B3
deve ser=A!B1
folha3renomeado para 2: a fórmula na célula B3
deve ser=A!B2
folha4renomeado para 3: a fórmula na célula B3
deve ser=A!B3
folha5renomeado para 4: a fórmula na célula B3
deve ser=A!B4
Posso extrair o nome da planilha que renomeei para o dígito acima com esta fórmula
IF(ISERROR(RIGHT(CELL("filename";$A$1);LEN(CELL("filename";$A$1))-FIND("]";CELL("filename";$A$1))));"This workbook never saved";RIGHT(CELL("filename";$A$1);LEN(CELL("filename";$A$1))-FIND("]";CELL("filename";$A$1))))
Mas não posso usá-lo para alterar a referência da célula para que na planilha 1
seja =A!B1
e na planilha 2
a =A!B2
referência da célula seja alterada sempre que eu alterar o nome da planilha.
Alguém pode me ajudar com isso, então a fórmula é mais parecida com esta=A!B(sheetname)
Responder1
Experimente isso
=INDIRECT("A!B"&yourformula)
Uma das desvantagens INDIRECT
é que se você alterar o A
nome da planilha, por exemplo Kitchen
, a fórmula não será atualizada para "Kitchen!B"&yourformula
.
E lembre-se de que essa INDIRECT
é uma maneira pouco elegante de resolver problemas. É terrivelmente lento, principalmente quando você está lidando com MUITOS INDIRETOS!!