[英]Parent directory in Excel (no VBA)
如何將單元格的值設置為文件所在目錄的父目錄?
我面臨着繁瑣而又重復的任務,並且我正在嘗試盡可能多地實現自動化,但是不允許VBA。
我將擁有一個Excel電子表格的目錄樹,看起來像這樣:
C:\…\Parent1\Dir2\File3.xlsx
…\Parent4\Dir5\File6.xlsx
…
我需要一個公式來提取父目錄, 例如在此示例中為Parent1
或Parent4
。
[ 注意 : 文件名和目錄名不遵循任何特定約定; 查找數字的建議將與該匿名示例匹配,但對我沒有幫助。 ]
筆記:
我在網上的其他地方找到了以下公式,這也是我所需要的,並且可能指向解決方案。
當前工作表名稱:
= RIGHT(CELL("filename",A1), LEN(CELL("filename",A1)) - FIND("]", CELL("filename",A1)))
當前文件名:
= MID(CELL("filename",A1), FIND("[", CELL("filename",A1)) + 1, FIND(".", CELL("filename",A1)) - (FIND("[", CELL("filename",A1)) + 1))
當前目錄名稱(來自MrExcel.com ):
= TRIM(RIGHT(SUBSTITUTE(LEFT(CELL("filename",A1), FIND("[", CELL("filename",A1), 1) - 2), "\\", REPT(" ",100)), 100))
張貼者因此解釋了他的方法:
它通過獲取DIR並將所有“ \\”替換為100個空格來工作。 然后,它將獲取正確的100個字符,這些字符將是一堆空格,並且最終的DIR名稱會修剪掉前面的空格。
最后一種感覺應該適合於提取父目錄,但是我還沒有弄清楚如何編寫這種適應。
嘗試這個。 不用說該公式僅適用於已saved
文件。
=TRIM(LEFT(RIGHT(SUBSTITUTE(LEFT(CELL("filename",A1), FIND("[", CELL("filename",A1), 1) - 2),"\\",REPT(" ",100)),200),100))
屏幕截圖 :
邏輯 :
要在兩個字符之間找到一個字符串,請使用此字符串。 (在說“ \\”之間找到)
=TRIM(LEFT(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",100)),200),100))
下面給出了完整的路徑
=LEFT(CELL("filename",A1), FIND("[", CELL("filename",A1), 1) - 2)
例如: C:\\Temp\\Folder 1
所以只需在第一個公式中插入第二個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.