Excel - Referencias al nombre de un libro de excel

   
Vista:

Referencias al nombre de un libro de excel

Publicado por Clara (1 intervención) el 11/11/2011 10:54:00
Hola, mi nombre es Clara y estoy haciendo un libro de excel con unas facturas.

Mi pregunta es como puedo hacer referencia en una celda al nombre del libro que la contiene, es decir, en la celda A1 quiero que aparezca pedro si el nombre de ese mismo libro es factura pedro, o que aparezca juan si el nombre del libro es factura juan.

Un saludo y muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Referencias al nombre de un libro de excel

Publicado por Raziel (243 intervenciones) el 11/11/2011 18:21:05
Ok, para conocer el nombre del libro, necesitamos su direccion completa (el libro debe estar guardado), eso lo obtenemos con la Funcion: =CELDA("nombrearchivo")

En mi caso el resultado de la funcion es:
C:\Documents and Settings\Raziel\[Mi Libro.xlsx]Hoja1

Entendiendo que la direccion completa no nos sirve, tendremos que extraer el nombre del libro determinando su posicion, la cual inicial con "["+1 caracter indeterminado y termina con "." ademas de saber de cuantos caracteres esta compuesta la direccion para poder saber cuanto texto extraer, tenemos entonces:

En A1 =CELDA("nombrearchivo") <-- Para determinar la direccion
En A2 =LARGO(A1) <-- Para determinar el largo del texto
En A3 =ENCONTRAR("[",A1,1) <-- Para encontrar el corchete inicial que contiene el nombre del libro
En A4 =ENCONTRAR(".",A1,1) <-- Para encontrar el punto que delimita el nombre del libro

En A5 =EXTRAE(A1,A3+1,(A2-A3)-(A2-A4)-1) <-- La funcion EXTRAE requiere 3 argumentos, el texto con el que se trabajara, la posicion inicial de extraccion y el numero de caracteres a extraer, te tocara analizar la forma en que reste y sume los distintos datos para obtener el nombre...

En A6 =EXTRAE(CELDA("nombrearchivo"),ENCONTRAR("[",CELDA("nombrearchivo"),1)+1,(LARGO(CELDA("nombrearchivo"))-ENCONTRAR("[",CELDA("nombrearchivo"),1)) -(LARGO(CELDA("nombrearchivo"))-ENCONTRAR(".",CELDA("nombrearchivo"),1))-1) <-- Te ahorras todas las formulas anteriores y pones todo en una sola celda.


*Anotacion: La funcion CELDA es muy volatil, en 2 libros guardados escribe =CELDA("nombrearchivo"), observa como a pesar de que se encuentran en instancias distintas muestran la misma direccion, algo para considerar.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Referencias al nombre de un libro de excel

Publicado por Geo (1 intervención) el 14/11/2011 18:16:31
La solución que propone Raziel usando la funcion CELDA me parece que es el apropiado.
Solo quisiera adicionar algo respecto a la anotación que hace al final. Esa aparente volatilidad es porque debemos agregar a la función el 2do argumento que es la referencia a una celda, así
=CELDA("nombrearchivo",A1)
De esta forma la funcion celda devuelve el valor correspondiente al archivo que tiene la celda A1.
Cuando no se especifica el 2do parámetro la funcion CELDA devuelve el valor correspondiente a la última celda modificada, que en nuestro caso podría ser de otro libro y no del libro al que pertenece la formula como podríamos pensar. Eso no está muy claramente explicado en la ayuda del Excel.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar