Estou usando o Excel (Microsoft 365) e tenho duas tabelas com estrutura idêntica, cada uma em sua própria planilha. Essas duas planilhas estão na mesma pasta de trabalho. A primeira planilha e a tabela que ela contém são nomeadas Table_A
. A segunda planilha e a tabela que ela contém são nomeadas Table_B
. Ambas as tabelas possuem campos Field_A
, Field_B
, Field_C
. Dentro de cada tabela, Field_A
tem um valor único para cada linha (ou seja, pode ser considerada uma chave primária na linguagem do banco de dados).
Eu tenho uma terceira planilha chamada Join
. Esta planilha está na mesma pasta de trabalho das duas primeiras planilhas descritas acima. Nesta planilha, gostaria de criar uma tabela nomeada Join
que seja preenchida com os dados que obteria com a seguinte instrução T-SQL se estivesse usando o SQL Server em vez do Excel:
SELECT Table_A.Field_A, Table_A.Field_B, Table_B.Field_B, Table_A.Field_C, Table_B.Field_C
FROM Table_A INNER JOIN Table_B
ON Table_A.Field_A = Table_B.Field_A;
Como posso fazer isso na minha pasta de trabalho do Excel? Observe que, como tudo isso é autocontido em uma única pasta de trabalho, gostaria de evitar quaisquer referências de nome de arquivo como fontes de dados.
Power Query é a ferramenta que você está procurando aqui.
Digamos que esses sejam nossos dados. Para maior clareza, nomeei as colunas na Tabela 2 D e E em vez de repetir B e C.
Tabela 1
Tabela2 :
Primeiro, clique com o botão direito do mouse em Table1 e selecione Get Data from Table/Range .
A janela do Editor do Power Query será aberta e mostrará sua nova fonte de dados chamada Table1 .
No canto superior esquerdo, clique no botão de seta para baixo em Fechar e carregar e escolha a opção Fechar e carregar para.... Na próxima caixa, selecione Only Create Connection e clique em OK .
O editor será fechado e o painel Consultas e conexões deverá aparecer à direita. Agora vamos adicionar Table2, clicando com o botão direito do mouse e selecionando Get Data from Table/Range .
O Editor do Power Query será aberto novamente. No lado esquerdo há um painel chamado Consultas. Clique com o botão direito no espaço abaixo de Table2 e selecione New Query > Combine > Merge Queries as New .
Agora você pode configurar a junção como quiser - neste caso, selecione Table1 , depois Table2 , clique para selecionar a coluna Field1A, depois a coluna Field2A e, finalmente, no menu suspenso, selecione o tipo de junção Inner (somente linhas correspondentes) . Clique em OK .
Você verá uma nova fonte de dados aparecer no Power Query chamada Merge1 . À direita, você verá a Tabela2 mostrada como uma coluna, mas as colunas não serão expandidas - você precisa clicar no botão de expansão para fazer isso. Você pode optar por não mostrar o campo de junção novamente se não quiser.
Agora, no canto superior esquerdo, clique no botão Fechar e carregar e a tabela de junção aparecerá como uma nova planilha em sua pasta de trabalho. As alterações feitas em Table1 e Table2 só serão propagadas quando você clicar para atualizar seu novo Table_Merge1 .