Algunas personas me han preguntado si había una manera de crear una fórmula que devolvería el nombre de la carpeta principal para el archivo de libro actual. La idea era que devolviera solo el nombre de la carpeta, y que se obtuviera mediante una fórmula de Excel normal, no una macro o una función definida por el usuario.
La respuesta es sí, es posible averiguar la carpeta principal usando una fórmula, pero la fórmula es bastante larga y complicada. He tenido que realizar varios intentos, pero al final lo he conseguido. La siguiente fórmula es la más corta posible:
Con Microsoft Excel en Español
=EXTRAE(CELDA(«nombrearchivo»); ENCONTRAR(CARACTER(1);
SUSTITUIR(CELDA(«nombrearchivo»); «\»; CARACTER(1); LARGO(CELDA(«nombrearchivo»))
– LARGO(SUSTITUIR(CELDA(«nombrearchivo»); «\»; «»)) – 1)) + 1; ENCONTRAR(«[«;
CELDA(«nombrearchivo»)) – 2 – ENCONTRAR(CARACTER(1);
SUSTITUIR(CELDA(«nombrearchivo»); «\»; CARACTER(1); LARGO(CELDA(«nombrearchivo»))
– LARGO(SUSTITUIR(CELDA(«nombrearchivo»); «\»; «»)) – 1)))
Con Microsoft Excel en Inglés
=MID(CELL(«filename»); FIND(CHAR(1); SUBSTITUTE(CELL(«filename»);
«\»; CHAR(1); LEN(CELL(«filename»)) – LEN(SUBSTITUTE(CELL(«filename»);
«\»; «»)) – 1)) + 1; FIND(«[«; CELL(«filename»)) – 2 – FIND(CHAR(1);
SUBSTITUTE(CELL(«filename»); «\»; CHAR(1); LEN(CELL(«filename»)) –
LEN(SUBSTITUTE(CELL(«filename»); «\»; «»)) – 1)))
Ten en cuenta que esta es una fórmula real; debe aparecer en una sola línea en una celda, y sin espacios (yo los he incluido para que quedará más clara).
La fórmula funciona utilizando el número de barras diagonales inversas en la ruta de acceso de archivo completa y, a continuación, reemplazando la segunda a la última barra diagonal por un valor ASCII de 1. Este valor se utiliza como una «ayuda de posicionamiento» para ayudar a extraer el nombre de la carpeta principal.
Ten en cuenta, también, que puedes obtener un error #VALUE hasta que guardes el libro en el que has introducido la fórmula. (Hasta ese punto, no hay ninguna ruta que analizar, por lo que las diversas funciones de la fórmula devuelven un error #VALUE.)
Esta truco funciona en Microsoft Excel 2007, 2010, 2013 y 2016.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.