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
TEXTpara 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
CONCATENATEpara 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.