Есть 2 таблицы похожей структуры: в первой около 4000 строк и она является "образцом", во второй около 5000 строк и ее нужно проверить. Совпадают (естественно только частично - процентов на 50-60) первые столбцы таблиц (А). Хотелось бы выделить определенным цветом все совпадения в первом столбце (А) второй таблицы с первым столбцом (А) первой таблицы. При этом выделить цветом желательно сразу всю строку, где было совпадение с первой таблицей. Реально ли?
Простите, пожалуйста, чайника, объяснил как смог. Искал решение сам и не нашел. Начал уже делать вручную - строк 300 сравнил и больше не могу так жить...
Нужно сделать следующее в Excel 2003:
Есть 2 таблицы похожей структуры: в первой около 4000 строк и она является "образцом", во второй около 5000 строк и ее нужно проверить. Совпадают (естественно только частично - процентов на 50-60) первые столбцы таблиц (А). Хотелось бы выделить определенным цветом все совпадения в первом столбце (А) второй таблицы с первым столбцом (А) первой таблицы. При этом выделить цветом желательно сразу всю строку, где было совпадение с первой таблицей. Реально ли?
Простите, пожалуйста, чайника, объяснил как смог. Искал решение сам и не нашел. Начал уже делать вручную - строк 300 сравнил и больше не могу так жить...Chibert
Сообщение отредактировал Chibert - Среда, 07.08.2013, 19:39
Закончить нужно через неделю. В любом случае только только половина совпадет (чуть больше - знаю это заранее), а остальное надо будет делать руками. Но хотя бы сократить ручную работу до 1700-1800 строк! Сделал два файлика для примера ("1" - из "образца", "2" - из того, что нужно проверить). Соображаю уже плохо (надо домой идти...), примеры собрал так-себе, но в целом картину они отражают.
Закончить нужно через неделю. В любом случае только только половина совпадет (чуть больше - знаю это заранее), а остальное надо будет делать руками. Но хотя бы сократить ручную работу до 1700-1800 строк! Сделал два файлика для примера ("1" - из "образца", "2" - из того, что нужно проверить). Соображаю уже плохо (надо домой идти...), примеры собрал так-себе, но в целом картину они отражают.Chibert
Работа скорее все же разовая. Потому отчаявшись и взялся "как обезьяна" делать все ручками - но чисто физически внимание рассеивается через какой-то момент от такой монотонной работы (не привык видимо, обычно более "творческое" что-то приходится делать) и нереально заставить себя прямо ВЕСЬ день этим заниматься. Иначе все руками сделать теоретически вполне реально (хоть и глупо).
Работа скорее все же разовая. Потому отчаявшись и взялся "как обезьяна" делать все ручками - но чисто физически внимание рассеивается через какой-то момент от такой монотонной работы (не привык видимо, обычно более "творческое" что-то приходится делать) и нереально заставить себя прямо ВЕСЬ день этим заниматься. Иначе все руками сделать теоретически вполне реально (хоть и глупо).Chibert
Вообще в примере совпадений нет. Но одно я сделал искусственно - добавил город. Сперва вручную заменами привести всё к одному стандарту, затем слить в одну ячейку одинаково в обоих файлах поля, далее СЧЁТЕСЛИ() Ну а красить зачем? Фильтруйте по >0 и порядок. Можно конечно и покрасить с помощью УФ - но это долго. Или макросом - но его нужно писать Да и фильтровать по цвету в 2003 нельзя!
Вообще в примере совпадений нет. Но одно я сделал искусственно - добавил город. Сперва вручную заменами привести всё к одному стандарту, затем слить в одну ячейку одинаково в обоих файлах поля, далее СЧЁТЕСЛИ() Ну а красить зачем? Фильтруйте по >0 и порядок. Можно конечно и покрасить с помощью УФ - но это долго. Или макросом - но его нужно писать Да и фильтровать по цвету в 2003 нельзя!Hugo
Если обязательно хочется покрасить, то можно сделать так: В книге 2 сбоку написать ссылки на столбец А книги 1 и потом уже использовать условное форматирование См. файл1 А вообще, проще всего написать сбоку формулу и растянуть ее вниз
Код
=ПОИСКПОЗ(A1;[Книга1.xls]Лист1!$A$1:$A$5000;)
Там, где не ошибка, а любое число, там есть повтор. Можно отфильтровать. или
Если обязательно хочется покрасить, то можно сделать так: В книге 2 сбоку написать ссылки на столбец А книги 1 и потом уже использовать условное форматирование См. файл1 А вообще, проще всего написать сбоку формулу и растянуть ее вниз
Код
=ПОИСКПОЗ(A1;[Книга1.xls]Лист1!$A$1:$A$5000;)
Там, где не ошибка, а любое число, там есть повтор. Можно отфильтровать. или
Chibert! Посмотрите мои "5 копеек"! Макрос в файле Chibert.xls: запускать "кнопкой" можно с листов "ПРОТОКОЛ-ДА" и "ПРОТОКОЛ-НЕТ", либо - ALT и F8 на любом листе. Макрос: 1. "Спросит" файл "Эталон" и файл "Для контроля". 1.1. Имена файлов могут быть любыми; нужно просто обычным способом поиска файлов в каталоге найти эти файлы по очереди (в диалоговом окошке макрос указывает имя файла, который он "просит") и "топнуть" по ним мышой. 1.2. "Прочтет" информацию из них. 1.3. Скопирует ее на "транзитные" листы: "Эталон" и "Для контроля". 1.4. "Посчитает" количество строк на этих листах. 1.5. Выполнит СОРТИРОВКУ по столбу А на каждом листе. 2. Построит 2 протокола. 2.1. "ПРОТОКОЛ-ДА" - строчки из "ЭТАЛОНА", которые нашли СЕБЯ по ИНФОРМАЦИИ ИЗ СВОЕГО СТОЛБА А в ИНФОРМАЦИИ ИЗ СТОЛБА А в "Для контроля" (на листе этого протокола полная информация о строках "ДА") со сквозной нумерацией. 2.2. В ячейке А1 "ПРОТОКОЛ-ДА" - количество строк "ДА". 2.3. "ПРОТОКОЛ-НЕТ" - строчки из "ЭТАЛОНА", которые НЕ нашли СЕБЯ по ИНФОРМАЦИИ ИЗ СВОЕГО СТОЛБА А в ИНФОРМАЦИИ ИЗ СТОЛБА А в "Для контроля" (на листе этого протокола полная информация о строках "НЕТ") со сквозной нумерацией. 2.4. В ячейке А1 "ПРОТОКОЛ-НЕТ" - количество строк "НЕТ". 2.5. Ячейка А1 "ПРОТОКОЛ-ДА" + Ячейка А1 "ПРОТОКОЛ-НЕТ" = КОЛИЧЕСТВО СТРОК В ФАЙЛЕ "Эталон". 3. В алгоритме контроля файл "Эталон" я использовала в качестве ВЕДУЩЕГО, а файл "Для контроля" в качестве ВЕДОМОГО.
Chibert! Посмотрите мои "5 копеек"! Макрос в файле Chibert.xls: запускать "кнопкой" можно с листов "ПРОТОКОЛ-ДА" и "ПРОТОКОЛ-НЕТ", либо - ALT и F8 на любом листе. Макрос: 1. "Спросит" файл "Эталон" и файл "Для контроля". 1.1. Имена файлов могут быть любыми; нужно просто обычным способом поиска файлов в каталоге найти эти файлы по очереди (в диалоговом окошке макрос указывает имя файла, который он "просит") и "топнуть" по ним мышой. 1.2. "Прочтет" информацию из них. 1.3. Скопирует ее на "транзитные" листы: "Эталон" и "Для контроля". 1.4. "Посчитает" количество строк на этих листах. 1.5. Выполнит СОРТИРОВКУ по столбу А на каждом листе. 2. Построит 2 протокола. 2.1. "ПРОТОКОЛ-ДА" - строчки из "ЭТАЛОНА", которые нашли СЕБЯ по ИНФОРМАЦИИ ИЗ СВОЕГО СТОЛБА А в ИНФОРМАЦИИ ИЗ СТОЛБА А в "Для контроля" (на листе этого протокола полная информация о строках "ДА") со сквозной нумерацией. 2.2. В ячейке А1 "ПРОТОКОЛ-ДА" - количество строк "ДА". 2.3. "ПРОТОКОЛ-НЕТ" - строчки из "ЭТАЛОНА", которые НЕ нашли СЕБЯ по ИНФОРМАЦИИ ИЗ СВОЕГО СТОЛБА А в ИНФОРМАЦИИ ИЗ СТОЛБА А в "Для контроля" (на листе этого протокола полная информация о строках "НЕТ") со сквозной нумерацией. 2.4. В ячейке А1 "ПРОТОКОЛ-НЕТ" - количество строк "НЕТ". 2.5. Ячейка А1 "ПРОТОКОЛ-ДА" + Ячейка А1 "ПРОТОКОЛ-НЕТ" = КОЛИЧЕСТВО СТРОК В ФАЙЛЕ "Эталон". 3. В алгоритме контроля файл "Эталон" я использовала в качестве ВЕДУЩЕГО, а файл "Для контроля" в качестве ВЕДОМОГО. Матрёна
[/vba]лишние. Более того, они неправильные - отследите результат в Locals. А чтоб не перебирать цикл в цикле - применяйте словарь, будет значительно быстрее, и код короче/проще. Т.к. думаю, что сравнивать только по названию улицы, когда в списке разные города из разных районов - неправильно, то код писать не буду. Да и работа разовая - я её уже вчера сделал
[/vba]лишние. Более того, они неправильные - отследите результат в Locals. А чтоб не перебирать цикл в цикле - применяйте словарь, будет значительно быстрее, и код короче/проще. Т.к. думаю, что сравнивать только по названию улицы, когда в списке разные города из разных районов - неправильно, то код писать не буду. Да и работа разовая - я её уже вчера сделал Hugo
применяйте словарь, будет значительно быстрее, и код короче
Как только "разберусь" с синтаксисом и требованиями оного, так сразу. Как рассматривать Ваше конструктивное замечание относительно "длины" кода, если макрос будет записан с помощью макрорекордера? Я - не профи, совсем не умею программировать в объектных средах. Обучаться этому уже нет смысла, поскольку эра программистов "кустарей-одиночек" закончилась. В "серьезные" программистские коллективы уже никогда не попаду: возрастной ценз.
сравнивать только по названию улицы, когда в списке разные города из разных районов - неправильно
Такой критерий был нужен автору заявки. И этот критерий в данной ситуации не может быть иным. Вообще-то, каноны традиционного контроля 2-х информаций всегда требуют исполнения двухстороннего контроля при оптимальном критерии сравнения.
применяйте словарь, будет значительно быстрее, и код короче
Как только "разберусь" с синтаксисом и требованиями оного, так сразу. Как рассматривать Ваше конструктивное замечание относительно "длины" кода, если макрос будет записан с помощью макрорекордера? Я - не профи, совсем не умею программировать в объектных средах. Обучаться этому уже нет смысла, поскольку эра программистов "кустарей-одиночек" закончилась. В "серьезные" программистские коллективы уже никогда не попаду: возрастной ценз.
сравнивать только по названию улицы, когда в списке разные города из разных районов - неправильно
Такой критерий был нужен автору заявки. И этот критерий в данной ситуации не может быть иным. Вообще-то, каноны традиционного контроля 2-х информаций всегда требуют исполнения двухстороннего контроля при оптимальном критерии сравнения.Матрёна
Сообщение отредактировал Матрёна - Четверг, 08.08.2013, 16:07
Добрый день Помогите пожалуйста сделать сравнение в Excel есть две таблицы на разных вкладка надо их сравнить и сделать заливку в той и другой таблице надоело каждый месяц делать в ручную, а кол-во ячеек растёт. Пожалуйста буду благодарен [moder]Читаем Правила форума, создаём свою тему. прикладываем файл-пример. Эта тема закрыта[/moder]
Добрый день Помогите пожалуйста сделать сравнение в Excel есть две таблицы на разных вкладка надо их сравнить и сделать заливку в той и другой таблице надоело каждый месяц делать в ручную, а кол-во ячеек растёт. Пожалуйста буду благодарен [moder]Читаем Правила форума, создаём свою тему. прикладываем файл-пример. Эта тема закрыта[/moder]dimsput