Как найти значение в середине Excel для изменяющегося значения? - PullRequest
0 голосов
/ 26 мая 2020

Я хочу создать формулу в Excel, чтобы найти значение пути к файлу. пример:

C:\Users\User\Desktop\Folder\x1234_namezo_ect.ext
C:\Users\User\Desktop\Folder\x1235_nameon_ect.ext
C:\Users\User\Desktop\Folder\x1233_nametw_ect.ext
C:\Users\User\Desktop\Folder\x1237_namethr_ect.ext
C:\Users\User\Desktop\Folder\x1240_namefour_ect.ext

Я хочу получить x1234, x1235 и т. д. Длина значения будет меняться со временем, и имя файла не всегда будет одинаковой длины. Единственное, что останется неизменным, - это длина x ####.

Есть ли формула, которая может быть гибкой и сможет найти x #### независимо от длины любой стороны?

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Я нашел ответ методом проб и ошибок:

=left(right(A1,Len(A1)-search("\x",A1)),6)

Это ищет \ x и получает следующие 4 текста (6 добавляя \ x) после.

0 голосов
/ 26 мая 2020

Вы можете использовать UDF для извлечения:

  • Все после LAST экземпляра \
  • Исключая последние 4 символы строки (предположительно расширение)
  • Предполагается, что каждый вход имеет расширение 4 di git в формате .###

Function FILENAME(Target As String) As String

temp = Split(Target, "\")
temp = temp(UBound(temp))

FILENAME = Left(temp, Len(temp) - 4)

End Function

Поместите код внутри Module, а затем вы можете вызвать эту функцию прямо из рабочего листа с помощью =FILENAME(A1) . Обратите внимание, что это также будет работать, если ваше имя файла имеет . внутри строки (см. Второй пример на фото)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...