Возможно, это не лучший способ, но относительно простым способом может быть просто автоматизировать то, что вы делаете вручную.Перебирайте строки, проверяйте, совпадают ли столбцы, которые вы хотите, используйте метод Range.Insert
для выполнения вставок, а не выполняйте их вручную.
Если это пара таблиц в SQL, что выВы ищете эквивалент FULL OUTER JOIN
двух таблиц по трем интересующим колонкам.Есть некоторая информация о выполнении этого типа операции в Excel в этом вопросе суперпользователя .
Я бросил пример данных в базу данных SQL и смог воспроизвести желаемый результат, используя эти запросы:
SELECT t1.*
FROM Table1 t1
FULL OUTER JOIN Table2 t2 ON t1.Number = t2.Number AND t1.[Name] = t2.[Name] AND t1.[Order] = t2.[Order]
ORDER BY CASE WHEN t1.Number IS NULL THEN t2.Number ELSE t1.Number END
SELECT t2.*
FROM Table1 t1
FULL OUTER JOIN Table2 t2 ON t1.Number = t2.Number AND t1.[Name] = t2.[Name] AND t1.[Order] = t2.[Order]
ORDER BY CASE WHEN t1.Number IS NULL THEN t2.Number ELSE t1.Number END