Страницы: 1
RSS
Поиск внутри найденных значений
 
Друзья, добрый день.

Нужна ваша помощь. Сам уже запутался.

Есть 3 базы:
1) База товаров из одного источника содержащая Уникальный товар и Не уникальную группу
2) База товаров из другого источника содержащая Уникальный товар и 2 не уникальных группы
3) Справочник сопоставления товаров (Уникальный товар) из базы 1 к базе 2, не полная.

Необходимо сопоставить базу 1 и 2 (с использованием базы 3) по максимальному количеству товаров с минимальным количеством действий.
Т.е.
1) К базе 1 ВПРим базу 3, к результату из базы 3 ВПРим базу 2 - получаем сравнения в Товар к Товару.
2) Далее необходимо получить соответствие Группа из базы 1 к товару из базы 2, и по товару из базы 2 подставить Группы из базы2

Сделать руками это просто. После пункта 1 удаляем все неопределенные и создаем справочник уникальных связок Группа База 1 = Группа База 2, после чего в дополнительном столбце ВПРим уже из этого справочника. Далее в новом столбце проверяем если при первой подстановке не определена Группа База 1 = Группа База 2, то берем из нового столбца.

Товаров более 17 тыс, что создает большое количество расчетов за каждый столбец.

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

Заранее спасибо.
Изменено: phelex - 29.05.2020 09:26:55
невозможное делаем сразу, чудо - требует небольшой подготовки.
 
MSQuery, PowerQuery только надо таблицы исходные привести в порядок, то есть дать пример более близкий к реальному
По вопросам из тем форума, личку не читаю.
 
БМВ,уточните пожалуйста в чем нужно привести к более реальному?

В целом источники по типу такие же как в примере.
Или необходимо больше значений?

Спасибо
невозможное делаем сразу, чудо - требует небольшой подготовки.
 
ну не на одном же они листе, наверно имею заголовок ....

хотя можно попробовать массивку
=IFERROR(VLOOKUP(N19;$K$2:$L$6;2;);IFERROR(VLOOKUP(O19;O18:$P$19;2;);
IFERROR(INDEX($L$2:$L$6;SMALL(IF($O$19:$O$31=O19;IFERROR(MATCH($N$19:$N$31;$K$2:$K$6;);1=0));1));"")
))
Изменено: БМВ - 29.05.2020 10:25:08
По вопросам из тем форума, личку не читаю.
 
БМВ,не совсем :)
Могу разместить их хоть на одном, хоть на разных листах.
Заголовки могу назвать как угодно, в любом случае в PQ тянем из умных таблиц.
Если сможете помочь с алгоритмом под эти заголовки, буду благодарен.
Далее я уже поправлю код на необходимые имена таблиц и заголовки.

Спасибо
невозможное делаем сразу, чудо - требует небольшой подготовки.
 
БМВ,спасибо, вроде работает.
Полноценно смогу проверить в понедельник, отпишусь.
невозможное делаем сразу, чудо - требует небольшой подготовки.
 
Странно что с PQ все молчат. На SQL не хочу делать, там надо все равно путь или корректировать руками или макросом. А так все тоже самое. Сперва находим для всех товаров 1 по соответвю товар 2 а следовательно и для группы 1 находим товар 2 а потом уже по списку все просто.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Странно что с PQ все молчат
ну вариант:
Скрытый текст
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik,добрый день!

Прошу прощения за длительный ответ, приоритеты сместили был занят другой задачей.
Обработка прекрасна, на лету обработала полный объем данных.
Проблема к подходу "Много к Много".  Т.е. количество строк на каждом этапе возрастает.

Как можно победить эту проблему?
Живой пример прикладываю.

Заранее благодарен.
невозможное делаем сразу, чудо - требует небольшой подготовки.
Страницы: 1
Наверх