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

從Excel中的路徑中提取文件名

本教程說明瞭如何應用公式來提取Excel中特定單元格中文件路徑中帶或不帶擴展名的文件名。

從路徑中提取帶有擴展名的文件名
從路徑中提取不帶擴展名的文件名


從路徑中提取帶有擴展名的文件名

如下面的屏幕快照所示,有一個包含不同文件路徑的列表,並且您只想從中提取帶有擴展名的文件名,以下公式將幫助您解決問題。

通用公式

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

參數

A1:代表包含您要從中提取文件名的文件路徑的單元格。

如何使用這個公式?

1.選擇一個空白單元格以輸出文件名。 在這種情況下,我選擇單元格D3。

2.輸入以下公式,然後按 Enter 鍵。 選擇結果單元格,然後將其“填充手柄”一直向下拖動以將其應用於其他單元格。

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

現在,如上圖所示,提取了在特定文件路徑中帶有擴展名的所有文件名。

筆記:

  • 在此公式中,B3是包含文件路徑的單元格。 請根據需要進行更改。
  • 如果文件名長度不超過99個字符,則以下較短的公式也可以用於解決問題。 請參見下面顯示的屏幕截圖。
    =TRIM(RIGHT(SUBSTITUTE(A2,"\",REPT(" ",100)),99))

這個公式如何運作?

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

1. FIND("*",SUBSTITUTE(B3,"\","*",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))

  • LEN(B3):LEN函數計算“ D:\\ files \ work \ Q1 \ Jan \ text.txt”中的總長度,並將結果返回為30;
  • LEN(SUBSTITUTE(B3,"\","")):SUBSTITUTE函數用任何字符替換字符“ \”。 結果為“ D:filesworkQ1Jantext.txt”。 然後,LEN函數計算“ D:filesworkQ1Jantext.txt”的總長度,並得到結果24;
  • SUBSTITUTE(B3,"\","*",30-24):SUBSTITUTE函數用單個字符“ *”替換“ D:\\ files \ work \ Q30 \ Jan \ text.txt”中的第三個字符(24-6 = 1)“ \”。 這裡的結果是“ D:\\ files \ work \ Q1 \ Jan * text.txt”;
  • FIND("*","D:\\files\work\Q1\Jan*text.txt"):FIND函數在“ D:\\ files \ work \ Q1 \ Jan * text.txt”中找到字符“ *”的位置,最後返回22。這意味著字符“ *”在“ D:\\ files \ work \ Q22 \ Jan * text.txt”。

2. =MID(B3,22+1,LEN(B3))

  • 如上面的說明所示,LEN(B3)返回結果為30,此處的MID函數可以顯示為= MID(“ D:\\ files \ work \ Q1 \ Jan \ text.txt”,23,30)。 這意味著MID函數從字符串“ D:\\ files \ work \ Q30 \ Jan \ text.txt”中提取第1個字符中的23個字符。 這裡的結果是text.txt。

從路徑中提取不帶擴展名的文件名

在另一種情況下,您可能只需要從路徑中提取不帶擴展名的文件名即可,如下面的屏幕快照所示。 本節將提供一個長公式,以幫助您了解它。

通用公式

=IFERROR(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,FIND(CHAR(1),SUBSTITUTE(A1,".",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))-FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))-1),"")

參數

A1:代表包含您要從中提取文件名的文件路徑的單元格。

CHAR(1)注意:此處的CHAR(1)可以根據需要用任何CHAR編號替換。 或者可以將其替換為用引號引起來的特定符號,例如“ *”。

如何使用這個公式?

1.選擇一個空白單元格以輸出不帶擴展名的文件名。

2.輸入以下公式,然後按 Enter 鍵。 選擇結果單元格,然後將其“填充手柄”一直向下拖動以將其應用於其他單元格。

=IFERROR(MID(B4,FIND(CHAR(1),SUBSTITUTE(B4,"\",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,"\",""))))+1,FIND(CHAR(1),SUBSTITUTE(B4,".",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,".",""))))-FIND(CHAR(1),SUBSTITUTE(B4,"\",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,"\",""))))-1),"")

備註:在此公式中,B3是包含文件路徑的單元格。 請根據需要進行更改。


相關功能

Excel MID功能
Excel MID函數用於從給定文本字符串的中間查找並返回特定數量的字符。

Excel FIND函數
Excel FIND函數用於在另一個字符串中查找一個字符串,並返回該字符串在另一個字符串中的起始位置。

Excel SUBSTITUTE功能
Excel SUBSTITUTE函數將文本字符串中的文本或字符替換為另一個文本或字符。

Excel LEN功能
Excel LEN函數返回文本字符串中的字符數。

Excel IFERROR函數
IFERROR函數用於在公式計算錯誤時返回自定義結果,而在沒有錯誤發生時返回正常結果。


相關公式

從一個單元格提取多行
如果您有一個由換行符分隔的文本字符串列表(輸入文本時按Alt + Enter鍵會發生),並且要將這些文本行提取到多個單元格中,則本教程中的公式將為您提供恩。

從多行單元格中提取文本的最後一行
要從由換行符分隔的文本字符串中提取文本的最後一行,本教程中的公式可以幫助您在Excel中處理此任務。

從Excel中的文本字符串中提取第N個單詞
本文介紹瞭如何使用公式從Excel單元格中的文本字符串中提取特定的第n個單詞。

從Excel中的單元格中提取最後兩個單詞
本教程說明瞭如何使用公式從Excel的單元格中提取最後兩個單詞。

在Excel中提取以特定字符開頭的單詞
本教程提供了一個包含詳細步驟的公式,以幫助您從Excel單元格中的文本字符串中提取以特定字符開頭的單詞。

提取所有單詞,但首先還是最後
在本教程中,您將學習如何使用公式從單元格中提取所有單詞,但Excel中的第一個或最後一個除外。


最佳辦公效率工具

Kutools for Excel-幫助您從人群中脫穎而出

您想快速,完美地完成日常工作嗎? Kutools for Excel具有300個強大的高級功能(合併工作簿,按顏色求和,拆分單元格內容,轉換日期等),並為您節省80%的時間。

  • 專為1500個工作方案而設計,可幫助您解決80%的Excel問題。
  • 每天減少數千次鍵盤和鼠標的點擊,減輕您疲倦的眼睛和手的疲勞。
  • 在3分鐘內成為Excel專家。 不再需要記住任何痛苦的公式和VBA代碼。
  • 30天無限制免費試用。 60天退款保證。 免費升級和支持2年。
Excel功能區(已安裝Kutools for Excel)

Office選項卡-在Microsoft Office(包括Excel)中啟用選項卡式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,可將您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一樣,為Office(包括Excel)帶來高效選項卡。
Excel的屏幕截圖(已安裝Office選項卡)
按評論排序
留言 (0)
還沒有評分。 成為第一位評論!
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點