Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2009, 19:27   #1
6ecuk
Новичок
Джуниор
 
Регистрация: 22.09.2009
Сообщений: 2
По умолчанию Простановка индексов улиц

Доброго вечера, нужна помощь в создании макроса для автоматической вставки индекса из базы индексов.
Первый лист - база индексов
Второй лист - жители
Берется улица из листа "жители" ищется в листе "база индексов", и потом индекс данной улицы вставляется в поле индекс в листе "жители". Примерно так. Возможно ли вообще такая реализация?
Заранее спасибо за ответы.
Вложения
Тип файла: rar БД.rar (233.4 Кб, 22 просмотров)
6ecuk вне форума Ответить с цитированием
Старый 22.09.2009, 20:30   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте 6ecuk.
"вообще такая реализация" возможна, в Вашем случае нет.
В сопоставлении может проверяться или абсолютное сходство (text1=text2) или подобие (text1 Like text2).
Найдите в таблице Индексы улицу ПЕРЕМОГИ, её там нет. Значит при использовании сопоставления text1=text2 индекс найден не будет.
Сопоставление text1 Like text2* выдаст не один, а три индекса: Перемоги площа, Перемоги проспект, Перемоги вул.

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

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 22.09.2009, 20:57   #3
6ecuk
Новичок
Джуниор
 
Регистрация: 22.09.2009
Сообщений: 2
По умолчанию

Спасибо за ответ
А возможно ли те строки которые будут иметь три индекса перенести во второй лист ( так их можно будет уже руками просмотреть и корректировать) и те строки которые не были найдены переносить в третий лист?

Последний раз редактировалось 6ecuk; 22.09.2009 в 21:00.
6ecuk вне форума Ответить с цитированием
Старый 22.09.2009, 21:44   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я думаю список жителей будет приличным(тысячи).
Есть кое-какие мысли и вопросы.
Пишите в личку или на мыло,АСЮ
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 22.09.2009, 23:43   #5
grenles
минимакс
Участник клуба
 
Аватар для grenles
 
Регистрация: 11.06.2008
Сообщений: 1,143
По умолчанию

Что-то подобное я решал.
Ну что я скажу.... здесь где-то 80% ручной работы и только потом можно говорить о макросах..

О чем я?

Ды просто надо и в жителях и в БД привести все к однообразному написанию, иначе вам прийдется ТАААКОЙ макрос выкручивать!!!
чтобы понять, что
ПЕТРОВСКАЯ ПЕТРОВКАЯ и ПЕТРОКСАЯ - это одно и тоже.

Берете - фильтруете, заменяете, ищете похожее и так далее по циклу.
И вот тогда уже и ВПР даже может быть сработает..

Удаляете двойные пробелы. лишни точки или их отсутствие "ул." "ул " и пр.

Проще варианта я не вижу. Ну только если там. откуда вы получили даныне не закодировать .... или взять общеУкраинский и общеРоссийский КЛАДРы и ...вообщем тоже долботня рукоприкладная.


Вообщем надо привести все к четкому единообразию, чтобы вы были уверенны, что не может быть двойного написания одного и того же, и что правила, используемые в наименовании улицы в обоих случаях (жители и улицы) одинаковы.
А вообще - надо все приводить к КЛАДРУ - прочее сечь нещадно!!! ДА и вообще лучше для этого не в ЭКселе, а где-нить повыше делать - БД+язык высокого уровня.. например...
и это пройдет...

Последний раз редактировалось grenles; 22.09.2009 в 23:46.
grenles вне форума Ответить с цитированием
Старый 23.09.2009, 00:05   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я отключил Анти спам,стучитесь в асю
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.09.2009, 04:11   #7
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Кстати, по КЛАДР частой является ситуация когда одна улица относится к нескольким почтовым индексам.Так что при определении индекса по КЛАДР обязательно учитывать номер дома. Эвристический нормализатор почтового адреса я делал на VBA EXCEL. Это вполне возможно. Но весьма трудоёмко.
Тут много тонкостей обусловленных происхождением данных. В частности, нужно учитывать, что улицы и города у нас иногда переименовывают. Или, скажем, что в Кладр есть такое понятие как населённый пункт в составе города. И бывают ситуации когда разные но одноимённые улицы есть в городе и в населённом пункте в его составе. Или когда есть одноимённые улица площадь и переулок .... И т.д. и.т.п.
Кстати, подобные программные продукты, разбирающие замусоренные почтовые адреса стоят очень приличных денег

Последний раз редактировалось Aent; 23.09.2009 в 04:13.
Aent вне форума Ответить с цитированием
Старый 23.09.2009, 19:50   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Ваш помощник находиться здесь Весит порядка 7 метров
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.09.2009, 12:36   #9
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

если вопрос еще актуален могу помочь с решением
EugeneS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разрушение индексов при изменении таблицы bosston БД в Delphi 1 23.06.2009 08:22
Оптимальное использование буфера вершин и индексов Vedrus Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 08.11.2008 03:46
Проблема с вводом лямбд, индексов и тд в Delphi bles Помощь студентам 6 22.05.2008 11:39
Макрос VBA EXCEl - простановка в ячейку номера страницы Обыватель Microsoft Office Excel 1 14.02.2008 12:49