Preskoči na glavno vsebino

Kako hitro izvleči ime datoteke iz celotne poti v Excelu?

Če imate delovni list, ki vsebuje seznam poti datotek, bi zdaj radi iz vsake poti izvlekli samo ime datoteke (desni del končne poševnice), kot je prikazano na naslednjih prikazanih zaslonih. Ali obstajajo kakšni hitri triki za reševanje te naloge?

Izvlecite ime datoteke iz celotne poti s formulo v Excelu
Izvlecite ime datoteke iz celotne poti z uporabniško določeno funkcijo
Izvlecite ime datoteke iz celotne poti s kodo VBA


Izvlecite ime datoteke iz celotne poti s formulo v Excelu

V Excelu lahko s spodnjo formulo hitro izvlečete samo ime datoteke iz celotne poti.

Izberite prazno celico, vanjo vnesite spodnjo formulo in nato pritisnite Vnesite ključ.

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

nasveti: A1 je celica, iz katere želite izvleči ime datoteke), pritisnite gumb Enter in nato povlecite ročico za polnjenje, da zapolnite želeni obseg. Po tem se ime datoteke izvleče iz vsake celice.

doc izvleček ime1


Izvlecite ime datoteke iz celotne poti z uporabniško določeno funkcijo

Z naslednjo uporabniško določeno funkcijo lahko ime datoteke dobite enostavno in hitro.

1. Držite tipko ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic for Applications.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

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. Pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno in se vrnite na delovni list. V prazno celico, na primer B1, vnesite vanjo spodnjo formulo in pritisnite tipko Vnesite ključ.

=FunctionGetFileName(A1)

doc-izvleček-imen datotek1

Nato znova izberite celico B1, povlecite ročico za polnjenje v obseg, za katerega želite uporabiti to formulo, in vsa imena datotek so bila ekstrahirana iz celotnih poti kot naslednji rezultat:

doc-izvleček-imen datotek1


Izvlecite ime datoteke iz celotne poti s kodo VBA

Poleg uporabniško določene funkcije vam pri pridobivanju imen datotek lahko pomaga tudi koda VBA. Naredite to:

1. Držite tipko ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic za aplikacije.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v okno modula.

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. Nato pritisnite F5 tipko za zagon te kode in izberite obseg, iz katerega želite ekstrahirati ime datoteke, glejte posnetek zaslona:

doc-izvleček-imen datotek1

4. In nato kliknite OK, so imena datotek izvlečena iz izbora, kot sledi:

Opombe: S to kodo VBA bodo izvirni podatki uničeni, zato jo morate kopirati, preden uporabite to kodo.

Najboljša pisarniška orodja za produktivnost

Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

zavihek kte 201905


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
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