Как я могу выполнить поиск обратной строки в Excel без использования VBA? - PullRequest
152 голосов
/ 08 декабря 2008

У меня есть таблица Excel, содержащая список строк. Каждая строка состоит из нескольких слов, но количество слов в каждой строке отличается.

Используя встроенные функции Excel (без VBA), есть ли способ выделить последнее слово в каждой строке?

Примеры:

  Are you classified as human? -> human?
Negative, I am a meat popsicle -> popsicle
                  Aziz! Light! -> Light!

Ответы [ 14 ]

0 голосов
/ 08 июня 2017

Скопируйте в столбец, выберите этот столбец и HOME> Редактирование> Найти и выбрать, Заменить:

Find what:

Заменить все .

После звездочки есть пробел.

0 голосов
/ 13 июля 2016

Другой способ добиться этого, как показано ниже

=IF(ISERROR(TRIM(MID(TRIM(D14),SEARCH("|",SUBSTITUTE(TRIM(D14)," ","|",LEN(TRIM(D14))-LEN(SUBSTITUTE(TRIM(D14)," ","")))),LEN(TRIM(D14))))),TRIM(D14),TRIM(MID(TRIM(D14),SEARCH("|",SUBSTITUTE(TRIM(D14)," ","|",LEN(TRIM(D14))-LEN(SUBSTITUTE(TRIM(D14)," ","")))),LEN(TRIM(D14)))))

enter image description here

0 голосов
/ 18 октября 2012

У меня тоже была такая задача, и когда я закончил, используя вышеуказанный метод, у меня возник новый метод: Почему бы вам не сделать это:

  1. Перевернуть строку («string one» становится «eno gnirts»).
  2. Используйте старый добрый Find (который жестко запрограммирован слева направо).
  3. Снова преобразовать его в читаемую строку.

Как это звучит?

0 голосов
/ 21 августа 2009

Я перевел на 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,"\",""))))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...