Страницы: 1
RSS
Выделить из массива данных адрес и номер дома
 
Уважаемые эксперты, прошу помочь - есть массив данных, необходимо из них выделить только адрес и номер дома.
Я предполагаю нужно использовать функцию =левс(найти(или(1;2;3 и 9) но как дальше обьяснить что надо искать первую цифру (или текст 1 или 2 или 3 и т.д.), потом отсчитывать вправо до первого пробела и брать все что слева - не понимаю.
Пример прилагаю
 
Здравствуйте! Посмотрите здесь: http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=84300&TITLE_SEO=84300-otsorti...  
 
Код
Function yyyy(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+/?(\d+)? ?([à-ÿ¸]+)? ?([à-ÿ¸]+)?": .Global = True: .IgnoreCase = True
   If .test(t) Then yyyy = .Execute(t)(.Execute(t).Count - 1) Else yyyy = ""
 End With
End Function

Отличная функция! Но к сожалению функция берет число крайнее справа. А мне необходимо чтобы брало крайнее левое число. Как ее переделать???
 
добрый вечер,к сожалению опять не указано в отдельном столбце,как надо,попробуйте такой вариантв столбцах B D
 
Код
Function uuuu$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+/? ?(\d+)? ?(\d+)?"
   If .test(t) Then uuuu = .Execute(t)(0) Else uuuu = ""
 End With
End Function
Код
Function vvvv(t$)
Dim t1$: t1 = uuuu(t)
With CreateObject("VBScript.RegExp"): .Pattern = "^.+(?=" & t1 & ")"
   If .test(t) Then vvvv = .Execute(t)(0) Else vvvv = ""
 End With
End Function
Изменено: sv2013 - 14.11.2016 20:56:12
 
sv2013,  супер! спасибо! А возможно чтобы в столбце "B" было только первое число?? (где-то через пробел указаны 2 числа - нам надо первое - это номер дома)
Изменено: ternovsky - 14.11.2016 21:57:16
 
добавил для первого числа в столбце E(можно столбец вырезать в любой другой столбец)

 
Код
Function bbbb(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+"
   If .test(t) Then bbbb = CInt(.Execute(t)(0)) Else bbbb = ""
 End With
End Function
Изменено: sv2013 - 14.11.2016 22:23:12
 
Если после числа идет "/" потом число - это номер дома и корпус (относится к дому) а второе число через пробел - что номер квартиры
Пожалуйста добавите чтоб "/число" - оставляло, если оно есть
 
ternovsky, а СРАЗУ все пожелания нельзя?
 
Юрий М, я бы с удовольствием. С первого раза обьяснить, чтобы тебя еще и поняли  - это верх мастерства. К сожалению не обладаю таким левелом
 
Но Вы же не могли не знать, что есть значения через пробел, есть через слэш - вот и нужно было сразу все варианты показать. Причём тут мастерство?
 
Юрий М, не предусмотрел. Сможете поправить код?
 
Если я правильно понял, нужно избавиться от № квартир?
Вариант формулами
 
_Igor_61, спасибо. формулой - это понятно и действительно можно так, но хочется одной функцией - это будет круто))
 
Всегда пожалуйста, Вы меня попросили в л\с "Посмотрите пожалуйста формулу".
 
Там название улицы может начинаться с числа, после номера дома или квартиры может быть (без пробела) буква, а вместо квартиры может быть кабинет, офис и даже колония. Приложил вариант решения всех этих вариантов с помошью регулярных выражений. В столбце "Примечание" описаны особенности.
Страницы: 1
Читают тему
Наверх