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