2015-08-28 4 views
-1

У меня есть куча путей к файлам, которые выглядят так:Удалить текст после последнего Backslah

е: \ Спецификация \ Docs \ Images \ 1.2.840 \ 1.2.840.113986

Я m ищет способ в Excel, чтобы обрезать все после последней обратной косой черты \.

Я пробовал =LEFT(A1,FIND(",",A1)-1) но все, что у меня есть, это два числа.

Ожидаемый результат я ищу это: е: \ Datasheet \ Docs \ образы \ 1.2.840 \

+0

Будет ли номер, прежде чем укоротить всегда заканчиваются в десятичной системе? – BruceWayne

+0

нет, на самом деле это закончится цифрой. – user1442336

ответ

2

Предполагая, что вы только хотите пойти четыре папки «глубоко» это будет работать (место в Б1):

=LEFT(SUBSTITUTE(A1,"\",";",5),SEARCH(";",SUBSTITUTE(A1,"\",";",5))-1)

редактировать: Попробуйте это тоже, он должен работать на все остальное (независимо от того, как много папок):

=LEFT(A1, FIND(CHAR(1), SUBSTITUTE(A1, "\", CHAR(1), LEN(A1)-LEN(SUBSTITUTE(A1, "\", ""))))-1)

(спасибо @Jerry) для этого.

+0

, который отлично работал. Я использовал 8 вместо 5, чтобы добраться до обратной косой черты, которую я ожидал. Спасибо! – user1442336

+0

Я обновил более динамичную формулу, которая также работает. Если это то, что вы ищете, вы бы любезно отметили в качестве ответа? (нажмите галочку слева, спасибо!) – BruceWayne

+1

Да, я заметил, что у меня есть пути к папкам, для которых 8 или 5 будут работать. поэтому динамический метод, который вы опубликовали, был намного лучше и выполнял эту работу. – user1442336

1

Это все, что вам нужно:

=LEFT(A1,MAX((MID(A1,ROW(1:999),1)="\")*ROW(1:999))) 

Confirm его с Control-Shift-Enter.

А вот короткая формула, которая не должна быть массив вошли:

=LEFT(A1,LOOKUP(2^15,FIND("\",A1,ROW(OFFSET(A1,,,LEN(A1)))))) 
Смежные вопросы