5 de marzo de 2009

Obtener el nombre de una hoja

Un usaurio pregunta: ¿Como puedo hacer que en Excel, una celda vincule el texto del titulo de la hoja?

Respuesta: Utilizando la fórmula:

=DERECHA(CELDA("nombrearchivo",A1), LARGO(CELDA("nombrearchivo", A1))- ENCONTRAR("]", CELDA("nombrearchivo", A1), 1))

Expliquemos el funcionamiento de esta fórmula de adentro hacia afuera:

CELDA("nombrearchivo",A1) devuelve la ubicación completa de la celda especificada en el segundo argumento (puede ser de otra hoja incluso), incluyendo la ruta completa del archivo y el nombre de la hoja. En mi equipo el resultado de esta subfórmula es:

C:\Documents and Settings\leonel.quezada\[milibro.xls]Mi hoja

Al final extraemos únicamente el nombre de la hoja utilizando la función DERECHA.

LARGO(CELDA("nombrearchivo", A1)) devuelve el número total de caracteres del resultado previo. En este caso 61.

ENCONTRAR("]", CELDA("nombrearchivo", A1) ,1) devuelve la posición del caracter "]" en el resultado anterior, 54.

Por tanto, LARGO(CELDA("nombrearchivo", A1))- ENCONTRAR("]", CELDA("nombrearchivo", A1), 1) devuelve el número de caracteres que deberá extraer la función DERECHA: 61-54=7.

PD: Técnicamente, estamos hablando del "nombre" de la hoja, no del "título".

6 comentarios:

  1. Podemos simplificar escribiendo en otra celda, digamos J1, la fórmula

    =CELDA("nombrearchivo", A1)

    y sustituyendo la fórmula original por:

    =DERECHA(J1, LARGO(J1)- ENCONTRAR("]", J1, 1))

    ResponderEliminar
  2. la función CELDA funciona aún si no especificas el segundo parámetro (es opcional y por default es igual a la celda en que se ejecuta la función), es decir que las siguientes expresiones devuelven el mismo resultado:
    =CELDA("nombrearchivo")
    =CELDA("nombrearchivo",A1)

    ResponderEliminar
  3. De acuerdo. En lo personal yo acustumbro especificar todos los argumentos de mis fórmulas, aún si son opcionales.

    ResponderEliminar
  4. Creo recordar que había una función en EXCEL (no en VBA) para referenciar al nombre de la hoja... pero no la recuerdo. Alquien la conoce? Saludos.

    ResponderEliminar
  5. como puedo sacar el total en excel

    ResponderEliminar
  6. Sinceramente la "excel"encia y la elegancia esta muy buena.

    Me resirvió para un sistema de notas de 3 escuelas.

    Porque en base al nombre de la hoja automáticamente me carga el nombre de los alumnos dependiendo de una búsqueda del curso y división.

    Nuevamente Gracias Gracias.

    A.C. Alejandro Cordero - Río Cuarto - Córdoba

    ResponderEliminar

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Excel, Excel 2003, Excel 2007 y el logo XL son marcas registradas de Microsoft Corporation.