Estou construindo uma pasta de trabalho (planilha) que contém planilhas rotuladas por mês; por exemplo, "12 de janeiro", "12 de dezembro" e assim por diante. Preciso que VLOOKUP seja capaz de alterar sua aparência com base no nome de qualquer planilha, sem precisar alterar a fórmula todas as vezes. Encontrei esta resposta e funciona muito bem para VLOOKUPs que estão em pastas de trabalho diferentes que eu também tenho, mas não consigo fazê-la funcionar na mesma pasta de trabalho.
=VLOOKUP(A1, INDIRECT(CONCATENATE("'[Datafile.xlsx]",B1,"'!$A1:F500")), 3, False)
Responder1
Em primeiro lugar,
CONCATENATE(
Coisa 1,
coisa 2,
coisa 3)
pode ser abreviado
Coisa 1
&
coisa 2&
coisa 3
Eles têm o mesmo significado, mas a segunda forma (obviamente) ocupa menos espaço, então algumas pessoas podem achar mais fácil de ler.
Sua pergunta parece um pouco vaga – você não disse quando deseja fazer referência à mesma pasta de trabalho e quando deseja acessar uma pasta diferente. Então preencha o espaço em branco. E como você parece ter a VLOOKUP
parte funcionando, a questão se resume à parte de referência. Em outras palavras, como adaptar
INDIRECT(CONCATENATE("'[Datafile.xlsx]", B1, "'!$A1:F500"))
que podemos abreviar para
INDIRECT("'[Datafile.xlsx]" & B1 & "'!$A1:F500")
Então tente
INDIRECT("'" & IF(
doença, "", "[Datafile.xlsx]") & B1 & "'!$A1:F500")
ondedoençaé 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 colchetes)ou não, depois o nome da planilha (presumo que seja isso B1
), uma segunda citação, um ponto de exclamação e o intervalo de células.