2017-01-25 2 views
0

У меня есть список имен файловых путей и хочу извлечь только часть имен подпапок.Извлечение только части имени подпапки из пути к файлу

Пример: C: \ Users \ zatin.dharmapuri \ Desktop \ Отзывы \ 01 Sprint \ 08 Адрес Результат Popup Dialog Review_Implemented 1.0.xlsx

В приведенном выше примере, мне нужно извлечь только Номера Sprint из пути к файлу. Эти цифры могут также содержать 2 цифры.

Что у меня есть функция, которая служит еще одно требование, дав мне имя файла, который падает после того, как последний «\»

=IF(RawData!B1="","",MID(RawData!G1,FIND("*",SUBSTITUTE(RawData!G1,"\","*",LEN(RawData!G1)-LEN(SUBSTITUTE(RawData!G1,"\",""))))+1,LEN(RawData!G1))) 

Есть ли функция, чтобы сделать это? Любая помощь приветствуется.

Спасибо!

ответ

0

с данными, скажем A1, в другой ячейке введите:

=SUBSTITUTE(MID(A1,FIND("Sprint ",A1)+7,2),"\","") 

Это будет возвращать один или два цифра Спринт число (как текст):

enter image description here

Если вам нужен результат как номер, то используйте:

=--SUBSTITUTE(MID(A1,FIND("Sprint ",A1)+7,2),"\","") 
+0

Это отлично работает! У меня есть связанный следующий вопрос. Из предоставленного пути к файлу и функции, предоставленной в моем вопросе. Мне удается получить числовое значение 08, которое следует за спринтом num \. Но когда я пытаюсь использовать формулу INDEX MATCH со значением, она вызывает ошибку, поскольку формула MATCH не распознает 08 с 8. Я проверил формат ячейки, все хорошо с этой целью. Когда я физически вхожу в 08, формула INDEX MATCH работает нормально. Любые решения? –

+0

@ ZatinDharmapuri Это может быть разница между ** 08 ** как * Текст * и ** 08 ** как * Номер * –

+0

Я не вижу, как я могу получить эту работу. Можете ли вы помочь мне с формулой, которая выводит числа в виде числовых значений из имени файла? Все имена файлов имеют префикс с числом от 01 до 700. –

0

Как я понимаю, вам нужны данные, которые встречаются между именем «Sprint» в пути к папке и следующей папкой/файлом в пути. Если текст «Спринт» только собирается, чтобы показать один раз в пути к файлу, вы можете просто сделать

=TRIM(MID(A1,FIND("Sprint",A1)+LEN("Sprint"),FIND("\",A1,FIND("Sprint",A1))-FIND("Sprint",A1)-LEN("Sprint"))) 

Это находит начальную точку первого символа после «Спринт» в ваших данных, а затем тянет количество символов до первого экземпляра «\» после «Sprint». Функция FIND чувствительна к регистру и ищет точную строку. Если ваши данные не полностью согласуются с этим, его можно заменить функцией SEARCH, которая не чувствительна к регистру и позволяет создавать подстановочные запросы.

+0

Спасибо, и я ценю ваше время. Я теперь использую формулу Гэри, но я могу использовать вашу функцию с небольшой модификацией для других целей. Для этого я сначала попытаюсь понять функции, используемые в вашей формуле. –

Смежные вопросы