В моей электронной таблице два листа, и я ищу код VBA (или простую формулу) для пакетного копирования значений из одного листа в другой.
- Первый, Sheet1,имеет список городов, рынков и продуктов в трех столбцах (AC). Всего около 19 000 строк. См. Образец на приложенном изображении
- Второй, Sheet2, содержит список продуктов, подкатегорию продукта и происхождение продукта (столбцы AC), всего около 300 строк. См. Образец на приложенном изображении
Я хотел бы скопировать подкатегорию продукта и происхождение продукта (т. Е. Столбцы B и C на листе 2) в лист 1, где продукт в столбце CЛиста1 = Продукт в столбце А Листа2. Отмечая, что я хотел бы сохранить порядок, в котором строки находятся на Листе 2 при копировании на Лист1.
Я пробовал следующий подход INDEX / MATCH, но по какой-то причине он перестает работать после 18-й строки (У меня есть около 19 000 строк в Sheet1), и он работает только для одного столбца за раз.
= IFERROR (INDEX ('Sheet2'! $ B $ 2: $ B $ 284, МАЛЕНЬКИЙ (ЕСЛИ ($ D2)= 'Sheet2'! $ B $ 2: $ B $ 284, ROW ('Sheet2'! $ B $ 2: $ B $ 284) -1, ""), ROW () - 1)), "")
Может ли кто-нибудь помочь с написанием некоторого кода VBA, чтобы сделать это?
Редактировать: Пример вывода с использованием данных примера: this