Получить путь родительской папки к файлу с помощью формулы ячейки

В столбце A У меня есть 20000 строк с именем файла с файловым пути

"C:\человек\Microsoft\ygkyg\ммддгг\filename.xls"
  "\ Сервер-41\производительность\ммддгг\filename.doc"
 .....
и др.

В столбце B я просто хочу получить путь родительской папки.

Может ли кто-нибудь помочь мне с формулой? Я попробовал это, но он дал мне имя файла.

=MID(a1,FIND(CHAR(1),
    SUBSTITUTE(a1,"\",CHAR(1),LEN(a1)-LEN(SUBSTITUTE(a1,"\",""))))+1,LEN(a1))

Ответ 1

Это работает.

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

Выше был мой первоначальный ответ. Neil несколько упростил выражение и разместил его как comment ниже:

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

Это использует тот факт, что ? является запрещенным символом в путях, так что "?" можно безопасно использовать вместо CHAR(1) в качестве метки, что немного улучшает читаемость. Кроме того, LEFT(A1,x) эквивалентен и короче MID(A1,1,x), поэтому имеет смысл использовать LEFT. Но самое главное, эта формула использует FIND вместо второго слоя счетных символов с использованием LEN. Это делает его более читаемым.