Привет. Решал такие задачи по работе, используя Excel 2007. Файл с образцом решения - по ссылке ниже. Для наглядности сделал все на одном листе. Если таблицы на разных листах, принцип такой же. Вкратце:
1. Все таблицы нужно преобразовать в "умные таблицы" Excel. Так не придется следить за размерами этих таблиц.
2. Учитывая, что таблицы на разных листах, возникнет вопрос, все ли строки вошли в объединяющую таблицу. Чтобы знать это наверняка, я себе делаю "индикатор" возле объединяющей таблицы.
3. Заполнение данными происходит через контроль количества строк в исходных таблицах и номера строки в объединенной таблице. То есть "если номер текущей строки в объединенной таблице меньше или равен числу строк в первой таблице, то берем из первой таблицы, а иначе берем из второй таблицы".
4. Номер текущей строки - это формула СТРОКА() минус число строк до этой строки от верха листа. В образце это "СТРОКА()-1", потому что содержимое таблицы начинается со второй строки. За этим нужно следить и корректировать формулы в зависимости от положения таблицы на листе.
Собственно,
файл-образец.
На всякий случай, то же самое в
zip-архиве.
Надеюсь, помог. Удачи!