Страницы: 1
RSS
Вытащить ФИО из текста которое идёт перед индексом
 
Доброе утро товарищи :)
Суть в принципе в названии, но чуть подробнее :)
Есть столбец назначение платежа, из этого стобца нужно вытащить ФИО которое идёт перед индексом
Это не всегда так но в большинстве случаев.
ЗА ФИО считаем 3 слова которые идут перед индексом.



P.S. в 5 строке в примере, фио по такому принципу не вытащить, такие случаи буду уже руками отрабатывать. Пока что ничего другого как вытаскивать от индекса в голову не приходит. В файле есть мои "попыточки". В модуле регулярка, ей индекс вытаскиваю из текста.


P.S. На всякий случай все индексы которые могут присутствовать вывел на отдельный лист.
 
Wild.Godlike, добавьте индекс 167000
 
artyrH, 10 из 10 :) спасибо огромное :)
 
ФИО + индекс
 
сделал в power query может быть будет легче
 
Цитата
Вытащить ФИО из текста которое идёт перед индексом
UDF
Код
Function FIO$(cell$)
   With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = False
        .Pattern = "(([А-ЯЁ]+) ){3}(?=\d{6})"
     If .test(cell) Then
       FIO = .Execute(cell)(0)
     Else
       FIO = "В строке нет ФИО перед индексом"
     End If
   End With
End Function

Для индекса
Код
Function iIndex(cell$)
 With CreateObject("VBScript.RegExp")
   .Pattern = "\d{6}"
  If .test(cell) Then
    iIndex = .Execute(cell)(0)
  Else
    iIndex = "В строке нет почтового индекса"
  End If
 End With
End Function
Изменено: Kuzmich - 28.11.2019 13:40:10
 
Андрей_26, aibolit, Kuzmich, Спасибо большое, товарищи за варианты.
Страницы: 1
Наверх