Этот тестируется и действительно работает (на основе исходного сообщения Brad):
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
, Если Ваши исходные строки могли бы содержать канал "|" символ, то замените обоих в вышеупомянутом с некоторым другим символом, который не появится в Вашем источнике. (Я, оригинал подозреваемого Brad был поврежден, потому что непечатный символ был удален в переводе).
Премия: Как это работает (справа налево):
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
– количество пробелов в исходной строке
SUBSTITUTE(A1," ","|", ... )
– Замены просто финал пространство с |
FIND("|", ... )
– Находит, что абсолютное положение этого заменило |
(который был заключительным пространством)
Right(A1,LEN(A1) - ... ))
– Возвраты все символы после этого |
РЕДАКТИРОВАНИЕ: для составления случая, где исходный текст не содержит пробелов добавьте следующее к началу формулы:
=IF(ISERROR(FIND(" ",A1)),A1, ... )
создание всей формулы теперь:
=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",
SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))
Или можно использовать =IF(COUNTIF(A1,"* *")
синтаксис другой версии.
, Когда исходная строка могла бы содержать пространство в последней позиции, добавляют функцию для обрезки при подсчете всех пробелов: Создание функции следующее:
=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",
SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))
Я нашел это на Google, протестированном в Excel 2003 & это работает на меня:
=IF(COUNTIF(A1,"* *"),RIGHT(A1,LEN(A1)-LOOKUP(LEN(A1),FIND(" ",A1,ROW(INDEX($A:$A,1,1):INDEX($A:$A,LEN(A1),1))))),A1)
[редактирование] у меня нет достаточного количества представителя для комментария, таким образом, это кажется лучшим местом... Ответ BradC также не работает с конечными пробелами или пустыми ячейками...
[2-е редактирование] на самом деле, это не работает на отдельные слова также...
=RIGHT(A1,LEN(A1)-FIND("`*`",SUBSTITUTE(A1," ","`*`",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
Я перевел на PT-BR, так как он мне тоже нужен.
(Обратите внимание, что я изменил пространство на \
, потому что мне нужно имя файла только строк пути.)
=SE(ÉERRO(PROCURAR("\",A1)),A1,DIREITA(A1,NÚM.CARACT(A1)-PROCURAR("|", SUBSTITUIR(A1,"\","|",NÚM.CARACT(A1)-NÚM.CARACT(SUBSTITUIR(A1,"\",""))))))