|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2015, 23:43 | #1 |
Пользователь
Регистрация: 09.11.2015
Сообщений: 36
|
Сравнение двух файлов и замена ячеек
Всем привет.
Наверное мой вопрос просто в экселе не решить, поэтому может кто даст наводку где копать. Может в какой другой ветке. Может можно програмку написать. Смысл такой: Имеем 2 файла с названиями. Файл1 в столбце А имеет правильные названия. В столбцах B,C,D и т.д находятся неправильные синонимы правильного названия в этой строке. Пример прикрепил. Берем файл2. В его столбце (А) неправельные названия. Необходимо, чтобы столбец (А), построчно сравнивался со столбцами B,C,D и в случае совпадения на какой то n строке, сравниваемая ячейка из столбца (A) заменялась на ячейку Аn из первого файла. Как то так. Спасибо. |
10.11.2015, 00:50 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Ниже текст макроса прежде чем его выполнить проделайте следующее:
1. файл с правильными именами должен называться эталон.xlsx и быть открытым (файл 1) 2. правильные имена в нем должны быть в первой колонке 1-ГО ЛИСТА! 3. отрываете файл, в котором следует заменить имена на правильные (файл 2) 4. ПРИ АКТИВНОМ ФАЙЛЕ 2 выполните этот Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 10.11.2015 в 00:52. |
10.11.2015, 10:00 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Думаю алгоритм может быть таким - цикл по эталонам, заносим в словарь синонимы как ключи, как item - правильное название.
Далее цикл по обрабатываемым данным - если нашли в словаре, то заменяем на item. Очень быстро, если данных много - обрабатывайте всё через массивы. Если бы был пример в файле - был бы пример в коде. Теперь уже поздно... Как вариант - без всяких синонимов: цикл по эталонам, в каждом удаляем пробелы/точки/тире, заменяем кириллицу на латиницу (на всякий пожарный), записываем получившееся как ключ в словарь, как итем пишем эталон. Далее цикл по обрабатываемым данным - аналогично стараемся получить ключ, если есть в словаре - меняем на эталон из словаря. Сравнение в словаре ставим текстовое - чтоб не мешал регистр. Ну или можно все ключи свести к одному регистру. Такой подход исправит всё, кроме пары Dr.Pepper-Pepper. Да это вообще разные ведь вещи - человек и специя, их нельзя путать!
webmoney: E265281470651 Z422237915069 R418926282008
|
10.11.2015, 13:50 | #4 | |
Пользователь
Регистрация: 09.11.2015
Сообщений: 36
|
Цитата:
|
|
10.11.2015, 13:55 | #5 | |
Пользователь
Регистрация: 09.11.2015
Сообщений: 36
|
Цитата:
|
|
10.11.2015, 14:07 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
количество столбцов с синонимами ограничено только размерами листа (количеством столбцов на листе)
все условия, которые следует соблюсти описаны в п.п.1...4 и п.5. без номера после кода написан и, кстати, слова которые не нашлись, после работы макроса отмечены, их легко сразу скопировать и ручками раскидать по нужным строкам в файле эталон следующий запуск макроса и их приведет к нормальному виду
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 10.11.2015 в 14:16. |
10.11.2015, 17:14 | #7 | |
Пользователь
Регистрация: 09.11.2015
Сообщений: 36
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение двух таблиц выделение совпадающих ячеек | derlysh | Microsoft Office Excel | 22 | 14.03.2019 08:08 |
Сравнение двух диапазонов ячеек и выбор из них | pavpin | Microsoft Office Excel | 2 | 05.09.2012 21:02 |
Сравнение и замена позиций в двух документах. | Duna619 | Microsoft Office Excel | 1 | 29.03.2012 16:25 |
Нужен макрос: сравнение двух ячеек по условию (есть загвоздка) | vladimir.rogatov | Microsoft Office Excel | 19 | 19.09.2011 01:47 |
Сравнение и замена значений в двух таблицах Excel | shalinoleg | Microsoft Office Excel | 2 | 10.06.2010 09:53 |