En una columna coger sólo la parte final del texto

Necesitaría capturar solo la parte final de una ruta que tengo en una columna de excel.. La parte final es el nombre del archivo que es lo único que necesitaría.. Este sería el ejemplo:
C:\DIGENIN\Grupos\SDG-PATRIMONIO\UP-1\Castilla La Mancha\Albacete\Chinchilla\Zona de Seguridad.doc
Todo esto pongamos que está en la columna A.. Yo en la columna B me gustaría tener sólo el final --> Zona de seguridad.doc
He probado con Datos--> Texto en columnas... Y demilitar por \ para que me salgan en distintas columnas, pero el problema es que quiero hacerlo para muchas rutas como la anterior, y no todas tienen la misma profundidad, por tanto no tienen la misma cantidad de barras separadoras ("\") y si le diera al botón de Texto en columnas no me saldría todo lo que quiero en la columna B... Sólo algunas, las más cortas...
Saludos y muchas gracias de antemano.

1 respuesta

Respuesta
1
Prueba con la siguiente fórmula:
=MED(A1;MAX((MED(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)="\")*FILA(INDIRECTO("1:"&LARGO(A1))));999)
Teniendo en cuenta que:
- Se trata de una fórmula matricial, por lo que hay que introducirla pulsando mayúsculas control entrada al mismo tiempo.
- Si la versión de Excel no es la última (la 2010) habrá que sustituir la función MED por EXTRAE.
Un millón de gracias, ha resultado! Sólo me gustaría abusar un poco de tu amabilidad y aunque esto que voy a pedir ya podría resolverlo yo de otra forma de manera sencilla.. ya por aprender de Excel un poco, ¿Qué habría que añadir en esa fórmula matricial para que en lugar de coger "\ y el texto.doc" cogiera solo "el texto.doc", es decir que cogiera el texto no con la "\" sino justo después de ella... ¿Habría qué añadir algún +1?".. Si no es algo así de simple que se pueda explicar en dos palabras no hace falta que te molestes...
Y la verdad es que me da un poco de pena no saber muy bien que hace la fórmula que me pusiste, así que también te agradecería mucho si puedes poner una breve explicación, aunque sea muy breve.
Muchas gracias
Sí, habría que añadir +1 a la posición desde la que MED debe extraer los caracteres, o sea:
=MED(A1;MAX((MED(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)="\")*FILA(INDIRECTO("1:"&LARGO(A1))))+1;999)
Lógicamente también matricial.
La fórmula averigua las posiciciones de todas las \ en la cadena de texto y luego cual es la mayor de ellas (o sea, la que está más a la derecha); de esto se encarga la función MAX. Con este dato, es fácil pasarle a MED la posición a partir de la cual debe extraer los caracteres. El 999 es por poner algo ya que es una argumento obligatorio para MED. Sería posible averiguar cuantos caracteres hay exactamente después de la última \ y sustituir ese 999 por la expresión necesaria para ello, pero sería complicar inútilmente la fórmula.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas