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

Як швидко витягти ім'я файлу з повного шляху в 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% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (2)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Формула викликає #VALUE! помилка, якщо вихідна клітинка має лише ім’я файлу для початку. Вбудовування всієї формули у функцію IFERROR вирішує цю проблему, наприклад, =IFERROR( ,A1)
Цей коментар був мінімізований модератором на сайті
Дуже корисна функція. Чи є спосіб змінити сценарій, щоб він знаходив ім'я файлу, якщо в шляху є \ або / косі риски?

У мене є електронна таблиця з різними гіперпосиланнями, де основні шляхи є роздільними \ або / (назад або пряма похила риска) - я думаю, що це тому, що деякі посилання на файли були створені так само як закладки в Word або на файли на внутрішній сервер документів. Або, можливо, це тому, що деякі посилання на шляхи створюються за допомогою абсолютних і відносних посилань шляхів?

наприклад:

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


Коли я запустив функцію getfilename, вона отримала всі імена файлів, які були в шляхах з \ між каталогами або папками, але посилання з / косою рискою поверталися як є.
Я змінив і додав другу функцію, яка була подібною, але замінив «\» у рядку 4 на «/», назвав її forwardslashgetfilename і запустив її в окремому стовпці після запуску першої функції.

Виконувати одну функцію за іншою нескладно, але мені було цікаво, чи можна розширити код операції splitList в рядку 4, щоб включити обидва "\" або "/". Я не програміст VBA, але спробував splitList = VBA.Split(FullPath, "\" або "/"), і це не спрацювало.

Думки? Я припускаю, що це якийсь простий синтаксис - я просто не знаю на цьому етапі... але я почну копатися в Інтернеті...

Ткс!
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця