Precisa de VLOOKUP na planilha na mesma pasta de trabalho com base no valor da célula

0

Eu estou construindo uma pasta de trabalho (planilha eletrônica) com planilhas rotuladas por mês; por exemplo, "Jan-12", "Dec-12" e assim por diante. Eu preciso que o VLOOKUP seja capaz de alterar o local em que se baseia com base no nome de qualquer planilha, sem precisar alterar a fórmula todas as vezes. Eu encontrei esta resposta e funciona muito bem para os VLOOKUPs que estão em pastas de trabalho diferentes que eu também tenho, mas não consigo fazê-lo funcionar na mesma pasta de trabalho.

=VLOOKUP(A1, INDIRECT(CONCATENATE("'[Datafile.xlsx]",B1,"'!$A1:F500")), 3, False)
    
por Niles 12.01.2013 / 00:20

1 resposta

1

Primeiro de tudo,

CONCATENATE(thing1, thing2, thing3)

pode ser abreviado

                      thing1 & thing2 & thing3

Eles significam o mesmo, mas a segunda forma (obviamente) ocupa menos espaço, então algumas pessoas podem achar mais fácil ler.

Sua pergunta parece ser um pouco vaga - você não disse quando quis fazer referência à mesma pasta de trabalho e quando deseja acessar uma outra. Então preencha o espaço em branco. E como você parece ter a parte VLOOKUP funcionando, a questão se resume à parte de referência. Em outras palavras, como se adaptar

INDIRECT(CONCATENATE("'[Datafile.xlsx]", B1, "'!$A1:F500"))

que podemos abreviar para

INDIRECT("'[Datafile.xlsx]" & B1 & "'!$A1:F500")

Então, tente

INDIRECT("'" & IF(condition, "", "[Datafile.xlsx]") & B1 & "'!$A1:F500")

onde condição é a condição sob a qual você deseja usar o arquivo atual. Em palavras, concatene uma aspa simples ( ' ), condicionalmente o nome da pasta de trabalho (entre parênteses) ou não , então o nome da planilha (suponho que seja o que está em B1 ), uma segunda citação, um ponto de exclamação e o intervalo de células.

    
por 12.01.2013 / 01:06