O problema é criar uma nova planilha, copiar o conteúdo de uma planilha existente e alterar as referências a células para uma segunda planilha existente. Como diz Satya Mishra Satya Mishra , isso pode ser feito manualmente alterando 'Day03'!
para 'Day04'!
após a cópia para uma nova planilha, Day05
.
Para fazer a alteração automaticamente quando você copia da planilha anterior para uma nova, vamos reafirmar o problema: Crie uma nova planilha e copie o conteúdo da planilha anterior. Use o nome da nova planilha para fazer referências à planilha nomeada anterior.
Aqui está uma fórmula na planilha atual que obtém o conteúdo da célula F33
da planilha nomeada anterior. Por exemplo, se a planilha atual for Day05
, a fórmula obterá F33
da planilha Day04
.
=INDIRECT(CONCATENATE("'Day",TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1,"0#"),"'!","F33"))
Como a fórmula funciona
A fórmula usa INDIRECT
para obter um valor de célula da planilha anterior. Se a planilha atual for Day05
e desejarmos que a célula F33
, INDIRECT
precise de uma sequência que faça referência à célula F33
na planilha Day04
. A string que precisamos é de 'Day04'!F33
.
- Obter o nome da planilha para a planilha atual.
Day05 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,255)
- Modifique a fórmula para obter o número no final do nome da planilha, alterando de +1 para +4. Isso pula os 3 caracteres "Dia".
05 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)
- Subtraia 1 para obter a parte do número da planilha anterior.
4 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1
- Use
TEXT
para preencher o número com um zero inicial.
04 =TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1,"0#")
- Use
CONCATENATE
para criar o novo nome da planilha com uma referência à célulaF33
.
'Day04'!F33 =CONCATENATE("'Day",TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1,"0#"),"'!","F33")
Usando a fórmula
Sempre que você quiser um valor de célula da planilha anterior, use a fórmula no lugar da referência de célula e altere a última cadeia na fórmula para a referência de célula. Por exemplo, para usar a célula C4
para mostrar a descrição (observe C4
na fórmula):
="Saldo from "&TEXT(INDIRECT(CONCATENATE("'Day",TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1,"0#"),"'!","C4")),"DD.MM.YYYY.")
O resultado é Saldo from 01.06.2016.
Condições e advertências
- Cada nome de planilha deve terminar com dois números, por exemplo,
Day02
,Day03
, etc. - A fórmula não funcionará até que a nova planilha tenha seu nome correto. Um nome de folha incorreto causa
#VALUE!
de erros.