Tengo un libro de trabajo.
En él tengo varias hojas a las que les cambié el nombre con un número. La primera hoja es la base de datos de la que quiero extraer el número.
hoja1renombrado a A: contiene los datos que quiero extraer
hoja2renombrado a 1: la fórmula en la celda B3
debe ser=A!B1
hoja3renombrado a 2: la fórmula en la celda B3
debe ser=A!B2
hoja4renombrado a 3: la fórmula en la celda B3
debe ser=A!B3
hoja5renombrado a 4: la fórmula en la celda B3
debe ser=A!B4
Puedo extraer el nombre de la hoja cuyo nombre cambié a dígito arriba con 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))))
Pero no puedo usarlo para cambiar la referencia de la celda de modo que en la hoja 1
esté =A!B1
y en la hoja 2
esté =A!B2
la referencia de la celda cambie cada vez que cambie el nombre de la hoja.
¿Alguien puede ayudarme con eso? Entonces la fórmula se parece más a esta.=A!B(sheetname)
Respuesta1
Prueba esto
=INDIRECT("A!B"&yourformula)
Una de las desventajas es INDIRECT
que si cambia A
el nombre de su hoja, por ejemplo Kitchen
, la fórmula no se actualizará a "Kitchen!B"&yourformula
.
Y recuerde que INDIRECT
es una forma poco elegante de resolver problemas. ¡Es tremendamente lento, especialmente cuando se trata de MUCHOS INDIRECTOS!