Excel - Макрос для сравнения / сопоставления нескольких ячеек подряд между двумя листами и копирования всей строки на второй лист - PullRequest
0 голосов
/ 17 апреля 2011

Я ищу макрос для сопоставления нескольких ячеек подряд между двумя листами и копирую всю совпавшую строку с первого листа, чтобы разместить рядом с совпавшей строкой со второго листа.

Ниже приведены выдержки из моего листа Excel:

рабочий лист A:

    E       F   H          J

2878 3/1/2011 Cash 1/3 / 2011_BSJ 636

рабочий лист B:

   A      C        E   F

50 1 марта 2011 г. DEP_CASH 636 TRAX_BRH_BSJ

Например, если F2878 (строка № 2878, столбец F), E2878, J2878, H2878 листа A = C50, A50, E50, F50 листа B, то скопируйте всю строку 2878 листа A в I50 листа B. Затем вычеркните строку 2878 из листа A, чтобы указать работу, проделанную в строке. Обратите внимание, что часть содержимого может не совпадать, например, F2878 содержит «Cash», а C50 содержит «CASH» из «DEP_CASH», которые считаются совпадающими. Мне нужно соответствовать около 3000+ строк. Пожалуйста, помогите ...

1 Ответ

0 голосов
/ 17 апреля 2011

Проблема в том, что функции поиска рассматривают только один ключевой столбец.Итак, что я сделал с похожей проблемой - это добавить один ключевой столбец, используя некоторую формулу, чтобы объединить ключевые части с каким-то специальным символом, а затем использовать формулу поиска.Поскольку вам нужно создать совпадающие ключи с обеих сторон, у вас есть шанс в построении формул их объединить тексты.Например, используйте заглавные буквы, чтобы убедиться, что они написаны одинаково.Или просто вырежьте слово CASH из столбца ...

Принимает проб и ошибок ... но, как вы видите, созданные ключи, вы можете принять формулу, пока она не даст ожидаемых результатов.

(В зависимости от сложности вашей логики сопоставления может помочь что-то, способное обрабатывать регулярные выражения, например Ruby, который отлично подходит для "удаленного управления" Excel.)

...