Przejdź do głównej zawartości

Jak szybko wyodrębnić nazwę pliku z pełnej ścieżki w programie Excel?

Przypuśćmy, że masz arkusz roboczy zawierający listę ścieżek plików, teraz chciałbyś wyodrębnić tylko nazwę pliku (prawa część końcowego ukośnika odwrotnego) z każdej ścieżki, jak pokazano na poniższych zrzutach ekranu. Czy są jakieś szybkie sztuczki, aby poradzić sobie z tym zadaniem?

Wyodrębnij nazwę pliku z pełnej ścieżki za pomocą formuły w programie Excel
Wyodrębnij nazwę pliku z pełnej ścieżki za pomocą funkcji zdefiniowanej przez użytkownika
Wyodrębnij nazwę pliku z pełnej ścieżki za pomocą kodu VBA


Wyodrębnij nazwę pliku z pełnej ścieżki za pomocą formuły w programie Excel

W programie Excel możesz użyć poniższej formuły, aby szybko wyodrębnić tylko nazwę pliku z pełnej ścieżki.

Wybierz pustą komórkę, wprowadź do niej poniższą formułę, a następnie naciśnij Wchodzę klawisz.

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

Tips: A1 to komórka, z której chcesz wyodrębnić nazwę pliku) i naciśnij przycisk Enter, a następnie przeciągnij uchwyt wypełniania, aby wypełnić żądany zakres. Następnie nazwa pliku jest wyodrębniana z każdej komórki.

nazwa pliku doc ​​nazwa1


Wyodrębnij nazwę pliku z pełnej ścieżki za pomocą funkcji zdefiniowanej przez użytkownika

Dzięki poniższej funkcji zdefiniowanej przez użytkownika możesz łatwo i szybko uzyskać nazwę pliku.

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

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. Naciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications i wróć do arkusza. W pustej komórce, na przykład B1, wprowadź do niej poniższą formułę i naciśnij Wchodzę klawisz.

=FunctionGetFileName(A1)

nazwy-plików-wyciągów-dokumentów1

Następnie ponownie wybierz komórkę B1, przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zastosować tę formułę, a wszystkie nazwy plików zostały wyodrębnione z pełnych ścieżek w następujący sposób:

nazwy-plików-wyciągów-dokumentów1


Wyodrębnij nazwę pliku z pełnej ścieżki za pomocą kodu VBA

Oprócz funkcji zdefiniowanej przez użytkownika kod VBA może również pomóc w wyodrębnieniu nazw plików. Zrób tak:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

2. Kliknij wstawka > Modułi wklej następujący kod w oknie modułu.

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. Następnie naciśnij F5 klucz do uruchomienia tego kodu i wybierz zakres, z którego chcesz wyodrębnić nazwę pliku, zobacz zrzut ekranu:

nazwy-plików-wyciągów-dokumentów1

4. A następnie kliknij OK, nazwy plików zostały wyodrębnione z zaznaczenia w następujący sposób:

Note: Za pomocą tego kodu VBA oryginalne dane zostaną zniszczone, dlatego przed zastosowaniem tego kodu należy je skopiować.

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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