скажем, у меня есть путь в A1: стек / овер / поток.
Есть ли формула, которая может дать мне просто «Поток» в B1.
Я знаю, что могу разграничить, но это становится сложным, когда пути имеют разную длину и когда я просто хочу конечный путь.
скажем, у меня есть путь в A1: стек / овер / поток.
Есть ли формула, которая может дать мне просто «Поток» в B1.
Я знаю, что могу разграничить, но это становится сложным, когда пути имеют разную длину и когда я просто хочу конечный путь.
Я оглянулся и нашел это, которое может помочь вам.
=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/
Формула, перечисленная здесь, ищет последнее слово в строке, используя пробел, поэтому, чтобы применить его к вашим путям, я изменил " "
на "/"
и, похоже, он работает нормально. (Я протестировал только несколько строк, поэтому вы можете попробовать несколько, чтобы быть полностью уверенным)
Я не уверен, как вы собираетесь использовать это, но я должен разбить строки пути довольно немного.
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+ путей символов с дюжиной или более уровней подпапок.