Como o nome de tabela usado pode ser determinado dinamicamente no Excel?

2

Eu estou querendo ter um VLOOKUP onde a tabela que eu uso é determinada dinamicamente .... por exemplo:

If I have tables named Rnd_1, Rnd_2, Rnd_3...

Eu quero ser capaz de escolher qual tabela o VLOOKUP usará com base no número ...

I have tried =VLOOKUP("value",CONCATENATE("Rnd_"+A1),2,FALSE) where A1 has a valid numeric value.
Isso não funcionaria.

I also tried =VLOOKUP("value",INDIRECT(CONCATENATE("Rnd_"+A1)),2,FALSE)
Isso também não funcionaria.

Como o tablename pode ser determinado dinamicamente?

Obrigado!

    
por George 09.07.2015 / 18:40

1 resposta

1

Tanto Engineer Toast quanto Byron Wall deram a resposta correta. A função concatenate() seria concatenate("Rnd_", $A$1) ou você poderia simplesmente fazer esse argumento "Rnd_"&$A$1

Eu adicionaria uma coisa. Se você deixar A1 como está, ele será tratado como uma referência relativa. Isso significa que quando você copia e cola a fórmula, ela se refere à célula na nova posição em relação ao local em que estava na posição antiga. Para manter o ponto da fórmula em A1 , você precisa usar $, então $A$1 . Você também pode nomear a célula onde deseja pegar o valor e fazer isso "Rnd_"&ValName , assim a referência sempre aponta para aquela célula ... Isto é, se você não quer que ela seja relativa.

Uma última dica. Se você tem um conjunto de dados muito grande, deseja manter as coisas o mais simples possível, pois isso reduzirá a sobrecarga. Faça uma célula de concatenação ao lado de sua célula dinâmica, diga B1 e torne ="Rnd_"&$A$1 e então o argumento vlookup aponte para B1 , caso contrário você pode ter o Excel chamando a função de concatenação milhares de vezes quando não precisa, diminuindo a execução de seus cálculos.

    
por 10.07.2015 / 04:57