Eu encontrei isso , que é bem próximo, mas eu não sei VB, então estou tentando fazer isso com uma fórmula de baunilha.
A primeira planilha tem uma série de tabelas de taxa de desemprego: 1 por estado dos EUA. Cada tabela apresenta dados com ano como rótulo da linha, mês como rótulo da coluna e taxa de desemprego em cada célula. Este é o formato padrão do site do BLS. Eu adicionei uma coluna para cada tabela correspondente à abreviação do estado.
A segunda tabela tem um grande número de incidentes, cada incidente é uma linha. Colunas são vários dados sobre o incidente, incluindo a abreviação do estado e a data. Eu quero fazer um vlookup (ou o que for mais apropriado / eficiente) que puxa o desemprego de estado correspondente para a data apropriada para cada incidente (150k + no total) da primeira planilha.
Acredito que seria necessário reorganizar as tabelas na primeira planilha, de modo que cada combinação mês / ano seja uma linha ou use uma combinação de "correspondência" e "se" e algo semelhante. Um pouco preguiçoso, mas faz anos desde que mexi com muito o Excel, então pensei em começar aqui. Eu realmente aprecio a entrada de qualquer um.
Editar:
Estou tentando aninhar várias pesquisas, que não podem ser a maneira inteligente de fazer isso (fórmula na segunda planilha baseada em incidentes).
Pesquisa mais interna / primeira: use o estado na planilha de incidentes: localize todos os anos aplicáveis na primeira planilha que se aplicam apenas a este estado (estou retornando um intervalo de linhas, depois de pesquisar por linha ??? o estado é uma coluna, como é year. month é uma linha (cabeçalho da primeira coluna).
Pesquisa de meio / segundo: usar ano na planilha de incidentes: localizar dentro do intervalo de anos retornado acima (um subconjunto de linhas), linha exata, contendo mês Jan-Dez (lembre-se de que meses são colunas, ou seja, rótulos de colunas) par de Estado-ano apropriado.
Consulta externa: use mês na planilha de incidentes: encontre dentro do intervalo de meses retornado da segunda consulta, mês exato (nesse ponto, idealmente, seria a taxa de desemprego exata).
Editado em: apenas tentando deixar o mais claro possível:
Folha de trabalho 1) Taxas de desemprego:
State Year Jan Feb Mar Apr etc
AK 1991 3.5 4.3 5 6.1 x
AK 1992 3.1 4.1 x x x
TX 1991 x x x x x
TX 1992 x x x x x
VA 1993 x x x x x
VA 1994 x x x x x
Planilha 2) Incidentes:
Exact Calendar Date Year State xxx xxx etc (unemp rate)
xx/xx/xxxx xxxx xx x x x ?????
xx/xx/xxxx xxxx xx x x x ?????
=hlookup(month(b2),vlookup(c2,(vlookup(av2,[in first worksheet with unemp. rates, all states, in alphabetical order and first column]A2:a1174,[years in worksheet 1 that apply to this state, range is all years, but nested lookup means it will only look at the ones with the correct state abbreviation, right?]b2:b1174),[in the unemp rate worksheet, for the 1 row year/state combination that is returned, search among all months]$c$1:$n$1),*****)
Tentando fornecer notas aqui para tornar o acima mais claro:
b2 = month in incident worksheet (#2 in my original post)
c2 = year in incident worksheet
av2=state abbreviation in incident worksheet
Portanto, esta é uma questão entre muitas. Conceitualmente, neste momento eu queria ter a última busca de função hlookup por mês entre a linha de ano / estado apropriada, e retornar a célula exata que eu queria. Mas, tornou-se tão complicado que não sei como referenciar o último valor retornado.
Obrigado por qualquer ajuda! Deixe-me saber se posso fornecer mais clareza.