Eu acho que não haveria nada de ruim em usar o VLOOKUP para isso; você poderia escrever uma fórmula baseada no COLUMN () real para o índice vlookup de uma maneira como essa, por exemplo:
Supondo que os dados da primeira tabela iniciem da célula A1 e que os dados estejam contidos nas colunas A: E e a segunda tabela esteja contida em uma planilha diferente chamada "Tabela2" nas células de A1 a ZZ100, coloque a seguinte fórmula a primeira linha e a primeira coluna livre:
=IFERROR(VLOOKUP(A1,Table2!$A$1:$ZZ$100,COLUMN()-4,FALSE),"")
aviso eu usei "COLUMN () - 4" como índice para o VLOOKUP porque a última coluna de dados na tabela é E enquanto, se fosse D, eu teria usado "COLUMN () - 3" e se fosse F "COLUMN () - 5" em vez disso ... Espero que você entenda o mecanismo de operação. Seria então muito fácil simplesmente colar a fórmula nas 100 (ou mais) colunas subseqüentes sem a dor de ter que alterar o índice de vlookup na fórmula para cada coluna!
Caso contrário, você pode conferir ainda: DigDB ou Assistente de Mesclar Tabelas ou Power-Query para isso.
Você também pode verificar: esta outra pergunta de superusuário ou aqui se você quiser saber mais sobre consolidação de dados e, finalmente, este se você quiser resolver com o VBA.