Страницы: 1
RSS
Выбрать последние три слова из текста
 
Задача: из исходного текста (старший сержант Иванов Иван Иванович) оставить только последние три слова, то есть Иванов Иван Иванович. Сложность (лично для меня) в том что перед этими фио может быть и два и три и четыре слова, а вот после точно ничего нет.  
 
А не проще в таком случае просто по столбцам через пробел разнести? Или уж в PQ найти решение
чтоб дело мастера боялось, он знает много страшных слов.
 
Ri Yu, pq не подходит из-за ограничений системы. А первый вариант расскажите пожалуйста поподробнее, но опять же, а сколько оставлять столбцов.  
 
Цитата
Kulibinslovoru написал:
поподробнее
https://www.planetaexcel.ru/techniques/7/101/
чтоб дело мастера боялось, он знает много страшных слов.
 
Kulibinslovoru, кому задачи нарезаете?
Последнее слово
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, для меня задача  :qstn: этот способ я знаю, а не подскажете, что мне изменить в формуле что бы искать именно третий пробел справа.

Ri Yu, не совсем подходит, как и писал, я не знаю сколько слов перед искомыми, и в итоге фамилия бьются в разные столбцы и т.д.
Изменено: Kulibinslovoru - 10.02.2021 16:31:01
 
Kulibinslovoru, Вы бы файл показали. Что есть, что нужно.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Максим В.,Максим В., пишу с телефона,  машина не подключена к сети и перенести файлы с машины на телефон и обратно нет возможности, потому и PQ не подходит.
Попробую уточнить вопрос.
есть столбец в котором перечислен личный состав в следующем виде: должность, звание,  ФИО (боец, старший сержант внутренней службы Иванов Иван Иванович) мне нужно из всего этого выбрать только фио.
у кого то должность состоит из одного слова, у кого то из двух, так же звания, поэтому я не знаю сколько слов перед фио слов.
 
Изучайте:
Код
=ПСТР(A1;ПОИСК("@";ПОДСТАВИТЬ(A1;" ";"@";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))-2))+1;ДЛСТР(A1))
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
то есть Иванов Иван Иванович
Код
Function iFIO(cell As String) As String
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = False
     .Pattern = "([А-ЯЁ][а-яё ]+){3}$"
     If .test(cell) Then
       iFIO = .Execute(cell)(0)
     End If
 End With
End Function
Изменено: Kuzmich - 10.02.2021 17:53:44
 
Kuzmich,
Петров-Водкин не влезет шаблон)
"[^ ]+ [^ ]+ [^ ]+$"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Петров-Водкин
Не может быть сержантом, он рисует
 
=MID(trim(A1);AGGREGATE(14;6;ROW(1:99)/(MID(trim(A1);ROW(1:99);1)=" ");3)+1;99)
Изменено: БМВ - 10.02.2021 21:10:27
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх