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

Вход

Регистрация

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

 

= Мир MS Excel/К адресу по названию улицы подтянуть район - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
К адресу по названию улицы подтянуть район
FirstSon Дата: Вторник, 28.07.2015, 11:29 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Есть такая задача:
1. Первая база данных содержит точный адрес
2. Вторая база данных содержит название улицы и район

Необходимо в точном адресе найти название улицы из второй базы и подтянуть из нее же название района

Догадываюсь, что задача не новая, но я решение найти не смог. Может кто помочь?
К сообщению приложен файл: 6782374.xlsx (45.5 Kb)
 
Ответить
СообщениеЕсть такая задача:
1. Первая база данных содержит точный адрес
2. Вторая база данных содержит название улицы и район

Необходимо в точном адресе найти название улицы из второй базы и подтянуть из нее же название района

Догадываюсь, что задача не новая, но я решение найти не смог. Может кто помочь?

Автор - FirstSon
Дата добавления - 28.07.2015 в 11:29
Udik Дата: Вторник, 28.07.2015, 11:58 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Вряд ли это можно сделать формулами. Структура второй базы проблематичная, встречаются повторы улиц (например стр. 288-289) непонятно как выбирать, или на 1 улицу приходится несколько строк с районами (как 8 марта), тут вообще сложный разбор надо делать.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеВряд ли это можно сделать формулами. Структура второй базы проблематичная, встречаются повторы улиц (например стр. 288-289) непонятно как выбирать, или на 1 улицу приходится несколько строк с районами (как 8 марта), тут вообще сложный разбор надо делать.

Автор - Udik
Дата добавления - 28.07.2015 в 11:58
Samaretz Дата: Вторник, 28.07.2015, 11:59 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 223
Репутация: 63 ±
Замечаний: 0% ±

Excel 2010; 2013; 2016
Два варианта - с допстолбцами и без них.

Если без допстолбцов, то формула будет такой:
Код
=IFERROR(VLOOKUP(LEFT(MID(A2;43;SEARCH(",";A2;43)-43);LEN(MID(A2;43;SEARCH(",";A2;43)-43))-LEN(MID(MID(A2;43;SEARCH(",";A2;43)-43);1+FIND(CHAR(1);SUBSTITUTE(MID(A2;43;SEARCH(",";A2;43)-43);" ";CHAR(1);LEN(MID(A2;43;SEARCH(",";A2;43)-43))-LEN(SUBSTITUTE(MID(A2;43;SEARCH(",";A2;43)-43);" ";""))));LEN(MID(A2;43;SEARCH(",";A2;43)-43))))-1);'DB2'!A:B;2;FALSE);"")
К сообщению приложен файл: 2414269.xlsx (53.2 Kb)
 
Ответить
СообщениеДва варианта - с допстолбцами и без них.

Если без допстолбцов, то формула будет такой:
Код
=IFERROR(VLOOKUP(LEFT(MID(A2;43;SEARCH(",";A2;43)-43);LEN(MID(A2;43;SEARCH(",";A2;43)-43))-LEN(MID(MID(A2;43;SEARCH(",";A2;43)-43);1+FIND(CHAR(1);SUBSTITUTE(MID(A2;43;SEARCH(",";A2;43)-43);" ";CHAR(1);LEN(MID(A2;43;SEARCH(",";A2;43)-43))-LEN(SUBSTITUTE(MID(A2;43;SEARCH(",";A2;43)-43);" ";""))));LEN(MID(A2;43;SEARCH(",";A2;43)-43))))-1);'DB2'!A:B;2;FALSE);"")

Автор - Samaretz
Дата добавления - 28.07.2015 в 11:59
FirstSon Дата: Вторник, 28.07.2015, 12:07 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Udik, Да понятно что 100% верного результата не достичь. И потом надо будет перепроверять. Но при 6,5 тысячах строк если получится автоматом заполнить хотя бы процентов 80%, это уже намного проще.
Samaretz, спасибо огромное. Попробую ваше решение. Там дальше есть проблема, нарушается формат адреса, идёт уже, например без индекса "Екатеринбург г, Сибирский тракт, д. 49". Боюсь там не сработает. Но всё равно, спасибо.
 
Ответить
СообщениеUdik, Да понятно что 100% верного результата не достичь. И потом надо будет перепроверять. Но при 6,5 тысячах строк если получится автоматом заполнить хотя бы процентов 80%, это уже намного проще.
Samaretz, спасибо огромное. Попробую ваше решение. Там дальше есть проблема, нарушается формат адреса, идёт уже, например без индекса "Екатеринбург г, Сибирский тракт, д. 49". Боюсь там не сработает. Но всё равно, спасибо.

Автор - FirstSon
Дата добавления - 28.07.2015 в 12:07
Pelena Дата: Вторник, 28.07.2015, 12:08 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19373
Репутация: 4531 ±
Замечаний: ±

Excel 365 & Mac Excel
Если нужно выводить все районы для повторов улиц, то можно сначала в доп. столбец вывести название улицы формулой массива
Код
=ИНДЕКС('DB2'!$A$1:$A$1639;ПОИСКПОЗ(1;('DB2'!$A$1:$A$1639<>"")*ЕЧИСЛО(ПОИСК('DB2'!$A$1:$A$1639;A2;40));0))

а затем воспользоваться Готовым решением отсюда
К сообщению приложен файл: 6782374.xlsm (56.1 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕсли нужно выводить все районы для повторов улиц, то можно сначала в доп. столбец вывести название улицы формулой массива
Код
=ИНДЕКС('DB2'!$A$1:$A$1639;ПОИСКПОЗ(1;('DB2'!$A$1:$A$1639<>"")*ЕЧИСЛО(ПОИСК('DB2'!$A$1:$A$1639;A2;40));0))

а затем воспользоваться Готовым решением отсюда

Автор - Pelena
Дата добавления - 28.07.2015 в 12:08
Samaretz Дата: Вторник, 28.07.2015, 12:21 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 223
Репутация: 63 ±
Замечаний: 0% ±

Excel 2010; 2013; 2016
Там дальше есть проблема, нарушается формат адреса, идёт уже, например без индекса "Екатеринбург г, Сибирский тракт, д. 49". Боюсь там не сработает
Сделайте предварительную подготовку данных.

Например, создайте еще один столбец с такой функцией:
Код
=IF(ISNUMBER(VALUE(MID(A2;2;6)));A2;"ERROR!!!")
, которая проверит наличие индекса - если он есть, то покажет исходную ячейку, если индекс отсутсвует - отобразит ERROR!!!. После этого можно отфильтровать эти ERROR'ы, вручную добавить индексы (и прочие элементы адреса, чтобы они были унифицированы) и потом уже запускать ту формулу, которую я привел выше.

Успехов!
 
Ответить
Сообщение
Там дальше есть проблема, нарушается формат адреса, идёт уже, например без индекса "Екатеринбург г, Сибирский тракт, д. 49". Боюсь там не сработает
Сделайте предварительную подготовку данных.

Например, создайте еще один столбец с такой функцией:
Код
=IF(ISNUMBER(VALUE(MID(A2;2;6)));A2;"ERROR!!!")
, которая проверит наличие индекса - если он есть, то покажет исходную ячейку, если индекс отсутсвует - отобразит ERROR!!!. После этого можно отфильтровать эти ERROR'ы, вручную добавить индексы (и прочие элементы адреса, чтобы они были унифицированы) и потом уже запускать ту формулу, которую я привел выше.

Успехов!

Автор - Samaretz
Дата добавления - 28.07.2015 в 12:21
FirstSon Дата: Вторник, 28.07.2015, 12:23 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, Отличное решение, спасибо thumb hands
 
Ответить
СообщениеPelena, Отличное решение, спасибо thumb hands

Автор - FirstSon
Дата добавления - 28.07.2015 в 12:23
  • Страница 1 из 1
  • 1
Поиск:

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