Excel 公式,修剪路径的父路径到最后一个子路径名

Excel 公式,修剪路径的父路径到最后一个子路径名

假设我在 A1 中有一条路径:Stack/Over/Flow。

是否存在一个公式可以让我在 B1 中得到“流量”。

我知道我可以划定界限,但是当路径长度不同而我只想要结束路径时,这会变得很困难。

答案1

您将需要解析该字符串。

这将找到最后一个/并将其设置为 MID() 函数的起点。

=MID(A1,FIND("{{{",SUBSTITUTE(A1,"/","{{{",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))+1,LEN(A1))

在此处输入图片描述

答案2

我环顾四周,发现了这个,它可能会对你有帮助。

=IF(ISERROR(FIND("/",A1)),A1,RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))))

发现于: http://www.exceltactics.com/reverse-string-search-excel-using-find/2/

此处列出的公式使用空格搜索字符串中的最后一个单词,因此为了将其应用到您的路径,我将其更改为" ""/"并且它似乎运行良好。(我只测试了几个字符串,因此您可能需要尝试几个才能完全确定)

答案3

我不确定您将如何使用它,但我必须将路径字符串分解开来。

1)如果您知道只想要右边的最后 4 个字符,则可以使用:=right(A1,4)

2)如果您希望所有组件都隔离,并且它们具有不同的长度,请执行以下操作:

In B1 enter =len(A1)           returns 15
In C1 enter =find("/",A1)      returns  6
In D1 enter =left(A1,C1-1)     returns stack
In E1 enter =right(A1,B1-C1)   returns over/flow

很酷的是,如果你将这 4 个单元格复制到右侧,它会将其进一步细分为一个级别。

Copy B1 to F1                  returns 9
Copy C1 to G1                  returns 5
Copy D1 to H1                  returns over
Copy E1 to I1                  returns flow

你可以重复做这个。我经常解析 200 多个字符的路径,其中包含十几个或更多的子文件夹级别。

相关内容