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.