¿Cómo se inserta el nombre del archivo actual en Excel?

14

Estoy tratando de ver el nombre del archivo en el que estoy trabajando en la hoja de cálculo Excel de interés usando una fórmula. Por ejemplo, si el archivo se llamaba workbook1.xlsx, me gustaría que la celda A1 muestre "workbook1.xlsx"

La fórmula que proporciona el sitio de ayuda de Microsoft no funciona: http://office.microsoft.com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in- a-cell-HA010103010.aspx # BMinsert3

= MID (CELL ("nombre de archivo"), SEARCH ("[", CELL ("filename")) + 1, SEARCH ("]", CELL ("filename")) - SEARCH ("[", CELL ("filename ")) - 1)

timothy.s.lau
fuente
¿De qué manera no funciona? ¿Qué salida da? ¿Guardaste el libro?

Respuestas:

14

Funciona aquí, acabo de probar en Excel 2007 (XP) y Excel 2013 (Windows 8).

Intente =CELL("filename")solo primero para ayudar a solucionar problemas.

  • Asegúrese de haber guardado su libro en el disco. No mostrará "Libro1" si coloca la fórmula en un nuevo libro de trabajo no guardado.

  • ¿Está utilizando configuraciones regionales que no están en inglés en su computadora? Algunos idiomas que requieren ajustar nombres de funciones y sintaxis de fórmulas (en francés, por ejemplo, las comas deben reemplazarse por punto y coma).

  • ¿Estás en tu computadora personal o en una computadora de trabajo? Si se trata de una computadora de trabajo, quizás podría haber limitaciones de derechos de usuario que causen problemas.

Cuando dices "no funciona", ¿puedes ser más específico? ¿Acepta la fórmula como escrita? ¿La celda está vacía y muestra "# ¡VALOR!", Etc. ¿Qué pasa cuando solo uso =CELL("filename")?

mtone
fuente
Creo que tenía un espacio o algo, funciona ahora. ¡Gracias!
timothy.s.lau
No parece funcionar en la versión beta de Excel 2015.
Akku
Asegúrese de que el marcado de la celda en la que se encuentra es general / estándar (por lo que no es texto / número, etc.)
Lexib0y
1
No funcionó para mí, hasta que cambié el carácter de coma a punto y coma, según mi ubicación.
mavrosxristoforos
9

Tenga en cuenta que =CELL("filename")le da la ruta al último libro / hoja de trabajo modificada, por lo que si tiene 2 libros abiertos, abc y xyz y su fórmula está en abc, si cambió por última vez un valor en xyz, la fórmula en abc reflejará eso y devolveráxyz.xlsx

Por esa razón, generalmente es preferible incluir una referencia de celda (cualquier referencia de celda), p. Ej.

= CELDA ("nombre de archivo", A1 )

Usar esa versión significa que solo obtendrá el nombre del libro de trabajo en el que reside la fórmula.

Puedes usar esta versión un poco más corta

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

barry houdini
fuente
2

He encontrado que esta es la fórmula "más simple" para devolver solo el nombre de archivo :

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

or - created in VBA:

Formula = "=REPLACE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),1,FIND(""["",CELL(""filename"",A1)),"""")"

Para devolver la ruta completa , esto hará:

=SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),"[","")

or - created in VBA:

Formula = "=SUBSTITUTE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),""["","""")"
Gustav
fuente
1

¡Tuve el mismo problema (la fórmula pegada no funcionó)! Una vez que reemplacé el ,by ;en la fórmula, funcionó perfectamente.

= MID (CELL ("nombre de archivo"); SEARCH ("["; CELL ("filename")) + 1; SEARCH ("]"; CELL ("filename")) - SEARCH ("["; CELL ("filename ")) - 1)

Polle
fuente
Creo que esto se debe a que está utilizando una versión en euros de Excel. La versión Euro usa punto y coma en lugar de comas para los parámetros de función. La versión internacional también usa comas, creo.
krowe2
No es realmente una cuestión de qué versión de Excel está ejecutando, sino qué 'delimitador' está utilizando en la configuración regional.
deroby
1

La solución más simple es esta:

En su archivo de Excel, presione Alt+ F11, que abre Microsoft Visual Basics for Applications (VBA). En VBA, seleccione Insert > Moduley pegue el siguiente código

Public Function GetMyProp(prop As String) As String
    GetMyProp = ThisWorkbook.BuiltinDocumentProperties(prop)
End Function

En su fórmula de tipo de archivo de Excel: =GetMyProp("Title"). Esto mostrará el título de su documento en la celda elegida.

Benny Huyghe
fuente
1

Si usa Excel en holandés, debe usar los nombres de las funciones holandesas y usar punto y coma en lugar de coma:

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-1);1;VIND.SPEC("[";CEL("filename"));"")

Gast
fuente