跳到主要內容

從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中的第一個或最後一個除外。


最佳辦公效率工具


Office Tab - 在 Microsoft Office(包括 Excel)中啟用分頁式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,將您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的選項卡,就像 Chrome、Edge 和 Firefox 一樣。
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Porqué muestran todo un articulo en español y luego muestran las formulas en ingles si el excel en español necesita las formulas en español!!!! no funciona ninguna formula porque están en ingles!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations