Uma entrada de array pode ser usada no nome da folha do intervalo do vlookup?

0

Eu tenho uma fórmula que funciona, mas é absurdamente longa, mas repete os dados principais várias vezes.

Minha planilha contém 70 páginas descrevendo conjuntos de cartões. A página em que estou trabalhando me fornece um resumo específico usando o identificador de cartão (em A3) como o índice. Mais especificamente, quero o preço mínimo de um cartão pelo identificador que pode aparecer em qualquer um dos conjuntos. Todos os conjuntos têm menos de 500 cartões (portanto, o intervalo de pesquisa é B3: I500)

Os nomes não seguem um padrão, apesar da simplificação que fiz aqui, mas estão listados em uma linha G2: Z2 (obviamente incompleta no momento)

=MIN(
    IFERROR(VLOOKUP($A3,Set1!$B$3:$I$500,6,FALSE),99999),
    IFERROR(VLOOKUP($A3,Set2!$B$3:$I$500,6,FALSE),99999),
    IFERROR(VLOOKUP($A3,Set3!$B$3:$I$500,6,FALSE),99999), ...

[o padrão se repete para os outros conjuntos ...]

Eu uso o INDIRECT em outra parte da planilha e a notação de array novamente em outro lugar.

VLOOKUP($A3,INDIRECT("'"&M$2&"'!$B$3:$I$516"),6,FALSE)

Eu não quero mesclar as páginas (o que eu admito simplificaria as coisas tremendamente em alguns aspectos).

Existe uma maneira de simplificar essa expressão grande em uma menor que atinja o mesmo objetivo (e esperamos que evite mais edições à medida que eu adiciono o resto dos dados)?

Eu estava tentando fazer algo funcionar com o indireto, o vlookup e o array, mas sempre recebo erros de #VALUE, provavelmente devido à falta de sintaxe.

Eu não estou procurando por uma solução de VBA, nem a resposta direta "converta-a a um banco de dados", mas qualquer ajuda é apreciada.

    
por Stephen 23.09.2011 / 17:12

2 respostas

0

Para responder à pergunta no título: Infelizmente, você não pode usar referências 3D com o VLOOKUP, seja como referência de origem ou como valor de pesquisa. Mais informações aqui: link

Sua fórmula parece simplificada o suficiente, embora seja bastante longa. No entanto, se sua pasta de trabalho for maior, sugiro usar INDEX/MATCH em vez de VLOOKUP para cálculos mais rápidos.

    
por 27.09.2011 / 16:19
1

Você pode colocar as pesquisas nas Set# sheets.
Se sua fórmula está na planilha chamada Summary :
Coloque uma fórmula na célula I1 em cada Set sheet

=IFERROR(VLOOKUP(Summary!A3,$B$3:$I$500,6,FALSE),99999)

e, em seguida, em Summary sheet put

=MIN('Set1:Set70'!I1:I1)

Presume que as folhas Set estão agrupadas (ou seja, não há outras folhas entre elas)

    
por 24.09.2011 / 06:33