Aqui está uma solução pura do Excel sem VBA. Ele funciona usando uma função INDEX para reduzir as linhas e as colunas dos dados SQL até que os valores sejam esgotados e uma condição de erro resulte. Uma função IFERROR captura o erro e usa uma segunda função INDEX para reduzir as linhas e as colunas dos dados inseridos manualmente, novamente até que esses valores sejam esgotados e uma condição de erro resulte. Uma segunda função IFERROR detecta o erro e retorna um traço ("-"). (Os dados SQL devem ser atualizados através da Faixa de Opções para as fórmulas produzirem um resultado correto.)
Crie um intervalo nomeado dinâmico SQLDB para os dados SQL na Planilha1 usando a fórmula:
=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,COUNTA(Sheet1!$1:$1))
Crie um segundo intervalo nomeado dinâmico EXCELRNG para os dados inseridos manualmente na Planilha2 usando a fórmula:
=OFFSET(Sheet2!$A$1,1,0,COUNTA(Sheet2!$A:$A)-1,COUNTA(Sheet2!$1:$1))
Ambos os intervalos nomeados assumem que os nomes das variáveis são inseridos na linha 1 de cada uma das duas planilhas.
Digite os nomes das variáveis na linha 1 de Sheet3 (começando na célula A1).
Digite a seguinte fórmula Na célula A2 da Planilha3:
=IFERROR(INDEX(SQLDB,ROWS(A$2:A2),COLUMN(A2)),IFERROR(INDEX(EXCELRNG,ROWS(A$2:A2)-ROWS(SQLDB),COLUMN(A2)),"-"))
Copie a fórmula nas colunas de nomes de variáveis e, em seguida, percorra as linhas até que os resultados das fórmulas sejam todos os traços ("-").
É possível, como próximo passo, criar uma Tabela Dinâmica em outra planilha para análise e organização.
Novamente, o primeiro passo seria criar um intervalo com nome dinâmico, por exemplo, RESULTRNG, inserindo a seguinte fórmula na caixa de entrada Gerenciador de nomes para o intervalo nomeado:
=OFFSET(Sheet3!$A$1,0,0,COUNTA(Sheet1!$A:$A)+COUNTA(Sheet2!$A:$A)-1,COUNTA(Sheet1!$1:$1))
Em seguida, crie uma Tabela Dinâmica em uma nova planilha, definindo RESULTRNG como a tabela que você deseja analisar. Isso filtrará todos os traços à direita da tabela de fórmulas na Planilha3.
Isso funciona porque a fórmula RESULTRNG conta o número total de linhas na Planilha1 e Planilha2 (excluindo o cabeçalho na Planilha2) e o número total de colunas na Planilha1 e define sua extensão com base nessas contagens, excluindo quaisquer traços em qualquer linhas à direita (ou colunas) na tabela de fórmulas Sheet3.