PROCV REVERSO (PROCRE)

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ê?

Tags: | | | | |

Comentários