Crie uma lista nomeada
- Primeiro, classifique sua Tabela1 por ID
- Crie um intervalo nomeado com o nome
listlookup
(ou qualquer outro). - Coloque esta fórmula no
listlookup
=OFFSET(INDIRECT(CELL("address", INDEX($B$2:$B$5, MATCH($C1, $A$2:$A$5, 0)))), 0, 0, COUNTIF($A$2:$A$5, $C1), 1)
ID | Items | lookup_value_here | dropdown_list_here
1 | ItemXY
1 | ItemXYZ
2 | ItemZ
2 | ItemZZ
- Crie a lista suspensa e consulte a lista para
listlookup
Explicação
INDEX($B$2:$B$5, MATCH($C1, $A$2:$A$5, 0))
encontra a primeira célula que possui o lookup_value
CELL( ... )
retorna a string referente à célula (por exemplo: $B$2
para lookup_value
1)
INDIRECT( ... )
converte a referência de string para referência de célula
OFFSET( ... , 0, 0, ... , 1)
retorna o intervalo da pesquisa (por exemplo: B2:B3
para lookup_value
1)
COUNTIF( ... )
retorna o número de dados que correspondem ao lookup_value
Isso é divertido, porque eu me deparei com esse problema no passado e não consigo resolvê-lo.