Nombre del archivo en una celda
Para poner el nombre del archivo sin el .xlsx o como sea que acabe tu extensión, pon esta formula (yo uso solo comas como separador y en mi versión se llama "nombrearchiv)
=EXTRAE(CELDA("nombrearchivo",A1),ENCONTRAR("[",CELDA("nombrearchivo",A1))+1,ENCONTRAR(".xlsx",CELDA("nombrearchivo",A1))-ENCONTRAR("[",CELDA("nombrearchivo",A1))-1)
Es básicamente la misma fórmula anterior, solo que he cambiado el "]" por ".xlsx" de esta manera se limita con eso el parámetro en lugar del corchete.
- Compartir respuesta
2 respuestas más de otros expertos
Me funciona a mi perfectamente con Office de MAC.
Ahora quiero preguntaros como hacer para que solo aparezca el nombre, sin el punto y la extensión.
¿Es posible?
Lo que me has mandado parece magia! Funciona perfectamente, otra cosa es que no entiendo como funciona, pero hace su función al 100%, GRACIAS
Buenas, AngelTe contesto por aquí porque la pregunta está cerrada.Para el ajuste que pides sólo necesitas un cambio en la misma fórmula. Usa esta: =EXTRAE(CELDA("FILENAME";N30);ENCONTRAR("[";CELDA("FILENAME";N30))+1;ENCONTRAR("]";CELDA("FILENAME";N30))-ENCONTRAR("[";CELDA("FILENAME";N30))-6)
Verás que sólo cambié -1 por -6 al final de la fórmula, con lo cual elimina más caracteres a la derecha.
- Compartir respuesta
Me quedo perfecta, pero con "-5" mil gracias.. - Jhon Solano
Claro. Depende de cuántos caracteres tenga la extensión del archivo de marras. Como la consulta era por 4 caracteres (y cito: "me gustaría quitar los últimos 4 caracteres, lo que es el punto y la extensión, (.XLSX)"). Por eso resté 6. Si la extensión fuese XLS, es -desde luego- correcto que sólo restes 5. Saludos. Fernando - fejoal
Buenas tardes, Angel. Para entender la fórmula verás que se repite CELDA("FILENAME";N30). Esta fórmula es completa porque te dá todos los datos del archivo y hoja donde se la coloque. Ejemplo:C:\FeJoAl\ComEx\Presupuestos\ Pr20162017\Ventas\[ElArchivo.xlsm]HojaPlanillaPor ello está anidada en los argumentos de la función EXTRAE, que toma la cantidad de caracteres que se le indique de un determinado texto comenzando desde una determinada posición, también indicada dentro de la fórmula. Este dato, desde dónde tomar, surge de ENCONTRAR el corchete de apertura "[" en toda esa cadena de caracteres, más 1 para que considere desde el caracter siguiente. <Sigo en otro comentario> - fejoal
Luego, la cantidad de caracteres a considerar surge de la resta de la posición donde encuentre el corchete de cierre "]" menos la posición donde encontró el de apertura "[", menos 1 para que tome hasta el anterior o menos 6, para que no considere la extensión del archivo ni el punto que la separa. La fórmula parece compleja porque hace todos esos cálculos en una única celda. Espero que te haya quedado más claro ahora. Abrazo. Fer - fejoal
Excelente!, muchas gracias - Claudio Villanueva
Muy bien, Me alegro de que te haya servido. Excel ente Año! - fejoal
Muchas gracias por la ayuda era justo no que necesitaba - roy zabala salvatierra
Por lo tanto, no necesitarás una macro y, de hecho, tal fórmula se actualizará automáticamente:
=CELDA("Filename",N32)
Considera si usas coma o punto y coma para separar argumentos.
Nota que se escribe así, independientemente del lenguaje que tenga tu versión
La referencia a la celda puede ser cualquiera e, incluso, puede omitirse.
En algunas versiones, también puedes usar esta fórmula:
=CELDA("ARCHIVO",N32)
Pero, personalmente, prefiero la anterior.
Estoy trabajando en un archivo excel llamado Prueba.xls. Lo que requiero es que en la celda A1 por ejemplo diga "Prueba.xls". Si le cambio el nombre al archivo a Prueba2.xls, que el valor de la celda A1 cambie a "Prueba2.xls.
Gracias de antemano.
Tal vez, tengas la hoja seteada a modo de recalculo manual. En ese caso deberías presionar F9 para que se actualice esa y la demás celdas de tu archivo.
Prueba con ambas fórmulas que te envié y verás que ocurre lo que te dije.
Resultado de la fórmula
C:\TEMP\[stockci13.030331.xls]stockci13.030331
Necesito solo "stockci13.030331.xls"
OK. No te asustes pero la siguiente variante, extrae el nombre del archivo de la fórmula anterior en una única celda:
=EXTRAE(CELDA("FILENAME";N32);ENCONTRAR("[";CELDA("FILENAME";N32))+1;ENCONTRAR("]";CELDA("FILENAME";N32))-ENCONTRAR("[";CELDA("FILENAME";N32))-1)
Si usas punto y coma como separador de argumentos, bastará que copies esta misma fórmula y la pegues en la barra de edición, en la celda donde quieres el nombre del archivo.
Caso contrario, reemplaza los ; por comas.
Pese a su longitud, funciona bien en cualquier caso.
Coméntame si funciona en tu caso.
Un abrazo!
Fernando
- Compartir respuesta
ME ha venido perfecta esta fórmula. Para excel 2010 la función EXTRAE se ha sustituido por MED.Saludos, - Eduardo Tahoces
Esta fórmula me trae conflictos cuando trabajo con dos archivos...suponiendo que la fromula esté en el archivo 1, cuando abro el archivo2, la formula arroja #valor! o lo que es peor, el nombre del archivo 2. ¿que podría pasar? - Gabriel Pellegrini
Me funciona al 100%, gracias, es lo que necesitaba yo. Solo que para dejarlo estéticamente mejor, me gustaría quitar los últimos 4 caracteres, lo que es el punto y la extensión, (.XLSX) ¿Es posible? Gracias de antemano - Angel Luis Sanchez Macias
Buenas, AngelTe contesto por aquí porque la pregunta está cerrada.Para el ajuste que pides sólo necesitas un cambio en la misma fórmula. Usa esta:=EXTRAE(CELDA("FILENAME";N30);ENCONTRAR("[";CELDA("FILENAME";N30))+1;ENCONTRAR("]";CELDA("FILENAME";N30))-ENCONTRAR("[";CELDA("FILENAME";N30))-6)Verás que sólo cambié -1 por -6 al final de la fórmula, con lo cual elimina más caracteres a la derecha.Espero que te sirva.AbrazoFer - fejoal
Buenas, Gabriel: Curioso que no te funcione. La única razón para que no lo haga es que el archivo sea nuevo y aún no haya sido grabado con nombre alguno. Asegurate de que la referencia a la celda, segundo argumento (N32, en el ejemplo corresponda a una celda del archivo donde colocas la fórmula. Saludos! Fernando - fejoal
Buenas fejoal, si me parece raro este error. A los documentos los inicio guardados porque los voy copiando de plantillas... todos se llaman QCPEC-XXXX HR-XXXX donde XXXX son números. Estos números son los que quiero extraer en dos celdas de la planilla Uso la fórmula =MED(CELDA("nombrearchivo");ENCONTRAR("HR";CELDA("nombrearchivo"))+3;4) para las X después de HR y =MED(CELDA("nombrearchivo");ENCONTRAR("HR";CELDA("nombrearchivo"))-5;4) para las X después de QCPEC... - Gabriel Pellegrini
Hasta donde alcanzo a ver, sólo te falta la referencia a alguna celda de ese archivo. La fórmula: CELDA("nombrearchivo") si bien funciona, es muy volátil. Por eso te había sugerido usar algo así como: CELDA("nombrearchivo";A1). Probá con ese ajuste y comentame si mejora. Abrazo. Fer - fejoal
Ahhh! excelente!!! ahora funciona de maravilla.Gracias! - Gabriel Pellegrini
Gracias, me sirvió mucho - Cesar Caceres Manquelaf
Muy bien, Me alegro de que te haya servido. Excel ente Año! - fejoal
perfecto era lo que necesitaba - Patricia Mujica
Gracias me funciono perfecto, solo tuve que hacer un ajuste en la cantidad que resta caracteres al final de la fórmula - Jorge Mauricio Benavides Muñoz
Si me funciono tu fórmula con Office 2013, solo sustituí el punto y coma por coma - Florencia Ordoñez