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

Вход

Регистрация

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

 

= Мир MS Excel/Разбить адрес на составляющие - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разбить адрес на составляющие (Формулы/Formulas)
Разбить адрес на составляющие
GeorgeXIII Дата: Четверг, 14.07.2016, 02:52 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Уважаемые форумчане!!! Есть большая таблица ФИО, адрес. Как разделить адрес (ячейка С) на 3 колонки - улицу, дом, квартиру?
К сообщению приложен файл: 7225387.xlsx (43.4 Kb)


Сообщение отредактировал GeorgeXIII - Четверг, 14.07.2016, 02:52
 
Ответить
СообщениеУважаемые форумчане!!! Есть большая таблица ФИО, адрес. Как разделить адрес (ячейка С) на 3 колонки - улицу, дом, квартиру?

Автор - GeorgeXIII
Дата добавления - 14.07.2016 в 02:52
sv2014 Дата: Четверг, 14.07.2016, 03:59 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
GeorgeXIII, вариант функций uuu1,uuu2,uuu3 в столбцах : D E и F

[vba]
Код
Function yyy1$(t$)
  yyy1 = Split(t, ",")(0)
End Function
[/vba]

[vba]
Код
Function yyy2(t$)
  yyy2 = Split(Split(t, ",")(1), ".")(1)
End Function
[/vba]

[vba]
Код
Function yyy3%(t$)
  yyy3 = Split(Split(t, ",")(2), ".")(1)
End Function
[/vba]
К сообщению приложен файл: nnnnn77.rar (43.8 Kb)


Сообщение отредактировал sv2014 - Четверг, 14.07.2016, 04:00
 
Ответить
СообщениеGeorgeXIII, вариант функций uuu1,uuu2,uuu3 в столбцах : D E и F

[vba]
Код
Function yyy1$(t$)
  yyy1 = Split(t, ",")(0)
End Function
[/vba]

[vba]
Код
Function yyy2(t$)
  yyy2 = Split(Split(t, ",")(1), ".")(1)
End Function
[/vba]

[vba]
Код
Function yyy3%(t$)
  yyy3 = Split(Split(t, ",")(2), ".")(1)
End Function
[/vba]

Автор - sv2014
Дата добавления - 14.07.2016 в 03:59
GeorgeXIII Дата: Четверг, 14.07.2016, 04:20 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
hands hands hands
 
Ответить
Сообщениеhands hands hands

Автор - GeorgeXIII
Дата добавления - 14.07.2016 в 04:20
sv2014 Дата: Четверг, 14.07.2016, 04:27 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
GeorgeXIII, можно для квартиры вместо yyy3 еще zzz3

[vba]
Код
Function zzz3%(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
    zzz3 = .Execute(t)(.Execute(t).Count - 1)
End With
End Function
[/vba]
 
Ответить
СообщениеGeorgeXIII, можно для квартиры вместо yyy3 еще zzz3

[vba]
Код
Function zzz3%(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
    zzz3 = .Execute(t)(.Execute(t).Count - 1)
End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 14.07.2016 в 04:27
buchlotnik Дата: Четверг, 14.07.2016, 06:10 | Сообщение № 5
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
можно и на формулах
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C3;",";ПОВТОР(" ";99));1;100))
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C3;",";ПОВТОР(" ";99));100;100))
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C3;",";ПОВТОР(" ";99));200;100))


или просто текст по столбцам с разделителем "," (запятая)
К сообщению приложен файл: 3541490.xlsx (57.0 Kb)


Сообщение отредактировал buchlotnik - Четверг, 14.07.2016, 06:11
 
Ответить
Сообщениеможно и на формулах
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C3;",";ПОВТОР(" ";99));1;100))
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C3;",";ПОВТОР(" ";99));100;100))
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(C3;",";ПОВТОР(" ";99));200;100))


или просто текст по столбцам с разделителем "," (запятая)

Автор - buchlotnik
Дата добавления - 14.07.2016 в 06:10
sv2014 Дата: Четверг, 14.07.2016, 10:11 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
GeorgeXIII, добрый день,добавил функции bbb в H,ccc в J,zzz3 в N,tt в L,vvv в M и макрос use для ввода всех
функций в ваш очень большой диапазон строк

[vba]
Код
Sub use()
    Dim i1&: Application.Calculation = -4135
    i1 = Range("C" & ActiveSheet.Rows.Count).End(xlUp).Row
    Range("D3:D" & i1).Formula = "=yyy1(C3)"
    Range("E3:E" & i1).Formula = "=yyy2(C3)"
    Range("F3:F" & i1).Formula = "=yyy3(C3)"
    Range("H3:H" & i1).Formula = "=bbb(C3)"
    Range("J3:J" & i1).Formula = "=ccc(C3)"
    Range("L3:L" & i1).Formula = "=tt(C3)"
    Range("M3:M" & i1).Formula = "=vvv(C3)"
    Range("N3:N" & i1).Formula = "=zzz3(C3)"
    Application.Calculation = -4105
End Sub
[/vba]


[vba]
Код
Function tt(s$)
tt = Mid(Split(s, ",")(UBound(Split(s, ","))), 5)
End Function
[/vba]

[vba]
Код
Function ccc(t$)
With CreateObject("VBScript.RegExp"): .Pattern = ",(.+),"
    ccc = Mid(.Execute(t)(0).Submatches(0), 4)
End With
End Function
[/vba]

[vba]
Код
Function bbb(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "[^,]+(?=,)"
    bbb = .Execute(t)(0)
End With
End Function
[/vba]

[vba]
Код
Function vvv%(t$)
With CreateObject("VBScript.RegExp"): .Pattern = ",[^,]+$"
    vvv = Mid(.Execute(t)(0), 6)
End With
End Function
[/vba]
 
Ответить
СообщениеGeorgeXIII, добрый день,добавил функции bbb в H,ccc в J,zzz3 в N,tt в L,vvv в M и макрос use для ввода всех
функций в ваш очень большой диапазон строк

[vba]
Код
Sub use()
    Dim i1&: Application.Calculation = -4135
    i1 = Range("C" & ActiveSheet.Rows.Count).End(xlUp).Row
    Range("D3:D" & i1).Formula = "=yyy1(C3)"
    Range("E3:E" & i1).Formula = "=yyy2(C3)"
    Range("F3:F" & i1).Formula = "=yyy3(C3)"
    Range("H3:H" & i1).Formula = "=bbb(C3)"
    Range("J3:J" & i1).Formula = "=ccc(C3)"
    Range("L3:L" & i1).Formula = "=tt(C3)"
    Range("M3:M" & i1).Formula = "=vvv(C3)"
    Range("N3:N" & i1).Formula = "=zzz3(C3)"
    Application.Calculation = -4105
End Sub
[/vba]


[vba]
Код
Function tt(s$)
tt = Mid(Split(s, ",")(UBound(Split(s, ","))), 5)
End Function
[/vba]

[vba]
Код
Function ccc(t$)
With CreateObject("VBScript.RegExp"): .Pattern = ",(.+),"
    ccc = Mid(.Execute(t)(0).Submatches(0), 4)
End With
End Function
[/vba]

[vba]
Код
Function bbb(t$)
With CreateObject("VBScript.RegExp"): .Pattern = "[^,]+(?=,)"
    bbb = .Execute(t)(0)
End With
End Function
[/vba]

[vba]
Код
Function vvv%(t$)
With CreateObject("VBScript.RegExp"): .Pattern = ",[^,]+$"
    vvv = Mid(.Execute(t)(0), 6)
End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 14.07.2016 в 10:11
sv2014 Дата: Четверг, 14.07.2016, 10:21 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
GeorgeXIII, добавил Вам кнопку use для макроса довольно быстрого ввода функций и кнопку очистка для тестирования.
К сообщению приложен файл: mmmmm77.rar (68.3 Kb)
 
Ответить
СообщениеGeorgeXIII, добавил Вам кнопку use для макроса довольно быстрого ввода функций и кнопку очистка для тестирования.

Автор - sv2014
Дата добавления - 14.07.2016 в 10:21
Roms Дата: Понедельник, 26.08.2019, 11:40 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
А есть возможность разбить адреса с большим количеством параметров?

ул. Солнечная Поляна, 30, Барнаул, Россия
Павловский тракт, 54Д, Барнаул, Россия
Телефонная ул., 121, Барнаул, Россия
ул. Малахова, 169В, корп. 3, Барнаул, Россияул. 50 лет СССР, 27, Барнаул, Россия
Целинная ул., 9А, Железнодорожный район, Барнаул, Россия
Заринская ул., 14, корп. 1, Барнаул, Россия
Заринская ул., 14, корп. 1, Барнаул, Россия
Новгородская ул., 26, Барнаул, Россия
Целинная ул., 3, Железнодорожный район, Барнаул, Россия
 
Ответить
СообщениеА есть возможность разбить адреса с большим количеством параметров?

ул. Солнечная Поляна, 30, Барнаул, Россия
Павловский тракт, 54Д, Барнаул, Россия
Телефонная ул., 121, Барнаул, Россия
ул. Малахова, 169В, корп. 3, Барнаул, Россияул. 50 лет СССР, 27, Барнаул, Россия
Целинная ул., 9А, Железнодорожный район, Барнаул, Россия
Заринская ул., 14, корп. 1, Барнаул, Россия
Заринская ул., 14, корп. 1, Барнаул, Россия
Новгородская ул., 26, Барнаул, Россия
Целинная ул., 3, Железнодорожный район, Барнаул, Россия

Автор - Roms
Дата добавления - 26.08.2019 в 11:40
китин Дата: Понедельник, 26.08.2019, 12:00 | Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Roms,
или просто текст по столбцам с разделителем "," (запятая)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеRoms,
или просто текст по столбцам с разделителем "," (запятая)

Автор - китин
Дата добавления - 26.08.2019 в 12:00
Roms Дата: Понедельник, 26.08.2019, 12:36 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Просто текст по столбцам получается не очень удобно, тк часть адресов имеет не классический адрес и потом нужно менять местами порядок улица дом корпус и тд
 
Ответить
СообщениеПросто текст по столбцам получается не очень удобно, тк часть адресов имеет не классический адрес и потом нужно менять местами порядок улица дом корпус и тд

Автор - Roms
Дата добавления - 26.08.2019 в 12:36
bmv98rus Дата: Понедельник, 26.08.2019, 12:48 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4107
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
А есть возможность разбить адреса с большим количеством параметров?

Можно, но если действоват ьпо простому, то такая ерунда получится. А если по сложному, то надо сравнивать результат с КЛАДР или аналогичным (например через ГЕО сервис яндекса. получать координаты по приблизительному адресу а потом по ним уже формализованный точный, но на халяву это не проскочит. Ну или писать анализатор поля на предмет что это район, область ……


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
А есть возможность разбить адреса с большим количеством параметров?

Можно, но если действоват ьпо простому, то такая ерунда получится. А если по сложному, то надо сравнивать результат с КЛАДР или аналогичным (например через ГЕО сервис яндекса. получать координаты по приблизительному адресу а потом по ним уже формализованный точный, но на халяву это не проскочит. Ну или писать анализатор поля на предмет что это район, область ……

Автор - bmv98rus
Дата добавления - 26.08.2019 в 12:48
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разбить адрес на составляющие (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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