Uso de un valor de celda como nombre de hoja de trabajo en una fórmula (Microsoft Excel)
Roy tiene una fórmula que hace referencia a una celda en otro libro de trabajo, como = ‘[http://www.formville.com/C4_free-timesheets.html [Hoja de tiempo] s.xlsm] Week01′! L6.
Le gustaría que la fórmula tomara el nombre de la hoja de trabajo (Semana 01) de otra celda, de modo que la fórmula sea de uso más general. Roy se pregunta cómo debería cambiar la fórmula para que pueda usar el nombre de la hoja de trabajo que esté en la celda B9.
La forma más sencilla de manejar esto es usar la función de hoja de trabajo INDIRECTA. Esencialmente, toma una dirección de celda y la usa como un «puntero» y luego recupera el valor de esa celda. Por ejemplo, podría utilizar lo siguiente:
=INDIRECT(L6)
Esto da como resultado que el valor de la celda L6 se obtenga y se utilice como puntero a lo que realmente desea. Por lo tanto, si la celda L6 contiene «A7», la función devuelve el valor de lo que esté en la celda A7. Curiosamente, si invoca la función de esta manera, obtiene un resultado diferente:
=INDIRECT("L6")
El resultado es el contenido de la celda L6 en lugar de utilizar el contenido de la celda L6 como puntero.
Con esta información, podría armar fácilmente una dirección que funcione correctamente con la función INDIRECTA:
=INDIRECT("'[Timesheets.xlsm]" & K2 & "'!L6")
Esta fórmula asume que el nombre de la hoja de trabajo deseada se almacena en la celda K2. Si no hay un nombre de hoja de trabajo válido en esa celda, la fórmula devuelve un error #REF.
Un problema importante con este enfoque es que debe asegurarse de que el libro de trabajo (Timesheets.xlsm) esté abierto. INDIRECT no alcanzará un libro sin abrir. Si no está abierto, obtendrá un error #REF en lugar del valor deseado.
Si desea que la fórmula sea aún más de uso general, puede extraer el nombre del libro de trabajo, el nombre de la hoja de trabajo y la referencia de celda, todo de las celdas dentro de su hoja de trabajo, de esta manera:
=INDIRECT("'[" & K1 & "]" & K2 & "'!" & K3)
En este caso, K1 contendría el nombre del libro de trabajo (Timesheets.xlsm), K2 contendría el nombre de la hoja de trabajo («Week01») y K3 contendría la celda deseada («L6»).
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (6069) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.