Acredito que cheguei perto de responder sua pergunta, mas ainda precisaria de alguns ajustes. Ele usa o Microsoft Query para consultar a pasta de trabalho da pasta de trabalho. Isso permite que você execute SQL nas planilhas e realize cálculos muito mais complexos que o VLOOKUP.
Agora, para as etapas.
1. Na faixa de opções, na guia Dados, na seção Obter dados externos, clique em “De outras fontes” e selecione “Do Microsoft Query”
2. Selecione “Arquivos do Excel”
3.EmSelecionarpastadetrabalho,navegueatésuapágina.AlteretambémparaTodososArquivos,poiselesnãoatualizaramocódigoparaasnovasextensõesdearquivo.
4. Em seguida, selecione as planilhas das quais deseja consultar. Não se preocupe se ocorrer um erro, contanto que você chegue ao editor do Microsoft Query conforme mostrado abaixo.
Agora,nesteponto,vocêpodecomeçaracriaressaconsultacomofarianoAccessoupodealternarparaaexibiçãoSQLegravaraconsulta.ÉessebotãoSQLnaimagemacima.Oeditoréumadroga,entãocopieecolenoSSMSouN++.Quandoterminar,aperteobotão"door exit", chamado "return data".
Para o problema apresentado, aqui está o SQL:
SELECT 'S1'.DATES , 'S1'.NAMES , MAX('LS'.DATES)
FROM 'C:\Admin\StackExchange\vlookup multiple results.xlsx'.'Sheet1$' 'S1'
LEFT OUTER JOIN 'C:\Admin\StackExchange\vlookup multiple results.xlsx'.'LargerSheet$' 'LS'
ON 'S1'.NAMES = 'LS'.NAMES
WHERE ('S1'.DATES - 'LS'.DATES) > -3 and ('S1'.DATES - 'LS'.DATES) < 3
group by 'S1'.DATES, 'S1'.NAMES
Adicione os dados a uma nova planilha para obter os seguintes resultados:
Por algum motivo, a linha 2 parece não corresponder à consulta, pois, na verdade, ela é de 75 horas, mas neste ponto, escrevo isso para algum problema com a conversão de data e hora do Excel para SQL (MS Query) e de volta.
P.S., esta resposta também foi postada no meu blog, no caso de alguém achar que copiei sem atribuição. Eu só não queria ser marcado por ligar para o meu próprio blog. Você pode vinculá-lo se encontrá-lo.