Salt la conținutul principal

Cum se extrage rapid numele fișierului din calea completă în Excel?

Presupunând că aveți o foaie de lucru care conține o listă de căi de fișiere, acum doriți să extrageți doar numele fișierului (partea dreaptă a barei oblice finale) din fiecare cale, după cum se arată în următoarele capturi de ecran. Există trucuri rapide pentru a face față acestei sarcini?

Extrageți numele fișierului din calea completă cu formula în Excel
Extrageți numele fișierului din calea completă cu funcția definită de utilizator
Extrageți numele fișierului din calea completă cu codul VBA


Extrageți numele fișierului din calea completă cu formula în Excel

În Excel, puteți utiliza formula de mai jos pentru a extrage rapid numai numele fișierului din calea completă.

Selectați o celulă goală, introduceți formula de mai jos în ea și apoi apăsați pe Intrați cheie.

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

sfaturi: A1 este celula din care doriți să extrageți numele fișierului) și apăsați butonul Enter, apoi glisați mânerul de umplere pentru a completa intervalul dorit. După aceea, numele fișierului este extras din fiecare celulă.

doc extras nume1


Extrageți numele fișierului din calea completă cu funcția definită de utilizator

Cu următoarea funcție definită de utilizator, puteți obține numele fișierului ușor și rapid.

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

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. Apăsaţi Alt + Q tastele pentru a închide Microsoft Visual Basic pentru aplicații fereastră și reveniți la foaia de lucru. De exemplu, într-o celulă goală, B1, introduceți formula de mai jos și apăsați tasta Intrați cheie.

=FunctionGetFileName(A1)

doc-extract-nume de fișier1

Apoi selectați din nou celula B1, trageți mânerul de umplere în intervalul în care doriți să aplicați această formulă și toate numele de fișiere au fost extrase din căile complete, ca urmare:

doc-extract-nume de fișier1


Extrageți numele fișierului din calea completă cu codul VBA

Pe lângă funcția definită de utilizator, un cod VBA vă poate ajuta, de asemenea, să extrageți numele fișierelor. Vă rugăm să faceți acest lucru:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în fereastra modulului.

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. Apoi apăsați F5 tasta pentru a rula acest cod și selectați intervalul din care doriți să extrageți numele fișierului, vedeți captura de ecran:

doc-extract-nume de fișier1

4. Apoi faceți clic pe OK, numele fișierelor au fost extrase din selecție după cum urmează:

notițe: Cu acest cod VBA, datele originale vor fi distruse, deci ar trebui să copiați unul înainte de a aplica acest cod.

Cele mai bune instrumente de productivitate de birou

Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

fila kte 201905


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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