ÍNDICE + CORRESP: O PROCV TURBO

A Função PROCV é uma das mais conhecidas no Excel e é seguro dizer que sem ela o Excel desceria vários níveis na cadeia de importância mundial. Quem nunca precisou? Mas ela tem uma limitação importante, que é o fato de somente conseguir PROCurar algo se o argumento que você estiver buscando estiver na primeira coluna à esquerda de onde você está inserindo a fórmula do Proc-V.  Isto pode trazer problemas se você tiver uma tabela de dados já formatada ou gerada previamente, onde as colunas com os dados que você está procurando estiverem em outras posições, mas isso é fácil contornar na maioria das vezes. O  fator limitador mais proeminente é o desempenho: Já trabalhei com planilhas que possuíam milhares de linhas que buscavam via procv dados em outras planilhas e que demoravam um tempo absurdo para abrir.

Mas felizmente o Excel tem outras funções que se utilizadas em conjunto, podem trazer um desempenho infinitamente melhor e sem limitações. É o que vamos explicar neste artigo, onde você aprenderá a usar com maestria um arranjo feito com as funções ÍNDICE e CORRESP. Vamos passo a passo para que você possa utilizar isso sem mistérios.

Vamos começar relembrando o PROCV, depois entendendo isoladamente cada função, para no final juntarmos tudo e fazer a coisa acontecer.

PROCV

Para relembrar, veja abaixo a sintaxe do PROCV:

IndiceCoresp01.png

Onde:

Valor_procurado: Este argumento é o valor ou “chave” que estamos procurando em uma tabela ou “matriz-tabela”. Não necessariamente queremos ver este valor, mas este valor é uma referência ou valor-chave, que deve estar nas duas tabelas de dados que você está trabalhando. Mais adiante isso fica mais claro.

Matriz_tabela: Uma matriz ou tabela nada mais é do que o intervalo de células no qual o procv irá buscar o “valor_procurado” que desejamos. Quando você determina uma “matriz-tabela” o Excel passa a considerar as colunas da sua matriz como índices. Assim, se você informar que a sua matriz tabela vai das colunas D até F, por exemplo, o Excel vai entender que: “D” é a coluna 1 da sua matriz, “E” é a coluna 2 e “F” é a 3. Portanto, sua matriz-tabela tem “x” linhas por 3 colunas ou 3 “índices”.

Núm_índice_coluna: Trata-se do índice da coluna da matriz-tabela da qual traremos um dado qualquer que desejamos, contando sempre a partir da primeira coluna da nossa matriz_tabela (no caso do PROCV, a primeira coluna de uma matriz-tabela sempre deverá conter o “Valor_Procurado”, se não for assim, a fórmula vai retornar um erro “#N/D”. É uma limitação do PROCV, que citamos na introdução deste artigo. O valor_procurado é o primeiro argumento da função, conforme explicado mais acima. Após o PROCV encontrar o valor_procurado (que estará em uma linha qualquer), vamos dizer de qual coluna (índice) queremos extrair o dado que buscamos.

[Procurar_intervalo]: Aqui indicaremos se essa função irá realizar buscas se baseando em um valor exato (FALSO), que precisa combinar exatamente com o argumento Valor_procurado, ou irá se será em um valor aproximado (VERDADEIRO). Sempre use FALSO, em todos estes anos de Excel, nunca usei o argumento VERDADEIRO.

Vamos ver um exemplo prático do PROCV, assim as coisas devem ficar mais claras: Imagine uma tabela de dados com 2 colunas como esta abaixo, que está nas colunas J e K (esta tabela poderia ter milhares de linhas, e aí que surge a importância de você saber fazer o PROCV!)

IndiceCoresp02.png

Agora temos uma outra tabela (que poderia muito bem estar em outra aba ou até mesmo em outra planilha), onde temos apenas o código como “chave” ou referência, que aqui neste exemplo está nas colunas M e N. Note que o valor procurado, que é o código do produto, existe nas duas tabelas.

Agora o problema: Queremos que o Excel faça uma busca na nossa tabela de dados (ou matriz-tabela) que vai de J a K, e ao encontrar o código do produto que estamos procurando, nos mostre qual a quantidade vendida deste produto (que está na coluna K da nossa “Matriz-tabela”.

Temos então uma tabela de dados entre as colunas M e N, onde o “valor_procurado” é o código do produto (que está na coluna M). Para resolver isso, vamos colocar os argumentos na função PROCV, que foi digitada na célula N2:

IndiceCoresp03.png

Então, perceba que M2 é a nossa “chave”, nossa referência ou “valor_procurado”. “J:K” é nossa matriz tabela, onde nosso valor de referência pode ser encontrado na primeira coluna mas em uma linha qualquer, e 2 é o índice, ou seja quando a função encontrar o valor_procurado, queremos que o Excel mostre o dado que está na segunda coluna (índice 2) da matriz tabela. Veja como o Excel mostra isso na própria fórmula:

IndiceCoresp01.png

IMPORTANTE:  O PROCV e qualquer outra função de busca no excel, sempre vai mostrar o primeiro valor que encontrar. Se na sua matriz-tabela existirem “valores procurados” repetidos, poderão ocorrer inconsistências nas informações que você está buscando, pois o excel faz a busca verticalmente e se encontrar o valor, ele considera que encontrou e não vai avisar você que existem mais valores idênticos. Via de regra, uma matriz-tabela deve conter valores-chave únicos, mas isso depende do que você está buscando, claro.  Então o primeiro passo para você ter sucesso com esta função é ter uma matriz-tabela consistente. Se for preciso, trate os dados repetidos antes.

Até aí tudo bem certo? Se você conseguiu entender os conceitos desta função (essencialmente matriz tabela e índice) não terá problemas para conseguir entender o restante deste artigo. Vamos adiante que ainda tem mais emoção!

Função CORRESP

Esta função procura o valor que corresponde ao seu critério de busca em uma coluna e mostra em qual linha está este valor.  Veja a Sintaxe:

CORRESP(valor_procurado; matriz_procurada; [tipo_correspondência])

  • valor_procurado → O valor que você está procurando.
  • matriz_procurada → A coluna onde o valor_procurado pode ser encontrado (aqui é “A” coluna, você só pode informar uma coluna, e sempre será a coluna que contém o valor que você está buscando). Se fizer uma matriz com duas colunas a fórmula retornará um erro “#N/D”.
  • [tipo_correspondência] → Argumento opcional. Aqui indicaremos se essa função irá realizar buscas se baseando num valor exato “0” de acordo com o argumento “Valor_procurado”, ou irá se será em um valor aproximado “1”, quase igual ao ProcV.

Simples não né? Resumindo, esta função apenas nos trará o número da linha que se encontra o valor que você está procurando. Se desejar, recomendo fazer alguns testes em qualquer planilha que você tenha a mão para ficar mais claro. NOTA: Leia a observação IMPORTANTE mais acima, onde explico sobre o PROCV, a mesma regra sobre valores repetidos se aplica aqui.

Função ÍNDICE

Esta é a segunda parte da nossa “fórmula mágica”. A função “ÍNDICE” retorna o CONTEÚDO de uma célula baseando-se em uma referência de linha e coluna. O Leitor mais perspicaz já percebeu onde vamos chegar. Vejamos a sintaxe desta função:

ÍNDICE(matriz; núm_linha; [núm_coluna])

  • matriz → área onde estão os dados procurados, igual a matriz-tabela do PROCV.
  • núm_linha → o número da linha onde está o dado que você está buscando.
  • [núm_coluna] → o número da coluna onde está o dado que você está buscando, igual ao argumento “Índice” do PROCV.

Também recomendo você fazer algumas experiências somente com esta função para que as coisas fiquem mais claras. Exemplo: Se você digitar: =ÍNDICE(A:F;4;2) a função vai mostrar qual dado está na linha 4, na segunda coluna da matriz-tabela A:F. Ou seja, mostrará o conteúdo da célula “B4”.

ÍNDICE + CORRESP

Agora a coisa fica mais interessante e finalmente vamos atingir o objetivo deste artigo. O que faremos aqui é simplesmente utilizar a função CORRESP dentro da função ÍNDICE como se a função CORRESP fosse o argumento núm_linha da função ÍNDICE. Sendo assim, indicaremos para a função ÍNDICE:

  • Qual a matriz onde estão nossos dados;
  • A função CORRESP no indicará qual a linha onde os dados estão;
  • Informaremos manualmente de qual coluna da nossa matriz queremos o dado, quase igual ao argumento “Núm_índice_coluna” do PROCV.

Abra agora a planilha de exemplo e veja a lógica funcionando.  No exemplo, temos uma pequena tabela, onde se encontra uma listagem de códigos de produto. Com base neste código, quero que a função encontre o código na minha tabela de dados e retorne a quantidade vendida.

IndiceCoresp04.png

Repare que na base de dados da planilha, o código está no meio da “matriz-tabela”. Se eu quisesse por exemplo que a formula retornasse o país, que está à esquerda da coluna onde estão os códigos, seria impossível utilizar o Proc-V.

Veja a explicação da fórmula:

IndiceCoresp05.png

Repare aqui que estamos usando a função CORRESP para informar à função ÍNDICE em qual linha está o valor que estamos procurando. A sintaxe é bem parecida com o PROCV, a diferença aqui é que dentro da função CORRESP você precisa indicar em qual a coluna da matriz tabela o código do produto pode ser encontrado. Genial, não é?

Clique aqui para baixar a planilha de exemplo e faça alguns testes. Depois de aprender a usar este arranjo de funções, você não vai mais querer usar PROC-V, posso garantir.

Grande Abraço!

Esse post foi publicado em Sem categoria e marcado , , , , , , , , , , . Guardar link permanente.

Deixe um comentário