Ответ 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
. Это делает его более читаемым.