У меня есть путь, который я получаю через =INFO("Directory") (например, "C:\Users\username\Documents\"), и я хочу извлечь имя пользователя, которое находится между 2-й и 3-й косой чертой, это может быть любое слово длина, поэтому я хочу общую формулу для его извлечения.

1 ответ1

3

Следующая формула извлечет имя пользователя из пути к каталогу в ячейке A1, то есть к каталогу пользователя (C:\Users\username) или его подкаталогу.

=MID(A1,FIND("\",A1,4)+1,FIND("\",A1,FIND("\",A1,4)+1)-FIND("\",A1,4)-1)

Формула находит второе «\», начиная поиск с 4-й позиции (потому что первая «\» обычно находится на 3-й позиции).

Помните, что рабочая книга может находиться в каталоге, который не является частью пользовательского каталога (например, она может находиться в «D:\Docs»).

Если вы просто хотите получить имя текущего пользователя, вы можете сделать это в VBA, используя Environ$("UserName") . Например, создайте пользовательскую функцию, подобную этой (из https://stackoverflow.com/a/6934266/4424957)

Public Function UserName()
    UserName = Environ$("UserName")
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .