¿Cómo hacer que el nombre de un archivo sea una variable para hacer referencia a una hoja de excel?

Si desde un hoja excel tengo una referencia a otra hoja, que esta en un archivo diferente, ¿cómo puedo hacer que el nombre sea variable?
ejemplo: BUSCARH(B1,[datosxx.xls]datos1!$B$2:$M$4,2,FALSO)
datosxx.xls yo quiero hacerlo variable, ¿se puede de alguna manera? O solo me queda hacer una macro para que modifique las referencias.

1 respuesta

Respuesta
2
MS Excel proporciona una función que permite tomar una referencia desde, por ejemplo, un dato en la celda.
Esta función se llama INDIRECTO()
Supongamos que la celda donde guardas el nombre de tu archivo (datosxx.xls) es A2
Entonces tu fórmula será:
BUSCARH(B1,INDIRECTO(CONCATENAR("[",$A$2,"]datos1!$B$2:$M$4")),2,FALSO)
Por su parte la función CONCATENAR sirve para "armar" la dirección completa del archivo, hoja, rango. Siendo, su contenido, un texto no variará al ser copiado a otras celdas.
Esta función es válida tanto para referencias internas (dentro del mismo archivo) como para externas. En este último caso, la condición sine-qua-non es que el archivo referenciado se encuentre abierto en ese momento. Caso contrario la fórmula devolverá #REF!.
Esto debería resolver tu pregunta. Si así fuera, agradeceré un comentario y que la finalices.
Si no, pregúntame de nuevo.
Un abrazo!
Fernando
"Me lo explicaron y lo olvidé,
lo leí y lo entendí,
lo hice y lo aprendí".
*====================================*
(Considera que la valoración que figura predeterminada
es 3/5. Tal vez quieras cambiarla...)
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas