從路徑中提取檔名(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\Q1\Jan\text.txt" 中的第三個字符 "\"(30-24=6)替換為單個字符 "*"。這裡的結果為 "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\Q1\Jan*text.txt" 的第 22 位。
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\Q1\Jan\text.txt" 中提取 30 個字符,從第 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 中提取以特定字符開頭的單詞
本教程提供了一個詳細步驟的公式,幫助您從單元格中的文本字符串中提取以特定字符開頭的單詞。
提取除第一或最後一個以外的所有單詞
在本教程中,您將學習如何使用公式從單元格中提取除第一個或最後一個單詞之外的所有單詞。
最佳的辦公生產力工具
Kutools for Excel - 幫助您脫穎而出
? | Kutools AI 助手:基於智能執行、生成代碼、創建自訂公式、分析數據並生成圖表、調用 Kutools 函數…來徹底改變數據分析方式。 |
熱門功能:查找、標記或識別重複值 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
超級 VLookup:多條件 | 多值 | 跨多工作表 | 模糊查找... | |
高級下拉列表:簡易下拉列表 | 依賴下拉列表 | 多選下拉列表... | |
列管理器:添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較列以選擇相同和不同的單元格 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文字工具(添加文本、刪除特定字符 ...) | 50+ 圖表 類型(甘特圖 ...) | 40+ 實用 公式(基於生日計算年齡 ...) | 19 個插入工具(插入QR碼、從路徑插入圖片 ...) | 12 個轉換工具(金額轉大寫、匯率轉換 ...) | 7 個合併與分割工具(高級合併行、分割Excel單元格 ...) | ... 還有更多 |
Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...
Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能
- 一秒鐘內在數十個打開的文檔之間切換!
- 每天為您減少數百次鼠標點擊,告別滑鼠手。
- 當查看和編輯多個文檔時,您的工作效率提高 50%。
- 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。