Note: The other languages of the website are Google-translated. Back to English

¿Cómo extraer rápidamente el nombre de archivo de la ruta completa en Excel?

Supongamos que tiene una hoja de trabajo que contiene una lista de rutas de archivo, ahora le gustaría extraer solo el nombre del archivo (la parte derecha de la barra invertida final) de cada ruta como se muestra a continuación. ¿Hay algunos trucos rápidos para hacer frente a esta tarea?

Extraiga el nombre de archivo de la ruta completa con fórmula en Excel
Extraiga el nombre de archivo de la ruta completa con la función definida por el usuario
Extraiga el nombre de archivo de la ruta completa con código VBA


Extraiga el nombre de archivo de la ruta completa con fórmula en Excel

En Excel, puede usar la siguiente fórmula para extraer rápidamente solo el nombre del archivo de la ruta completa.

Seleccione una celda en blanco, ingrese la fórmula a continuación y luego presione el botón Enviar clave.

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

Consejos: A1 es la celda de la que desea extraer el nombre de archivo) y presione el botón Entrar, luego arrastre el controlador de relleno para llenar el rango que desee. Después de eso, el nombre del archivo se extrae de cada celda.

nombre de extracto de doc1


Extraiga el nombre de archivo de la ruta completa con la función definida por el usuario

Con la siguiente función definida por el usuario, puede obtener el nombre del archivo fácil y rápidamente.

1. Mantenga pulsado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.

Function FunctionGetFileName(FullPath As String) As String
'Update 20140210
Dim splitList As Variant
splitList = VBA.Split(FullPath, "\")
FunctionGetFileName = splitList(UBound(splitList, 1))
End Function

3. Pulse el botón otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana y vuelva a la hoja de trabajo. En una celda en blanco, B1 por ejemplo, ingrese la siguiente fórmula y presione el botón Enviar clave.

=FunctionGetFileName(A1)

doc-extraer-nombres de archivo1

Luego, seleccione la celda B1 nuevamente, arrastre el controlador de relleno al rango en el que desea aplicar esta fórmula, y todos los nombres de archivo se han extraído de las rutas completas como resultado:

doc-extraer-nombres de archivo1


Extraiga el nombre de archivo de la ruta completa con código VBA

Además de la función definida por el usuario, un código VBA también puede ayudarlo a extraer los nombres de archivo. Por favor haz lo siguiente:

1. Mantenga pulsado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en la ventana del módulo.

Sub GetFileName()
'Update 20140210
Dim Rng As Range
Dim WorkRng As Range
Dim splitList As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    splitList = VBA.Split(Rng.Value, "\")
    Rng.Value = splitList(UBound(splitList, 1))
Next
End Sub

3. Entonces presione F5 para ejecutar este código y seleccione el rango del que desea extraer el nombre de archivo, vea la captura de pantalla:

doc-extraer-nombres de archivo1

4. Y luego haz clic OK, los nombres de archivo se han extraído de la selección de la siguiente manera:

Nota:: Con este código VBA, los datos originales serán destruidos, por lo que debe copiar uno antes de aplicar este código.


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (2)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
La fórmula plantea un #VALOR! error si la celda de origen solo tiene un nombre de archivo para comenzar. Incrustar la fórmula completa en una función IFERROR resuelve este problema, por ejemplo, =IFERROR( ,A1)
Este comentario fue minimizado por el moderador en el sitio
Función muy útil. ¿Hay alguna manera de modificar la secuencia de comandos para que encuentre el nombre del archivo si la ruta tiene \ o / barras?

Tengo una hoja de cálculo con varios hipervínculos en los que las rutas subyacentes están separadas por \ o / (barra diagonal inversa o barra diagonal). Creo que se debe a que algunos de los enlaces a archivos se crearon originalmente como marcadores en Word, o a archivos servidor de documentos. ¿O tal vez se deba a que algunos enlaces de ruta se crean con enlaces de ruta absolutos frente a relativos?

p.ej:

../../../../Documentos/2ndQuarter/2019/standardcost_widget12345.pdf
or
\fileserver\factory23\Operations\Parts_Mgt\Documents\2ndQuarter\2019\standardcost_widget12345.pdf


Cuando ejecuté la función getfilename, obtuvo todos los nombres de archivo que estaban en rutas con \ entre directorios o carpetas, pero los enlaces con / barras se devolvieron tal cual.
Modifiqué y agregué una segunda función que era similar pero reemplacé "\" en la línea 4 con "/" y la llamé forwardslashgetfilename y la ejecuté en una columna separada después de ejecutar la primera función.

Ejecutar una función tras otra no es difícil, pero tenía curiosidad por saber si puede expandir el código en la operación splitList en la línea 4 para incluir tanto "\" como "/". No soy programador de VBA pero probé splitList = VBA.Split(FullPath, "\" o "/") y no funcionó.

¿Pensamientos? Supongo que es una sintaxis simple: no tengo ni idea en este punto ... pero comenzaré a hurgar en las interwebs ...

Tks!
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL