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

Вход

Регистрация

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

 

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

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

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


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

Автор - GeorgeXIII
Дата добавления - 14.07.2016 в 02:52
sv2014 Дата: Четверг, 14.07.2016, 03:59 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 37 ±
Замечаний: 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(44Kb)


Сообщение отредактировал 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
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - GeorgeXIII
Дата добавления - 14.07.2016 в 04:20
sv2014 Дата: Четверг, 14.07.2016, 04:27 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 37 ±
Замечаний: 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
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

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


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


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru


Сообщение отредактировал 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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 37 ±
Замечаний: 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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 37 ±
Замечаний: 0% ±

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

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

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