Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як швидко витягти ім'я файлу з повного шляху в Excel?

Припустимо, у вас є аркуш, який містить список шляхів до файлів, тепер ви хотіли б витягти з кожного шляху лише ім'я файлу (праву частину остаточної зворотної риски), як показано на наступних скріншотах. Чи є якісь швидкі хитрощі для вирішення цього завдання?

Витягніть ім'я файлу з повного шляху за допомогою формули в Excel
Витягніть ім'я файлу з повного шляху за допомогою визначеної користувачем функції
Витягніть ім'я файлу з повного шляху за допомогою коду VBA


Витягніть ім'я файлу з повного шляху за допомогою формули в Excel

В Excel ви можете скористатися наведеною нижче формулою, щоб швидко витягти лише ім'я файлу з повного шляху.

Виділіть порожню клітинку, введіть в неї формулу нижче, а потім натисніть вводити ключ

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

чайові: A1 - це комірка, з якої потрібно витягти ім'я файлу), і натисніть кнопку Enter, а потім перетягніть маркер заповнення, щоб заповнити потрібний діапазон. Після цього ім'я файлу витягується з кожної комірки.

назва витягу документа1


Витягніть ім'я файлу з повного шляху за допомогою визначеної користувачем функції

За допомогою наведеної нижче функції, яку визначає користувач, ви можете легко та швидко отримати ім’я файлу.

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Вікно Microsoft Visual Basic для програм.

2. Клацання Insert > Модуліта вставте наступний код у Вікно модуля.

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. Натисніть інший + Q клавіші, щоб закрити Microsoft Visual Basic для додатків вікно і поверніться до робочого аркуша. Наприклад, у порожню клітинку, В1, введіть у неї формулу нижче та натисніть вводити ключ

=FunctionGetFileName(A1)

doc-extract-імена файлів1

Потім знову виділіть комірку B1, перетягніть маркер заповнення до діапазону, до якого ви хочете застосувати цю формулу, і всі імена файлів були витягнуті з повних шляхів як такий результат:

doc-extract-імена файлів1


Витягніть ім'я файлу з повного шляху за допомогою коду VBA

Окрім визначеної користувачем функції, код VBA також може допомогти вам витягти імена файлів. Будь ласка, зробіть так:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Вікно Microsoft Visual Basic для програм.

2. Клацання Insert > Модуліта вставте наступний код у вікно модуля.

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. Потім натисніть F5 для запуску цього коду та виберіть діапазон, з якого ви хочете витягти ім'я файлу, див. знімок екрана:

doc-extract-імена файлів1

4. А потім клацніть OK, імена файлів були вилучені з виділення наступним чином:

примітки: За допомогою цього коду VBA оригінальні дані будуть знищені, тому скопіюйте його перед застосуванням цього коду.


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
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)