Não precisa ser tão complexo assim. Tomemos por exemplo o seguinte.
- Selecione seus cabeçalhos de coluna e nomeie-os de Entrada1. (Intervalo E1: I1 no exemplo.)
- Selecione seus cabeçalhos de linha e nomeie-os como Entrada2. (Intervalo D2: D4)
- Selecione seus dados e nomeie-os como Dados. (Intervalo E2: I4)
- Use a validação de dados para obter os menus suspensos.
- Selecione a célula B2 e clique em Dados - Validação de dados.
- Definir critérios de validação Permitir para
Liste Origem para=Input1 - Faça o que quiser para Mensagem de entrada e Alerta de erro. (Eu os desliguei)
- Repita para sua segunda entrada. (cell
B3obtém a fonte=Input2)
- Na sua célula de resultados, digite esta fórmula
=INDEX(Data,MATCH(B3,Input2,0),MATCH(B2,Input1,0))
A fórmula funciona da seguinte forma:
MATCH(lookup_value, lookup_array, [match_type])
MATCH é semelhante ao VLOOKUP , exceto que, em vez de retornar um valor de célula / célula, ele retorna a posição relativa de lookup_value dentro do lookup_array . Usá-lo no intervalo Input1 retorna a posição relativa da coluna ao usá-la em Input2 retorna a linha relativa. A configuração de match_type para 0 diz ao Excel para retornar apenas a correspondência exata.
INDEX(reference, row_num, [column_num], [area_num])
INDEX está retornando a célula em Data encontrada na linha referenciada de Input2 e na coluna referenciada em Input1 .
Nota: No Excel 2010 (não tenho certeza sobre versões anteriores), a tabela de dados nem precisa estar na mesma planilha que as células de entrada e de resultados.





