Note: The other languages of the website are Google-translated. Back to English
Login  \/ 
x
or
x
Registrati  \/ 
x

or

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 Entra chiave.

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

Tip: 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 > Moduloe 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 Entra chiave.

=FunctionGetFileName(A1)

doc-extract-filenames1

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:

doc-extract-filenames1


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 > Moduloe 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:

doc-extract-filenames1

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

Osservazioni:: 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

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il 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 centinaia di clic del mouse ogni giorno!
fondo officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Rese · 1 years ago
    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!
  • To post as a guest, your comment is unpublished.
    bob · 3 years ago
    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)