Excel 如何获取最后一个文件夹&x27;存储文件的名称(不使用宏)

Excel 如何获取最后一个文件夹&x27;存储文件的名称(不使用宏),excel,excel-formula,path,Excel,Excel Formula,Path,我需要在单元格中提取存储活动excel文件的最后一个文件夹名 例如C:/Documents/Users/Accounting/2019年5月/Expenses.xls 我想使用公式(而不是宏)提取/输出特定单元格中的文本“2019年5月” 提前谢谢。因此,我使用CELL()函数获取完整路径,然后剪切最后一个文件夹名 见: 编辑,正如罗恩指出的,这是固定的文件夹数量。。。这项工作围绕着: 见: =TRIM(MID(替换(单元格(“文件名”,A1),“/”,REPT(“,999)),SUM(如果(

我需要在单元格中提取存储活动excel文件的最后一个文件夹名

例如C:/Documents/Users/Accounting/2019年5月/Expenses.xls

我想使用公式(而不是宏)提取/输出特定单元格中的文本“2019年5月”


提前谢谢。

因此,我使用CELL()函数获取完整路径,然后剪切最后一个文件夹名

见:

编辑,正如罗恩指出的,这是固定的文件夹数量。。。这项工作围绕着:

见:

=TRIM(MID(替换(单元格(“文件名”,A1),“/”,REPT(“,999)),SUM(如果(单元格(“文件名”,A1)”),LEN(单元格(“文件名”,A1))-LEN(替换(单元格(“文件名”,A1),“/”,”),0))*999-998999)

注:

本地化可能意味着“;”而不是“,”和“\”而不是“/”,所以要小心…

=annula.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(CELLA(“filename”;A1);“\”里佩蒂(“999”);SOMMA(SE(CELLA(“filename”;A1)”;LUNGHEZZA(SOSTITUISCI(CELLA(“filename”;A1);“\”;“0”)*999-998;999))
=ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(CELLA("filename";A1);"\";RIPETI(" ";999));SOMMA(SE(CELLA("filename";A1)<>"";LUNGHEZZA(CELLA("filename";A1))-LUNGHEZZA(SOSTITUISCI(CELLA("filename";A1);"\";""));0))*999-998;999))

本地化的意大利版本的@SolarMike代码。

试试这个:TRIM(MID(替换(单元格(“文件名”),A1),“/”,REPT(“,999)),4*999-998999))@RonRosenfeld不确定这是否是一个副本,但我应用了CELL()函数来获取工作簿的完整路径…@SolarMike我以为他已经有文件夹路径了。也许我误读了。@RonRosenfeld我可能也误读了,但就答案而言,这是一个不同的观点,所以希望这有助于解决问题。。。干杯。@SolarMike您已经很好地解释了我的问题:)您的公式取决于路径字符串中存在已知数量的子文件夹,而不是选择倒数第二个。@SolarMike说我有一个本地化版本的Microsoft Excel 2013(意大利版),我已经“翻译”了您可以使用此非常有用的在线工具()创建公式。我已经输出了A1中的文件路径,正如您所做的,然后我使用了另一个公式(修剪公式)。但是我在使用TRIM one的单元格中得到了#VALUE错误。TRIM()函数转换为annuala.SPAZI,请参见此处的列表:`:@SolarMike是的,我已经翻译了它(并通过反向翻译验证了它的准确性)。但我得到了“#VALUE!”错误。你怎么认为?这里的翻译公式仅供参考:{=annuala.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(CELLA(“文件名”A1);“/”RIPETI(“999”);SOMMA(SE(CELLA(“文件名”A1)”);LUNGHEZZA(CELLA(“文件名”A1))-LUNGHEZZA(SOSTITUISCI(CELLA(“文件名”A1);“/”;”)));0))*999-998;999))}。如果我使用你的第一个公式,在翻译版本中,{=TRIM(MID(替换(单元格(“文件名”,A1),“/”,REPT(“,999)),4*999-998999)),我会得到一个空白单元格。你为什么要将其作为数组公式输入?我不以我为榜样。那么所有函数都存在于excel 2013中?我不能检查。。。
=TRIM(MID(SUBSTITUTE(CELL("filename",A1),"/",REPT(" ",999)),SUM(IF(CELL("filename",A1)<>"",LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"/","")),0))*999-998,999))
=ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(CELLA("filename";A1);"\";RIPETI(" ";999));SOMMA(SE(CELLA("filename";A1)<>"";LUNGHEZZA(CELLA("filename";A1))-LUNGHEZZA(SOSTITUISCI(CELLA("filename";A1);"\";""));0))*999-998;999))