Cruzamento Relacional de Dados
Uma das tarefas mais frequentes no Excel consiste em relacionar tabelas:
- A partir de um Código de Artigo, obter o Nome do Produto e o Preço.
- A partir de um NIF, obter o Nome da Empresa e a Morada.
- A partir de um Mês e Departamento, localizar a despesa orçamentada numa grelha bidimensional.
Vamos analisar em detalhe as 4 funções de pesquisa essenciais do Microsoft Excel.
1. PROCV (VLOOKUP): Pesquisa Vertical
O PROCV pesquisa um valor na primeira coluna à esquerda de uma tabela e devolve a informação correspondente de uma coluna à sua direita:
=PROCV(valor_procurado; matriz_tabela; núm_índice_coluna; [procurar_intervalo])
Exemplo Prático: Consulta de Preços
Temos a seguinte tabela de catálogo no intervalo F2:H10:
- Coluna 1 (F): Código (
"PRD-01","PRD-02", …) - Coluna 2 (G): Descrição (
"Teclado","Rato", …) - Coluna 3 (H): Preço (
45,00 €,25,00 €, …)
Na nossa folha de encomendas, o utilizador digita o código na célula A2:
// Para obter a Descrição do produto:
=PROCV(A2; $F$2:$H$10; 2; FALSO)
// Para obter o Preço do produto:
=PROCV(A2; $F$2:$H$10; 3; FALSO)
[!CAUTION] O Quarto Argumento (
FALSOou0): Coloque sempreFALSO(ou0) no quarto argumento para exigir correspondência exata. Caso omita este argumento, o Excel assume busca aproximada, podendo trazer dados incorretos se a tabela não estiver perfeitamente ordenada alfabeticamente.
2. PROCH (HLOOKUP): Pesquisa Horizontal
Enquanto a maioria das tabelas cresce de cima para baixo (vertical), algumas tabelas financeiras ou de orçamentos são desenhadas na horizontal, onde os cabeçalhos estão nas colunas e os dados distribuem-se pelas linhas.
O PROCH pesquisa um valor na primeira linha do topo e devolve a informação de uma linha situada abaixo:
=PROCH(valor_procurado; matriz_tabela; núm_índice_linha; [procurar_intervalo])
Exemplo Prático: Tabela de Descontos por Escalão de Quantidade
Imagine a seguinte tabela no intervalo A1:E2:
- Linha 1 (Cabeçalho):
Qtd: 10 | 25 | 50 | 100 | 250 - Linha 2 (Desconto):
Desc: 5% | 10% | 15% | 20% | 25%
Se o cliente comprou 50 unidades (valor na célula A5):
=PROCH(A5; $A$1:$E$2; 2; FALSO) // Devolve 15%
3. CORRESP (MATCH): Localizador de Posição Relativa
A função CORRESP não traz o conteúdo de outra coluna: o seu único objetivo é descobrir em que número de linha ou coluna se encontra um elemento:
=CORRESP(valor_procurado; matriz_procurada; [tipo_correspondência])
tipo_correspondência = 0: Procura correspondência exata.
Exemplo:
Numa lista de vendedores em A2:A6 contendo {"Ana", "Bruno", "Carlos", "Diana", "Eduardo"}:
=CORRESP("Carlos"; A2:A6; 0) // Devolve 3 (Carlos é o 3º elemento da lista)
4. ÍNDICE (INDEX): O Extrator Bidimensional
A função ÍNDICE faz o caminho inverso: fornecendo uma matriz, um número de linha e opcionalmente um número de coluna, ela extrai exatamente o valor dessa interseção:
=ÍNDICE(matriz; núm_linha; [núm_coluna])
Exemplo:
Numa matriz B2:D6:
=ÍNDICE(B2:D6; 3; 2) // Devolve o valor da 3ª linha e 2ª coluna da matriz
5. A Dupla Imbatível: ÍNDICE + CORRESP
Porque é que analistas experientes de Excel preferem frequentemente ÍNDICE + CORRESP em vez de PROCV?
- Pesquisa para a esquerda: O
PROCVsó consegue procurar para a direita. Se a chave estiver na coluna C e quiser o dado da coluna A, oPROCVfalha.ÍNDICE + CORRESPpesquisa para qualquer direção! - Imune a colunas inseridas: Se alguém inserir uma nova coluna no meio da tabela, o número estático do
PROCVfica desalinhado. OÍNDICE + CORRESPajusta-se automaticamente.
A Fórmula Mestra:
=ÍNDICE(coluna_de_retorno; CORRESP(chave_pesquisada; coluna_de_pesquisa; 0))
Exemplo: Obter o Nome do Colaborador a partir do NIF
- NIF procurado na célula
A2. - Coluna dos NIFs em
$C$2:$C$100. - Coluna dos Nomes em
$A$2:$A$100(à esquerda do NIF!):
=ÍNDICE($A$2:$A$100; CORRESP(A2; $C$2:$C$100; 0))
Comparativo Final das Funções de Pesquisa
| Função | Orientação | Sentido de Procura | Flexibilidade a Mudanças |
|---|---|---|---|
PROCV |
Vertical | Apenas para a direita | Média (quebra se inserir colunas) |
PROCH |
Horizontal | Apenas para baixo | Média (quebra se inserir linhas) |
ÍNDICE + CORRESP |
Bidimensional | Qualquer direção (360º) | Alta (robusto e profissional) |
Na Aula 09, vamos fechar a formação com as Funções de Base de Dados no Excel, aprendendo a manipular grandes listas estruturadas com critérios avançados (BDSOMA, BDMÉDIA, BDOBTER e muito mais)!