Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Métodos de procura com vários critérios em matriz

Boa tarde,

Recentemente, estive montando uma tabela e, para organizá-la melhor, fiz subconjuntos dentro das colunas, como vai mostrar a foto. Gostaria de saber se há um meio com alguma forma de procv, proch, etc. Se há como conseguir filtrar exatamente o valor da tabela. A ideia seria colocar os valores referentes a Cor, Gênero e Tamanho para que o Final gere o valor correspondente da planilha.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá Felipe, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Uma alternativa é utilizar as funções CORRESP e ÍNDICE para encontrar essa busca bidirecional. A função CORRESP é utilizada para localizar em qual posição de um intervalo está o valor que procuramos, já a função ÍNDICE retorna o valor presente em uma matriz a partir do número de linha e coluna que informamos o valor a ser buscado.

Analisando a planilha que você mostrou, uma sugestão para amenizar a complexidade da fórmula que iremos utilizar, é reorganizá-la de forma que o "Gênero" e o "Tamanho" fiquem na mesma linha, como demonstrado na imagem abaixo:

Imagem contendo a apresentação de uma tabela que relaciona cores de tênis ao tamanho

Após reorganizar os dados, na célula "Final" podemos adicionar a seguinte fórmula:

=ÍNDICE(B2:G6;CORRESP(B9;A2:A6;0);CORRESP(B10;B1:G1;0)) 

Na função acima temos:

  • CORRESP(B9;A2:A6;0): Busca na linha de gênero e tamanho (A2:A6) pela posição do valor informado no campo "GÊNERO - TAMANHO" (B9). O 0 (zero) indica que queremos a correspondência exata.
  • CORRESP(B10;B1:G1;0): Busca na linha de cores (B1:G1) pela posição do valor informado no campo "COR" (B8).
  • =ÍNDICE(B2:G6;CORRESP(B9;A2:A6;0);CORRESP(B10;B1:G1;0)): Busca o valor na matriz B2:G6 com base nos valores retornados pelas funções CORRESP para o número de linha e coluna que o valor deve ser buscado.

No GIF abaixo, apresento o uso da função proposta anteriormente:

GIF exibindo o uso das funções ÍNDICE e CORRESP para localizar um dado em uma matriz

Todavia, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao cenário completo do projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Espero ter ajudado.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!