Menu

PROCH no Excel (HLOOKUP): busca na horizontal, com exemplos

=PROCH("Mar";A1:E3;2;FALSO) procura Mar na primeira linha de A1:E3 e retorna o valor da segunda linha da mesma coluna. Correspondência exata e aproximada, e quando a PROCX é a melhor escolha.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

=PROCH("Mar";A1:E3;2;FALSO) procura Mar na primeira linha de A1:E3 e retorna o valor da segunda linha da mesma coluna. É o PROCV deitado, para tabelas em que os rótulos correm pelo topo. O PROCH se chama HLOOKUP em inglês, e a tabela mostra a fórmula em inglês, com vírgulas; você também pode digitar as fórmulas em português, com ponto e vírgula.

Vendas de um mês
B6
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4
5MonthMar
6Sales4,800
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =PROCH(B5;A1:E3;2;FALSO)

B6 procura Mar na linha 1, encontra na coluna D e retorna a linha 2 dessa coluna: 4,800. Escolha Apr em B5 para ter 5,100, ou mude o 2 da fórmula para 3 para ver os custos.

Sintaxe do PROCH

=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
  • lookup_value (valor_procurado): o que encontrar na primeira linha da tabela.
  • table_array (matriz_tabela): a tabela. O PROCH só procura na linha de cima dela.
  • row_index_num: qual linha retornar, contando a linha de cima como 1. Um número maior que a altura da tabela dá #REF!; 0 dá #VALOR! (#VALUE! em inglês; a tabela mostra os nomes de erro em inglês).
  • range_lookup (procurar_intervalo): FALSO para correspondência exata. VERDADEIRO ou nada para correspondência aproximada numa linha ordenada.

A busca ignora maiúsculas (mar encontra Mar), e com FALSO o valor procurado pode usar os curingas * e ?. Um valor que não está na primeira linha retorna #N/D (#N/A).

Correspondência aproximada ao longo de uma linha

Com VERDADEIRO, o PROCH encontra o maior cabeçalho menor ou igual ao valor procurado. A primeira linha precisa estar ordenada da esquerda para a direita, em ordem crescente.

Custo do frete por peso
B5
ABCDE
1Weight from (kg)02510
2Cost$4.50$6.00$9.50$14.00
3
4Parcel (kg)7
5Cost$9.50
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =PROCH(B4;B1:E2;2;VERDADEIRO)

7 kg não é um cabeçalho. O maior cabeçalho que não passa disso é 5, então B5 retorna $9.50. Mude B4 para 1,5 para ter $4.50 ou para 12 para ter $14.00. A tabela na fórmula é B1:E2, não A1:E2: ela começa no primeiro peso para que o rótulo de texto em A1 não faça parte da linha ordenada.

PROCX ao longo de uma linha

No Excel 2021 e no Microsoft 365, a PROCX (XLOOKUP em inglês) substitui o PROCH. Ela recebe a linha onde procurar e a linha a retornar como dois intervalos, então não há número de linha para contar, e um intervalo de retorno com várias linhas de altura traz a coluna inteira.

A mesma busca com PROCX
B7
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4Profit1,6001,4001,9002,100
5
6MonthFeb
7Figures3,900
82,500
91,400
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =PROCX(B6;B1:E1;B2:E4)

Uma fórmula em B7 espalha os três números de Feb por B7:B9: 3,900, 2,500 e 1,400. Se B8 ou B9 tivessem alguma coisa, B7 mostraria #DESPEJAR! (#SPILL!). A página da PROCX trata das outras opções dela, como uma mensagem de não encontrado e a última ocorrência.

Girar a tabela: TRANSPOR

Às vezes a melhor solução é uma cópia vertical da tabela. =TRANSPOR(A1:D3) (TRANSPOSE em inglês) retorna as mesmas células com linhas e colunas trocadas, e continua ligada à original. PROCV, FILTRO e gráficos funcionam nela normalmente.

Uma cópia vertical de uma tabela horizontal
A5
ABCD
1MonthJanFebMar
2Sales4,2003,9004,800
3Costs2,6002,5002,900
4
5MonthSalesCosts
6Jan4,2002,600
7Feb3,9002,500
8Mar4,8002,900
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =TRANSPOR(A1:D3)

A5 espalha um bloco de 4 por 3: os meses descendo pela lateral, Sales e Costs no topo. Mude as vendas de Feb em C2 para 4100 e a cópia acompanha. Para uma cópia avulsa, sem fórmula, selecione a tabela, copie e use Página Inicial > Colar > Colar Especial e marque Transpor.

Prática: custos de um mês

Números mensais
B6
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4
5MonthApr
6Costs
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Em B6, use o PROCH para retornar os custos do mês em B5.

Perguntas frequentes

Qual a diferença entre PROCV e PROCH?

O PROCV procura para baixo na primeira coluna de uma tabela e retorna um valor de uma coluna à direita. O PROCH procura ao longo da primeira linha e retorna um valor de uma linha abaixo. Os argumentos são os mesmos, com um índice de linha no lugar do índice de coluna.

O que é o índice da linha no PROCH?

O número da linha a retornar, contado a partir da primeira linha da tabela, que é a linha 1. Em =PROCH("Mar";A1:E3;3;FALSO), o 3 significa a terceira linha de A1:E3. Um número maior que a altura da tabela retorna #REF!.

A PROCX pode substituir o PROCH?

Pode. A PROCX funciona nas duas direções: =PROCX("Mar";B1:E1;B2:E2) procura em uma linha e retorna de outra linha. Ela precisa do Excel 2021 ou do Microsoft 365.

Por que o PROCH retorna #N/D?

O valor procurado não está na primeira linha da tabela: um erro de digitação, um espaço a mais, um número armazenado como texto ou um valor que está em outra linha. Com VERDADEIRO como último argumento, um valor menor que o primeiro cabeçalho também retorna #N/D.

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR