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

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))

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

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

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-2021 e 365. Supporta tutte le lingue. Facile implementazione 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 ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (2)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
La formula alza un #VALORE! errore se la cella di origine ha solo un nome file per cominciare.. L'incorporamento dell'intera formula in una funzione SEERRORE risolve questo problema, ad esempio =SEERRORE( ,A1)
Questo commento è stato fatto dal moderatore sul sito
Funzione molto utile. C'è un modo per modificare lo script in modo che trovi il nome del file se il percorso ha \ o / barre?

Ho un foglio di calcolo con vari collegamenti ipertestuali in cui i percorsi sottostanti sono \ o / (barra inversa o barra in avanti) separati - penso che alcuni dei collegamenti ai file fossero originariamente creati proprio come segnalibri in Word o ai file su un interno server di documentazione. O forse è perché alcuni collegamenti di percorso sono realizzati con collegamenti di percorso assoluti rispetto a relativi?

per esempio:

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


Quando ho eseguito la funzione getfilename, ha ottenuto tutti i nomi di file che erano nei percorsi con \ tra directory o cartelle, ma i collegamenti con / barre sono stati restituiti così come sono.
Ho modificato e aggiunto una seconda funzione simile, ma ho sostituito "\" nella riga 4 con "/" e l'ho chiamata forwardslashgetfilename e l'ho eseguita in una colonna separata dopo aver eseguito la prima funzione.

L'esecuzione di una funzione dopo l'altra non è difficile, ma ero curioso di sapere se è possibile espandere il codice nell'operazione splitList nella riga 4 per includere sia "\" che "/". Non sono un programmatore VBA ma ho provato splitList = VBA.Split(FullPath, "\" o "/") e non ha funzionato.

Pensieri? Presumo che sia una semplice sintassi - a questo punto sono solo all'oscuro ... ma inizierò a curiosare tra le reti ...

Tks!
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL