À primeira vista, isso pareceu bobo simples, mas ... não é.
Eu acho que uma possível solução é um produto cruzado reduzido - se você olhar para as contagens, RelOne tem 3 '1' e 2 '2', e RelTwo tem 2 '1' e 4 '2'; o resultado tem 3 * 2 '1' + 2 * 4 '2' = 13 entradas. Não há uma maneira simples de produzir essa contagem total, exceto a contagem de todos os 1, 2, 3, etc em ambas as suas tabelas, obviamente tediosa.
Portanto (e vou pular todas as soluções Macro / VBA / 3rdParty), eu recomendo a seguinte abordagem:
- Considere um produto cruzado entre as tabelas - combine cada entrada da RelOne com cada entrada de RelTwo. que lhe dará linhas N * M (aqui: 5 * 6 = 30).
- Coloque uma fórmula em cada um desses produtos cruzados que verifique se as chaves correspondem
- Você obterá uma tabela longa com N * M linhas e uma segunda coluna que contenha VERDADEIRO ou FALSO, dependendo se as chaves corresponderem
- Classifique e descarte tudo FALSE.
Para a execução prática, coloque as fórmulas nas linhas N * M e use ROW()%N
e INT(ROW()/N)
para gerar os índices nas duas tabelas - essas duas serão iteradas em todas as combinações N * M. O resto deve ser direto se você entender o que eu descrevo, e você conhece o seu caminho com fórmulas.