Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Excel中的父目录(无VBA)_String_Excel_Search_Directory_Excel Formula - Fatal编程技术网

String Excel中的父目录(无VBA)

String Excel中的父目录(无VBA),string,excel,search,directory,excel-formula,String,Excel,Search,Directory,Excel Formula,如何将单元格的值设置为文件所在目录的父目录 我面前有一项乏味而重复的任务,我正试图尽可能地自动化这些任务,但VBA是不允许的 我将有一个Excel电子表格目录树,如下所示: C:\…\Parent1\Dir2\File3.xlsx …\Parent4\Dir5\File6.xlsx … 我需要一个公式来提取父目录,例如本例中的Parent1或Parent4 [注意:文件名和目录名不遵循任何特定约定;查找数字的建议将与此匿名示例相匹配,但对我没有帮助。] 注: 我在网上的其他地方找

如何将单元格的值设置为文件所在目录的父目录

我面前有一项乏味而重复的任务,我正试图尽可能地自动化这些任务,但VBA是不允许的

我将有一个Excel电子表格目录树,如下所示:

C:\…\Parent1\Dir2\File3.xlsx
   …\Parent4\Dir5\File6.xlsx
   …
我需要一个公式来提取父目录,例如本例中的
Parent1
Parent4

[注意:文件名和目录名不遵循任何特定约定;查找数字的建议将与此匿名示例相匹配,但对我没有帮助。]


注:

我在网上的其他地方找到了以下公式,我也需要这些公式,它们可能指向解决方案

  • 当前工作表名称:
    =RIGHT(单元格(“文件名”,A1),LEN(单元格(“文件名”,A1))-FIND(“]”),CELL(“文件名”,A1))

  • 当前文件名:
    =MID(单元格(“文件名”,A1),FIND(“[”,单元格(“文件名”,A1))+1,FIND(“.”,单元格(“文件名”,A1))-(FIND(“[”,单元格(“文件名”,A1))+1))

  • 当前目录名(从):
    =TRIM(右(替换(左(单元格(“文件名”),A1),查找(“[”,单元格(“文件名”,A1),1)-2),“\”,报告(“,100)),100))

    海报上这样解释了他的方法:

    它的工作原理是获取DIR并用100个空格替换所有“\”。然后它获取正确的100个字符,这将是一组空格和最终的DIR名称,然后修剪前面的空格


最后一个感觉应该适合提取父目录,但我还没有弄清楚如何编写此自适应。

试试这个。没有说这个公式只在保存的
文件中有效

=TRIM(左(右(替换(左(单元格(“文件名”),A1),查找(“[”,单元格(“文件名”,A1),1)-2),“\”,报告(“,100)),200),100))

屏幕截图

逻辑

若要查找两个字符之间的字符串,请使用此选项。(查找两个字符之间的字符串时,请使用“\”)

下面给出了完整的路径

=LEFT(CELL("filename",A1), FIND("[", CELL("filename",A1), 1) - 2)
例如:
C:\Temp\Folder 1

在第一个公式中插入第二个

=LEFT(CELL("filename",A1), FIND("[", CELL("filename",A1), 1) - 2)