Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/разбить адрес на ячейки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » разбить адрес на ячейки (Формулы/Formulas)
разбить адрес на ячейки
Kuradile Дата: Пятница, 04.11.2016, 10:15 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день. Надеюсь поможете. Необходимо разбить адреса на составляющие. Т.е. Страна, город, поселеок, улица, дом, квартира. Данные бывают разные.....где нет запятых(а только пробелы), бывает соответственно что и улицы нет(а просто номер дома)....Файл с примером прикрепил.
Нужно разбить адрес на ячейки.
К сообщению приложен файл: 5716819.xls(19Kb)


Сообщение отредактировал Kuradile - Пятница, 04.11.2016, 10:17
 
Ответить
СообщениеДобрый день. Надеюсь поможете. Необходимо разбить адреса на составляющие. Т.е. Страна, город, поселеок, улица, дом, квартира. Данные бывают разные.....где нет запятых(а только пробелы), бывает соответственно что и улицы нет(а просто номер дома)....Файл с примером прикрепил.
Нужно разбить адрес на ячейки.

Автор - Kuradile
Дата добавления - 04.11.2016 в 10:15
sv2014 Дата: Пятница, 04.11.2016, 18:50 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 37 ±
Замечаний: 0% ±

Excel 2013
Kuradile, добрый вечер,у Вас в файл-примере не указано,как надо в столбцах B,C,D,E,F (просьба указать),вариант функций yyy1 в B для страны,bbb в C для города,zzz1 в E для дома,zzz2 в F для квартиры

[vba]
Код
Function yyy1$(t$)
     With CreateObject("VBScript.RegExp"): .IgnoreCase = True
    .Pattern = "(?:[^а-яё]|^)[а-яё]+(?=[^а-яё]|$)"
         yyy1 = .Execute(t)(0)
    End With
End Function
[/vba]

[vba]
Код
Function bbb$(t$)
With CreateObject("VBScript.RegExp"): .IgnoreCase = True
If InStr(1, t, "г") Then
   .Pattern = "[а-яё]+ (?:г)"
   If .test(t) Then bbb = .Execute(t)(0) Else bbb = ""
Else
.Global = True: .Pattern = "(?:[^а-яё]|^)[а-яё]+(?=[^а-яё]|$)"
         bbb = .Execute(t)(1)
End If
End With
End Function
[/vba]

[vba]
Код
Function zzz1$(t$)
With CreateObject("VBScript.RegExp")
    If InStrRev(t, "кв.") = False And InStrRev(t, "к.") = False Then
      .Pattern = "д\. ?.+$": zzz1 = .Execute(t)(0)
    Else
     .Pattern = "д\. \d+|д\. ?\d+ ?к?\.?\d+": zzz1 = .Execute(t)(0)
    End If
End With
End Function
[/vba]
[vba]
Код
Function zzz2$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "кв\. \d+"
If .test(t) Then zzz2 = .Execute(t)(0) Else zzz2 = ""
End With
End Function
[/vba]
К сообщению приложен файл: example_4_11_20.xls(46Kb)
 
Ответить
СообщениеKuradile, добрый вечер,у Вас в файл-примере не указано,как надо в столбцах B,C,D,E,F (просьба указать),вариант функций yyy1 в B для страны,bbb в C для города,zzz1 в E для дома,zzz2 в F для квартиры

[vba]
Код
Function yyy1$(t$)
     With CreateObject("VBScript.RegExp"): .IgnoreCase = True
    .Pattern = "(?:[^а-яё]|^)[а-яё]+(?=[^а-яё]|$)"
         yyy1 = .Execute(t)(0)
    End With
End Function
[/vba]

[vba]
Код
Function bbb$(t$)
With CreateObject("VBScript.RegExp"): .IgnoreCase = True
If InStr(1, t, "г") Then
   .Pattern = "[а-яё]+ (?:г)"
   If .test(t) Then bbb = .Execute(t)(0) Else bbb = ""
Else
.Global = True: .Pattern = "(?:[^а-яё]|^)[а-яё]+(?=[^а-яё]|$)"
         bbb = .Execute(t)(1)
End If
End With
End Function
[/vba]

[vba]
Код
Function zzz1$(t$)
With CreateObject("VBScript.RegExp")
    If InStrRev(t, "кв.") = False And InStrRev(t, "к.") = False Then
      .Pattern = "д\. ?.+$": zzz1 = .Execute(t)(0)
    Else
     .Pattern = "д\. \d+|д\. ?\d+ ?к?\.?\d+": zzz1 = .Execute(t)(0)
    End If
End With
End Function
[/vba]
[vba]
Код
Function zzz2$(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "кв\. \d+"
If .test(t) Then zzz2 = .Execute(t)(0) Else zzz2 = ""
End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 04.11.2016 в 18:50
Мир MS Excel » Вопросы и решения » Вопросы по Excel » разбить адрес на ячейки (Формулы/Formulas)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!