El problema es crear una nueva hoja, copiar el contenido de una hoja existente y cambiar las referencias a celdas a una segunda hoja existente. Como Satya mishra Dice, eso podría hacerse manualmente cambiando. 'Day03'!
a 'Day04'!
después de copiar a una nueva hoja, Day05
.
Para realizar el cambio automáticamente cuando copia de la hoja anterior a una nueva, replanteamos el problema: cree una hoja nueva y copie el contenido de la hoja anterior. Utilice el nombre de la nueva hoja para hacer referencias a la hoja nombrada anterior.
Aquí hay una fórmula en la hoja actual que obtiene los contenidos de la celda. F33
De la hoja nombrada anterior. Por ejemplo, si la hoja actual es Day05
, la fórmula obtiene F33
de la hoja Day04
.
=INDIRECT(CONCATENATE("'Day",TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1,"0#"),"'!","F33"))
Como funciona la formula
La formula utiliza INDIRECT
para obtener un valor de celda de la hoja anterior. Si la hoja actual es Day05
y queremos celular F33
, INDIRECT
necesita una cadena que hace referencia a la celda F33
en hoja Day04
. La cuerda que necesitamos es 'Day04'!F33
.
- Obtener el nombre de la hoja para la hoja actual.
Day05 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,255)
- Modifique la fórmula para obtener el número al final del nombre de la hoja cambiando +1 a +4. Esto omite los 3 caracteres "Día".
05 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)
- Resta 1 para obtener la porción numérica de la hoja anterior.
4 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1
- Utilizar
TEXT
para rellenar el número con un cero inicial.
04 =TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1,"0#")
- Utilizar
CONCATENATE
Para hacer el nuevo nombre de la hoja con una referencia a la celda. F33
.
'Day04'!F33 =CONCATENATE("'Day",TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+4,255)-1,"0#"),"'!","F33")
Usando la formula
Donde quiera que desee un valor de celda de la hoja anterior, use la fórmula en lugar de la referencia de celda y cambie la última cadena en la fórmula a la referencia de celda. Por ejemplo, para usar celular. C4
para mostrar la descripción (aviso C4
en la 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.")
El resultado es Saldo from 01.06.2016.
Condiciones y advertencias.
- Cada nombre de hoja debe terminar con dos números, por ejemplo,
Day02
, Day03
, etc.
- La fórmula no funcionará hasta que la nueva hoja tenga su nombre correcto. Un nombre de hoja incorrecto causa
#VALUE!
errores