PROCV REVERSO (PROCRE)
Olá leitor, Esses dias eu fiz um post sobre a função PROCV e salientei no final que ela funciona apenas para dados a frente da busca e nunca antes da busca. Por exemplo se eu quiser pesquisar um dados da coluna B e este dado esta na coluna A, a formula PROCV ira retornar erro, pois ela só buscar dados a partir da coluna B em diante (C, D, E..)
Exemplo:
Considerando a base de dados abaixo:
Caso eu quisesse fazer uma busca conforme segue abaixo utilizando a formula =PROCV(D2;B2:A8;2;0):
Retornaria erro, primeiro poque o intervalo de busca B2:A8 está de reverso e não funciona para buscas matrizes, posteriormente que mesmo que fosse utilizado A2:B8, mesmo assim retornaria erro pois o dado necessario tanto para busca quanto para retorno não seria encontrado.
E Agora? Como resolver esse problemão?
Preste atenção que vou mostar a chave para o sucesso do PROC reverso e salvar suas vidas nas buscas reversas de suas planilhas!
O que vamos fazer aqui é utilizar duas funções em conjunto. A primeira é INDICE e a segunda é CORRESP.
A função CORRESP (match, em inglês)
Esta é uma função simples que retorna a posição de um item dentro de uma lista.
Imagine a nossa lista. A posição do nome João nesta lista é 1, a da Maria é 2, e assim por diante. É exatamente isto o que o CORRESP faz: a partir de um item e uma lista, ele diz em que posição este item está.
A sintaxe do CORRESP é:
=CORRESP(ITEM;LISTA;TIPO DE PESQUISA)
Onde:
ITEM: é o que a função irá procurar na lista. Se fôssemos utilizar o exemplo acima, o item seria a célula E8.
LISTA: é o intervalo onde os itens aparecem. No nosso caso, são os produtos (área de B8 até B13).
TIPO DE PESQUISA: representa a forma pela qual queremos que o CORRESP pesquise na lista e pode ter os seguintes valores:
0 (zero): ele buscará exatamente o item na lista, e se ele não existir, a função retornará erro.
1 (um): ele pesquisará o item mais próximo do que procuramos na lista, que precisará estar em ordem alfabética crescente.
-1 (menos um): ele pesquisará o item mais próximo do que procuramos na lista, que precisará estar em ordem alfabética decrescente.
Como preciso encontrar o nome exato, vamos usar o zero.
A resposta seria 1, pois o João é o primeiro da lista.
Mas ainda falta a outra parte da formula, a junção da função INDICE ao conjunto.
A função ÍNDICE (index, em inglês)
A função ÍNDICE faz o inverso do CORRESP. Enquanto que o CORRESP diz em que posição algum item está, o ÍNDICE busca determinado item da tabela.
Por exemplo, se eu quisesse trazer a Maria, eu “diria” para o ÍNDICE trazer o 2º item da lista que começa no nome A.
Sua sintaxe é:
=ÍNDICE(LISTA; NÚMERO DA LINHA;NÚMERO DA COLUNA)
No nosso exemplo, não precisamos determinar a coluna, pois teremos apenas uma coluna para pesquisa – o código.
Como o CORRESP disse que o produto D estava na 4ª posição da lista, agora vamos fazer o índice pegar o 4º item da lista de códigos.
E a resposta seria (11) 99999-9999 (o TELEFONE do NOME, que está na 1ª posição da lista).
Para economizarmos espaço, vamos juntar essas duas funções em uma célula apenas (o chamado aninhamento).
Colocamos a função na célula G2, e ela ficaria assim:
=ÍNDICE(A2:A8;CORRESP(F2;B2:B8;0))
Agora, sempre que alterarmos o NOME, ele trará o TELEFONE, como se fosse um PROCV “reverso”.
Em breve iremos disponibilizar nosso complemento XLTURBO onde inclurá esta função resumida e chamaremos PROCRE, aguardem!
E ai? gostou desta super dica, que tal contribuir pra que empenhamos e trazer sempre mais conhecimento pra você?
Comentários