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

Вход

Регистрация

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

 

= Мир MS Excel/Формула в EXEL для форматирования текста - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Формула в EXEL для форматирования текста
Bitos Дата: Пятница, 16.01.2015, 15:34 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ребята подскажите, есть ли такая формула в екселе чтобы я мог отформатировать текст по единому (нужному мне) формату.
а именно, у меня есть адреса клиентов, мне нужно вычленить из текста только город, название улицы и номер дома :
есть ли такая функция?
К сообщению приложен файл: 3002169.xlsx (9.8 Kb)


Сообщение отредактировал Bitos - Пятница, 16.01.2015, 15:35
 
Ответить
СообщениеРебята подскажите, есть ли такая формула в екселе чтобы я мог отформатировать текст по единому (нужному мне) формату.
а именно, у меня есть адреса клиентов, мне нужно вычленить из текста только город, название улицы и номер дома :
есть ли такая функция?

Автор - Bitos
Дата добавления - 16.01.2015 в 15:34
ikki Дата: Пятница, 16.01.2015, 15:39 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
пример результата в нужном Вам виде от Вас ждать?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Пятница, 16.01.2015, 15:40
 
Ответить
Сообщениепример результата в нужном Вам виде от Вас ждать?

Автор - ikki
Дата добавления - 16.01.2015 в 15:39
JayBhagavan Дата: Пятница, 16.01.2015, 15:40 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
Данные, текст по столбцам, разделитель ",". Т.к. у Вас данные по разному выглядят, то не обойтись без ручной правки.


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
СообщениеДанные, текст по столбцам, разделитель ",". Т.к. у Вас данные по разному выглядят, то не обойтись без ручной правки.

Автор - JayBhagavan
Дата добавления - 16.01.2015 в 15:40
Bitos Дата: Пятница, 16.01.2015, 16:24 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ikki, вы имеете ввиду выложить конечный вид текста который мне нужен из каждой строки? или что? не совсем понял
 
Ответить
Сообщениеikki, вы имеете ввиду выложить конечный вид текста который мне нужен из каждой строки? или что? не совсем понял

Автор - Bitos
Дата добавления - 16.01.2015 в 16:24
Bitos Дата: Пятница, 16.01.2015, 16:26 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
JayBhagavan, то есть необходимо перелопачивать 9000 клиентов в ручном режиме, я правильно понял? и другого варианта нет?
 
Ответить
СообщениеJayBhagavan, то есть необходимо перелопачивать 9000 клиентов в ручном режиме, я правильно понял? и другого варианта нет?

Автор - Bitos
Дата добавления - 16.01.2015 в 16:26
TimSha Дата: Пятница, 16.01.2015, 16:37 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 94 ±
Замечаний: 0% ±

Excel 2013 Pro +
перелопачивать 9000 клиентов в ручном режиме

Вариантов "рихтовки" кривых адресов море - ищите и обрящете, но автоматом - одной кнопкой - нет.
Как один из выходов: брать за основу стат базу или лучше почтовую, а там уже сравнением пост индексов и пр.
ps Много, срочно и лень - на многих форумах есть разделы заказов.


"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Ответить
Сообщение
перелопачивать 9000 клиентов в ручном режиме

Вариантов "рихтовки" кривых адресов море - ищите и обрящете, но автоматом - одной кнопкой - нет.
Как один из выходов: брать за основу стат базу или лучше почтовую, а там уже сравнением пост индексов и пр.
ps Много, срочно и лень - на многих форумах есть разделы заказов.

Автор - TimSha
Дата добавления - 16.01.2015 в 16:37
buchlotnik Дата: Пятница, 16.01.2015, 16:38 | Сообщение № 7
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
...


Сообщение отредактировал buchlotnik - Пятница, 16.01.2015, 16:39
 
Ответить
Сообщение...

Автор - buchlotnik
Дата добавления - 16.01.2015 в 16:38
ikki Дата: Пятница, 16.01.2015, 17:21 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
ikki, вы имеете ввиду выложить конечный вид текста который мне нужен из каждой строки?
когда я писал "пример результата", я имел в виду пример результата
так понятней?

по поводу задачи:
как правило, решать её встроенными функциями - затея безнадёжная.
разве что в случаях, когда данные имеют абсолютно одинаковую структуру и небольшое кол-во вариантов.

у Вас вариантов немало - кроме "г." перед городом, есть "г." после города, есть "г" без точки, есть "х.", есть "п."
и, что самое печальное - есть строки без "г", "п" и "х" вообще.
аналогичная ситуация с улицами и номерами домов
разнообразие бардака удручает.

и это только на 37 строках примера.
что там творится на Ваших 9000+ - можно только представлять.

теоретически - можно решить. макросами. скорее всего - на регулярках, хотя и не обязательно.
примеров по форумам - действительно хватает.
но эти примеры - под те данные.
не под Ваши.

практически же работать придётся очень долго, поэтапно, выбирая возможные варианты написания адресов, желательно - подготовив список хотя бы городов/хуторов/поселков.
и крайне маловероятно, что результат будет 100%-ным.
но процентов 90+, надеюсь, вытянуть можно будет.
у Вас хотя бы названия улиц перед названиями городов не идут. :)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
ikki, вы имеете ввиду выложить конечный вид текста который мне нужен из каждой строки?
когда я писал "пример результата", я имел в виду пример результата
так понятней?

по поводу задачи:
как правило, решать её встроенными функциями - затея безнадёжная.
разве что в случаях, когда данные имеют абсолютно одинаковую структуру и небольшое кол-во вариантов.

у Вас вариантов немало - кроме "г." перед городом, есть "г." после города, есть "г" без точки, есть "х.", есть "п."
и, что самое печальное - есть строки без "г", "п" и "х" вообще.
аналогичная ситуация с улицами и номерами домов
разнообразие бардака удручает.

и это только на 37 строках примера.
что там творится на Ваших 9000+ - можно только представлять.

теоретически - можно решить. макросами. скорее всего - на регулярках, хотя и не обязательно.
примеров по форумам - действительно хватает.
но эти примеры - под те данные.
не под Ваши.

практически же работать придётся очень долго, поэтапно, выбирая возможные варианты написания адресов, желательно - подготовив список хотя бы городов/хуторов/поселков.
и крайне маловероятно, что результат будет 100%-ным.
но процентов 90+, надеюсь, вытянуть можно будет.
у Вас хотя бы названия улиц перед названиями городов не идут. :)

Автор - ikki
Дата добавления - 16.01.2015 в 17:21
mus013 Дата: Пятница, 16.01.2015, 17:37 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 25 ±
Замечаний: 0% ±

Excel 2007
Добрый вечер, Bitos, попробуйте выделить столбец А
ctrl+f найти *г. (точка в конце)
заменить на г. но заменится только часть, придется поискать ещё замены. Удачи.
К сообщению приложен файл: 3002169-1-.xlsx (9.5 Kb)


Помогать, действительно важно и нужно. «Может, это и не изменит мир, но точно изменит вас!»
 
Ответить
СообщениеДобрый вечер, Bitos, попробуйте выделить столбец А
ctrl+f найти *г. (точка в конце)
заменить на г. но заменится только часть, придется поискать ещё замены. Удачи.

Автор - mus013
Дата добавления - 16.01.2015 в 17:37
vikttur Дата: Пятница, 16.01.2015, 18:10 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Но если в данных будет что-то типа г Устюг. ...


Сообщение отредактировал vikttur - Пятница, 16.01.2015, 18:12
 
Ответить
СообщениеНо если в данных будет что-то типа г Устюг. ...

Автор - vikttur
Дата добавления - 16.01.2015 в 18:10
Richman Дата: Суббота, 17.01.2015, 02:06 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация: 54 ±
Замечаний: 0% ±

Excel 2007
Bitos, Здравствуй земляк, Вот тебе файл, Вверху вводи предполагаемый текст для определения начала адреса. Чем левее, тем меньше приоритет. В названии должно что-то быть обязательно. Ну кое где вручную придется все равно доработать
К сообщению приложен файл: 6174553.xlsx (18.5 Kb)


С Уважением, Richman

 
Ответить
СообщениеBitos, Здравствуй земляк, Вот тебе файл, Вверху вводи предполагаемый текст для определения начала адреса. Чем левее, тем меньше приоритет. В названии должно что-то быть обязательно. Ну кое где вручную придется все равно доработать

Автор - Richman
Дата добавления - 17.01.2015 в 02:06
ikki Дата: Суббота, 17.01.2015, 03:23 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
немножко сделал.
пока - без номеров домов (там. где сейчас номера всё-таки попали - это случайно, из-за погрешностей в исх. данных)
можно продолжить по аналогии.
хотя и там есть нюансы.

кроме того, там, где город не удалось выделить, можно создавать список городов и работать с ним.
но тоже аккуратно - чтобы, к примеру из "Краснодарский край" не "выделялся" город Краснодар.

[vba]
Код
Function ikki$(s$)
     Static r1 As Object, r2 As Object, r3 As Object, r4 As Object
     Dim s2$
     If r1 Is Nothing Then
         Set r1 = CreateObject("vbscript.regexp")
         Set r2 = CreateObject("vbscript.regexp")
         Set r3 = CreateObject("vbscript.regexp")
         Set r4 = CreateObject("vbscript.regexp")
         r1.Pattern = ".*?(?:^|,)\s+([^,]*?)\s+([гпх]|пгт|ст)\.?\s*,"
         r2.Pattern = ".*?([гпх]|пгт|ст)(?:\s+|\.\s*)([^,]+)"
         r3.Pattern = "(?:^|,)\s+([^,]*?)\s+(ул)\.?\s*,"
         r4.Pattern = "(ул)(?:\s+|\.\s*)([^,]+)"
     End If
     If r1.test(s) Then
         Set m = r1.Execute(s)
         s2 = m(0).submatches(1) & "." & m(0).submatches(0)
         s = r1.Replace(s, "")
     ElseIf r2.test(s) Then
         Set m = r2.Execute(s)
         s2 = m(0).submatches(0) & "." & m(0).submatches(1)
         s = r2.Replace(s, "")
     Else
         s2 = "ГОРОД НЕ ВЫДЕЛЕН"
     End If
     ikki = s2
      
     If r3.test(s) Then
         Set m = r3.Execute(s)
         ikki = s2 & ", " & m(0).submatches(1) & "." & m(0).submatches(0)
     ElseIf r4.test(s) Then
         Set m = r4.Execute(s)
         ikki = s2 & ", " & m(0).submatches(0) & "." & m(0).submatches(1)
     End If
End Function
[/vba]
К сообщению приложен файл: re.-.xlsm (18.1 Kb)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениенемножко сделал.
пока - без номеров домов (там. где сейчас номера всё-таки попали - это случайно, из-за погрешностей в исх. данных)
можно продолжить по аналогии.
хотя и там есть нюансы.

кроме того, там, где город не удалось выделить, можно создавать список городов и работать с ним.
но тоже аккуратно - чтобы, к примеру из "Краснодарский край" не "выделялся" город Краснодар.

[vba]
Код
Function ikki$(s$)
     Static r1 As Object, r2 As Object, r3 As Object, r4 As Object
     Dim s2$
     If r1 Is Nothing Then
         Set r1 = CreateObject("vbscript.regexp")
         Set r2 = CreateObject("vbscript.regexp")
         Set r3 = CreateObject("vbscript.regexp")
         Set r4 = CreateObject("vbscript.regexp")
         r1.Pattern = ".*?(?:^|,)\s+([^,]*?)\s+([гпх]|пгт|ст)\.?\s*,"
         r2.Pattern = ".*?([гпх]|пгт|ст)(?:\s+|\.\s*)([^,]+)"
         r3.Pattern = "(?:^|,)\s+([^,]*?)\s+(ул)\.?\s*,"
         r4.Pattern = "(ул)(?:\s+|\.\s*)([^,]+)"
     End If
     If r1.test(s) Then
         Set m = r1.Execute(s)
         s2 = m(0).submatches(1) & "." & m(0).submatches(0)
         s = r1.Replace(s, "")
     ElseIf r2.test(s) Then
         Set m = r2.Execute(s)
         s2 = m(0).submatches(0) & "." & m(0).submatches(1)
         s = r2.Replace(s, "")
     Else
         s2 = "ГОРОД НЕ ВЫДЕЛЕН"
     End If
     ikki = s2
      
     If r3.test(s) Then
         Set m = r3.Execute(s)
         ikki = s2 & ", " & m(0).submatches(1) & "." & m(0).submatches(0)
     ElseIf r4.test(s) Then
         Set m = r4.Execute(s)
         ikki = s2 & ", " & m(0).submatches(0) & "." & m(0).submatches(1)
     End If
End Function
[/vba]

Автор - ikki
Дата добавления - 17.01.2015 в 03:23
Bitos Дата: Понедельник, 19.01.2015, 09:59 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ребята всем спасибо за помощь, честно удивлен такой активность! всем спасибо! hands
 
Ответить
Сообщениеребята всем спасибо за помощь, честно удивлен такой активность! всем спасибо! hands

Автор - Bitos
Дата добавления - 19.01.2015 в 09:59
  • Страница 1 из 1
  • 1
Поиск:

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