Страницы: 1 2 След.
RSS
Сравнение таблиц по трём параметрам
 
Ребята, помогите пожалуйста, очень срочная и не реально сложная для меня задача: есть два файла excel (по две тысячи срок в каждом). В каждом из них первый столбец "наименование продукта", второй "сервис", третий "вес", четвёртый "код соответствия" который привязан к первым трём столбцам .    
Но во втором файле данные в столбце "код соответствия" отсутствуют. Нужно чтоб excel делал сравнение по первым трём параметрам (столбцам), и при их совпадении переписывал данные "код соответствия" из первого файла во второй. Возможно ли частичное сравнение при сокращениях в "наименовании продукта"? Простите за полную некомпетентность, долековат я от ВПР (VLOOKUP) и макросов excel. Заранее очень благодарен за ответ.
 
Интересно, и как вы представляете себе нашу помощь?  
Что бы появилось хоть какое-то представление, советую заглянуть в правила (вторая тема сверху)
 
Просто файлы тяжеловаты, больше 100kb
 
{quote}{login=Михаил С.}{date=18.08.2011 01:24}{thema=}{post}Интересно, и как вы представляете себе нашу помощь?  
Что бы появилось хоть какое-то представление, советую заглянуть в правила (вторая тема сверху){/post}{/quote}  
 
Михаил С. а можно к вам на email или в личку с вопросом как-то обратиться? Конфеденциальная инфа слегка. Был бы очень признателен.
 
{quote}{login=}{date=18.08.2011 02:14}{thema=Re: }{post}Михаил С. а можно к вам на email или в личку с вопросом как-то обратиться? Конфеденциальная инфа слегка. Был бы очень признателен.{/post}{/quote}В принципе можно, но, скорее всего я не смогу Вам помочь - я не Гуру, простой любитель. А файлы не обязательно выкладывать полностью - достаточно 20-30 строчек, главное - сохранить структуру. А еще можно заархивировать..    
Конфиденциальные данные можно заменить на бананы, огурцы, помидоры, от этого принцип решения не изменится.
 
{quote}{login=}{date=18.08.2011 01:50}{thema=}{post}Просто файлы тяжеловаты, больше 100kb{/post}{/quote}  
exerra, вот заготовка со структурой Вашей таблицы. Покажите что делать дальше.
 
66327
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Спасибо, что отозвались ребята.  
 
Необходимо, чтоб excel выполнял поиск сразу по трём столбцам.  
Например в заготовке С.М. находит в строку идентичную в двух документах (первые три столбца):  
 
"Дом"   "Построил Джек"  "1"    
 
и тогда данные из четвёртого столбца этой строки "287"  переписывает из первого документа во второй где они отсутствуют.
 
Возможно ли столбцы не обьединять, во избежание каши в документах?
 
Попробуйте  
http://www.excelworld.ru/index/comparefiles_find/0-25  
или  
http://hugo.nxt.ru/CompareFiles.Find.rar  
 
С помощью этого универсального макроса  можно сравнить по n столбцам и скопировать n столбцов.  
И частичное сравнение по одному из столбцов тоже есть.  
Правда пробных запусков только 15.  
Но сперва бы данные посмотреть, может быть не сработает в конкретном случае....
 
>>Но во втором файле данные в столбце "код соответствия" отсутствуют. Нужно чтоб excel делал сравнение по первым трём параметрам (столбцам), и при их совпадении переписывал данные "код соответствия" из первого файла во второй.  
 
Можно сделать макросом  
 
>>Возможно ли частичное сравнение при сокращениях в "наименовании продукта"?  
 
Надо по месту разбирать. Нужны данные
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=exerra}{date=18.08.2011 08:38}{thema=}{post}Возможно ли столбцы не обьединять, во избежание каши в документах?{/post}{/quote}  
 
Я предложил два варианта. То что объеденено, это только для облегчения расчетов на больших кол-вах данных. ..Да и то можно скрыть.  
---  
 
Ах, какой плохой С.М., нарисовал неправильный вариант.. Нарисуйте свой пример, если не нравится вариант С.М.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Еще вариант без доп столбца:  
=ИНДЕКС(D$2:D$8;ПОИСКПОЗ(3;МУМНОЖ(--СОВПАД(A$2:C$8;H2:J2);{1:1:1});0))
 
{quote}{login=Владимир}{date=18.08.2011 11:38}{thema=Re: }{post}{quote}{login=exerra}{date=18.08.2011 08:38}{thema=}{post}Возможно ли столбцы не обьединять, во избежание каши в документах?{/post}{/quote}  
 
Я предложил два варианта. То что объеденено, это только для облегчения расчетов на больших кол-вах данных. ..Да и то можно скрыть.  
---  
 
Ах, какой плохой С.М., нарисовал неправильный вариант.. Нарисуйте свой пример, если не нравится вариант С.М.{/post}{/quote}  
 
Владимир, обсолютно ничего не имел против примера С.M., даже не понял какие слова были не правильно вами трактованы. В любом случае извеняйте.
 
{quote}{login=nerv}{date=18.08.2011 11:06}{thema=}{post}>>Но во втором файле данные в столбце "код соответствия" отсутствуют. Нужно чтоб excel делал сравнение по первым трём параметрам (столбцам), и при их совпадении переписывал данные "код соответствия" из первого файла во второй.  
 
Можно сделать макросом  
 
>>Возможно ли частичное сравнение при сокращениях в "наименовании продукта"?  
 
Надо по месту разбирать. Нужны данные{/post}{/quote}  
 
Пытаюсь применить макросы. По мойму тут можно только сделать сравнение макросом, включительно. Вот файлы, не могли бы вы посмотреть или это реально вообще. Просто есть существенные отклонения в сокращениях.Столько времени убил.  
Вообщем в оригинале есть столбцы:  
 
"Product Description", "Services", "Weight", "PPC".  
 
Соответственно во втором файле "PPC" отсутствует, и данные в этот столбец надо переписать из первого файла при совпадении первых трёх столбцов хотябы частично т.к. присутствуют различные сокращения. Возможно ли это сделать или без искуственного интеллекта не обойтись?
 
А файл то знакомый... :)  
Мой код не справляется - там в обоих столбцах данные нужно ""искусственным интеллектом" обрабатывать...
 
Я думаю, если сделать таблицу соответствия значений этих двух столбцов, то с помощью доп.столбцов и ВПР() можно добавить данные для сравнения, а потом уже или моим кодом, или с помощью формул получить желаемое.  
Потом доп.столбцы можно удалить.
 
{quote}{login=Hugo}{date=18.08.2011 09:17}{thema=}{post}А файл то знакомый... :)  
Мой код не справляется - там в обоих столбцах данные нужно ""искусственным интеллектом" обрабатывать...{/post}{/quote}  
 
Есть классная мысль привести с помощью опции замены (Сtrl+H), столбец Services к одному виду на обоих доках, что делает доки почти эдентичными. Может тогда можно код применить?
 
Да, вот "В доме, который построил Джек" - железная логика.  
На всякий случай извлёк уникальные из обоих файлов, а что с этим счастьем делать ?  
??
 
Желательно оба столбца к одному виду привести.  
В коде "любой порядок слов" действует только при сравнении по одному столбцу, а "частичное" тут не подходит.  
Менять лучше всёж ВПРом из таблицы соответствия - так контроля больше, видно, что на что поменялось.  
Ну и потом можно всё на ВПР сделать - слить в обоих таблицах 3 столбца в один (лучше через разделитель) и подтянуть PPC к одинаковым столбцам. Работы на 10 минут, когда список соответствий будет готов. А для замены по (Сtrl+H)  его всё равно в каком-то виде нужно иметь...
 
Ну вот и почти таблица соответствий, только конечно тут ещё работы...  
В одной паре количество разное, в другой совершенно непонятно, как совмещать...
 
Только закончил воять под собственные нужны функцию CleanString, сразу пригодилась : )  (судя по всему)  
 
В архиве два файла. Макрос в NO_PPC. Работает долго. Очень долго)))  
Можно все это дело значительно ускорить, но надо идти спать.  
 
За правильность обработки ответственность не несу ^_^
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Я бы сделал так: две таблицы в массивы. Почистил их функцией CleanString ОДИН РАЗ (а не как в файле ниже), а потом сравнивал.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=18.08.2011 10:32}{thema=}{post}Только закончил воять под собственные нужны функцию CleanString, сразу пригодилась : )  (судя по всему)  
 
В архиве два файла. Макрос в NO_PPC. Работает долго. Очень долго)))  
Можно все это дело значительно ускорить, но надо идти спать.  
 
За правильность обработки ответственность не несу ^_^{/post}{/quote}  
 
А если файлы полностью эдентичны (прикреплены) как лучше сделать сравнение с копированием PPC из одного в другой?
 
{quote}{login=}{date=18.08.2011 11:04}{thema=Re: }{post}{quote}{login=nerv}{date=18.08.2011 10:32}{thema=}{post}{/post}{/quote}эдентичны {/post}{/quote}Откуда Вы такие слова берёте? Идентичны.
 
{quote}{login=Юрий М}{date=18.08.2011 11:08}{thema=Re: Re: }{post}{quote}{login=}{date=18.08.2011 11:04}{thema=Re: }{post}{quote}{login=nerv}{date=18.08.2011 10:32}{thema=}{post}{/post}{/quote}эдентичны {/post}{/quote}Откуда Вы такие слова берёте? Идентичны.{/post}{/quote}  
 
Юрий М -  прошу отдельное прощение за грамотическую ошибку, если это так критично для вас, смысловая нагрузка вопроса не меняется. Спасибо за понимание.
 
С этими двумя файлами и тем кодом вытянулось идентично с такими настройками:  
 
 
Файл - приёмник: c:\Temp\exerra\2\NO_PPC.xls  
Файл - источник: c:\Temp\exerra\2\PPC.xlsx  
Столбцы сравнения в приёмнике: a,b,c  
Столбцы сравнения в источнике: a,b,c  
Лист - приёмник (№): 1  
Лист - источник (№): 1  
Столбцы - приёмники данных копирования: d  
Столбцы - источники данных копирования: d
 
Не то, чтобы критично, но приятно, когда люди пишут грамотно.  
P.S. Теперь у Вас в одном слове две ошибки :-)
 
{quote}{login=Hugo}{date=18.08.2011 11:27}{thema=}{post}С этими двумя файлами и тем кодом вытянулось идентично с такими настройками:  
 
 
Файл - приёмник: c:\Temp\exerra\2\NO_PPC.xls  
Файл - источник: c:\Temp\exerra\2\PPC.xlsx  
Столбцы сравнения в приёмнике: a,b,c  
Столбцы сравнения в источнике: a,b,c  
Лист - приёмник (№): 1  
Лист - источник (№): 1  
Столбцы - приёмники данных копирования: d  
Столбцы - источники данных копирования: d{/post}{/quote}  
 
Hugo - огромное вам человеческое спасибо за помощь, признателен.    
Очень по существу, начинает получаться.
 
Только 15 раз бесплатно :(  
Это можно сделать ВПР()ом, если столбцы слить в один.
Страницы: 1 2 След.
Читают тему
Наверх