Vai al contenuto principale

Come estrarre rapidamente il nome del file dal percorso completo in Excel?

Supponendo di avere un foglio di lavoro che contiene un elenco di percorsi di file, ora vorresti estrarre solo il nome del file (la parte destra della barra rovesciata finale) da ciascun percorso come mostrato nelle schermate seguenti. Esistono trucchi rapidi per affrontare questo compito?

Estrai il nome del file dal percorso completo con la formula in Excel
Estrai il nome del file dal percorso completo con la funzione definita dall'utente
Estrai il nome del file dal percorso completo con il codice VBA


Estrai il nome del file dal percorso completo con la formula in Excel

In Excel, puoi utilizzare la formula seguente per estrarre rapidamente solo il nome del file dal percorso completo.

Seleziona una cella vuota, inserisci la formula sottostante e quindi premi il tasto entrare chiave.

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

Suggerimenti:: A1 è la cella da cui si desidera estrarre il nome del file) e premere il pulsante Invio, quindi trascinare la maniglia di riempimento per riempire l'intervallo desiderato. Successivamente, il nome del file viene estratto da ogni cella.

doc estratto nome1


Estrai il nome del file dal percorso completo con la funzione definita dall'utente

Con la seguente funzione definita dall'utente, è possibile ottenere il nome del file facilmente e rapidamente.

1. Tieni premuto il ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.

2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.

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. Premere il tasto altro + Q i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra e torna al foglio di lavoro. In una cella vuota, ad esempio B1, inserisci la formula seguente e premi il tasto entrare chiave.

=FunctionGetFileName(A1)

nomi-file-estrazione-doc1

Quindi seleziona di nuovo la cella B1, trascina il quadratino di riempimento sull'intervallo in cui desideri applicare questa formula e tutti i nomi di file sono stati estratti dai percorsi completi come risultato seguente:

nomi-file-estrazione-doc1


Estrai il nome del file dal percorso completo con il codice VBA

Oltre alla funzione definita dall'utente, un codice VBA può anche aiutarti a estrarre i nomi dei file. Per favore, fai come segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Finestra Microsoft Visual Basic, Applications Edition.

2. Clic inserire > Modulie incolla il codice seguente nella finestra del modulo.

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. Quindi premere F5 chiave per eseguire questo codice e selezionare l'intervallo da cui si desidera estrarre il nome del file, vedere screenshot:

nomi-file-estrazione-doc1

4. E poi clicca OK, i nomi dei file sono stati estratti dalla selezione come segue:

Note:: Con questo codice VBA, i dati originali verranno distrutti, quindi dovresti copiarne uno prima di applicare questo codice.

I migliori strumenti per la produttività in ufficio

Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   Più di 50 Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

scheda kte 201905


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Very useful function. Is there a way to modify the script so it finds the filename if the path has either \ or / slashes?

I have a spreadsheet with various hyperlinks where the underlying paths are either \ or / (back slash or forward slash) separates - I think its because some of the links to files were done just as bookmarks in Word originally, or to files on an internal doc server. Or maybe its because some path links are made with absolute vs relative path links?

eg:

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


When I ran the getfilename function, it got all the filenames that were in paths with \ between directories or folders, but the links with / slashes were returned as is.
I altered & added a second function that was similar but replaced the "\" in line 4 with "/" and called it forwardslashgetfilename and run it in a separate column after I run the first function.

Running one function after another is not difficult, but I was curious if you can expand the code in splitList operation in line 4 to include both "\" or "/". I'm no VBA programmer but I tried splitList = VBA.Split(FullPath, "\" or "/") and it didn't work.

Thoughts? I'm assuming its some simple syntax - I'm just clueless at this point... but I will start poking around the interwebs...

Tks!
This comment was minimized by the moderator on the site
The formula raises a #VALUE! error if the source cell has only a filename to begin with.. Embedding the entire formula in an IFERROR function solves this problem, e.g., =IFERROR(<orig formula>,A1)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations