O PROCX no Excel facilita a localização de informações em tabelas, mesmo quando a base possui muitas linhas, colunas reorganizadas ou registros repetidos. Em vez de procurar um código manualmente e acompanhar a linha até encontrar o resultado, você informa um valor de referência e deixa a fórmula retornar o dado relacionado.
Essa função pode ser usada para encontrar preços, nomes, status, departamentos, datas, categorias e outros campos associados a um identificador. Ela também permite buscar valores à esquerda, exibir uma mensagem quando não houver correspondência, pesquisar a última ocorrência e combinar mais de um critério. Neste guia, você verá como montar a fórmula, entender seus argumentos e evitar os erros mais comuns.
O que é o PROCX no Excel e qual problema ele resolve
O PROCX é uma função de pesquisa e referência. Ele procura um valor em uma matriz de pesquisa e retorna o conteúdo que ocupa a posição correspondente em outra matriz. A busca pode ser feita em uma coluna ou em uma linha, de acordo com a estrutura da planilha.
Imagine uma tabela de produtos com código, descrição, categoria e preço. Para descobrir o preço de um produto, seria possível localizar o código manualmente, acompanhar a mesma linha e conferir a coluna de preço. Esse procedimento funciona em uma lista pequena, mas se torna menos prático à medida que novos registros são adicionados.
Com o PROCX, o código pode ser digitado em uma célula de consulta. A fórmula procura esse código na tabela e retorna automaticamente o preço correspondente. Se o código for alterado, o resultado também será atualizado sem que seja necessário procurar outra linha manualmente.
Esse mecanismo ajuda a reduzir erros de associação. O código encontrado na matriz de pesquisa é relacionado à mesma posição na matriz de retorno. Assim, desde que os intervalos estejam corretamente configurados, o preço, o nome ou o status retornado pertence ao registro localizado.
Quando uma fórmula de pesquisa é útil
O PROCX pode ser útil em diversas situações do dia a dia, como:
- consultar o preço de um produto pelo código;
- localizar o nome de uma pessoa por matrícula;
- retornar o status de um pedido ou protocolo;
- buscar a categoria associada a um item;
- encontrar a data de um lançamento;
- retornar o último registro de um histórico;
- criar uma área de consulta alimentada por uma única célula.
A função não substitui a organização da base. Se os códigos estiverem duplicados, com espaços extras ou armazenados em formatos diferentes, o resultado poderá não ser o esperado. Por isso, a qualidade dos dados e o alinhamento dos intervalos continuam sendo importantes.
Como funciona a fórmula PROCX
A estrutura básica da função é:
=PROCX(valor_procurado; matriz_procura; matriz_retorno; [se_não_encontrado]; [modo_correspondência]; [modo_pesquisa])
Em instalações do Excel que usam vírgula como separador de argumentos, a mesma fórmula pode aparecer assim:
=PROCX(valor_procurado, matriz_procura, matriz_retorno, [se_não_encontrado], [modo_correspondência], [modo_pesquisa])
O separador depende das configurações regionais e do idioma da instalação. O nome da função também pode variar em versões localizadas. No Excel em português, a função normalmente aparece como PROCX.
| Argumento | Função | Exemplo |
|---|---|---|
| valor_procurado | Indica o conteúdo que será localizado. | E2 |
| matriz_procura | Define onde o Excel fará a busca. | A2:A10 |
| matriz_retorno | Indica de qual intervalo virá o resultado. | D2:D10 |
| se_não_encontrado | Permite substituir o erro por uma mensagem. | "Código não encontrado" |
| modo_correspondência | Controla se a correspondência será exata, aproximada ou por curingas. | 0 ou 2 |
| modo_pesquisa | Define a ordem da pesquisa. | 1 ou -1 |
Valor procurado
O argumento valor_procurado representa o conteúdo que deverá ser localizado. Ele pode ser uma referência de célula, como E2, ou um valor informado diretamente na fórmula.
=PROCX(E2; A2:A10; D2:D10)
Nesse exemplo, o Excel utiliza o conteúdo de E2 como referência. Usar uma célula costuma ser mais prático, porque a mesma fórmula pode ser reutilizada para consultar vários registros sem precisar ser editada.
Matriz de procura
A matriz_procura é o intervalo em que o Excel tentará localizar o valor. Se os códigos estiverem em A2:A10, esse será o intervalo indicado para a busca.
A matriz pode ser uma coluna, uma linha ou uma faixa compatível com o tipo de pesquisa. Em uma busca vertical, é comum usar intervalos como A2:A100. Em uma busca horizontal, a matriz poderá ser algo como B1:J1.
Matriz de retorno
A matriz_retorno contém o resultado desejado. Se o código for procurado em A2:A10 e o preço estiver em D2:D10, a fórmula usará D2:D10 como matriz de retorno.
A função relaciona as posições dos dois intervalos. O primeiro item encontrado na matriz de procura corresponde ao primeiro item da matriz de retorno; o segundo corresponde ao segundo, e assim por diante. Por isso, os intervalos precisam começar e terminar nas posições equivalentes.
Como fazer PROCX no Excel passo a passo
Uma forma simples de montar a fórmula é dividir o processo em quatro etapas:
- defina qual valor será consultado;
- identifique a coluna ou linha em que esse valor está;
- selecione o intervalo que contém o resultado;
- adicione uma mensagem para o caso de o valor não ser encontrado.
Considere a tabela hipotética abaixo:
| Código | Produto | Categoria | Preço |
|---|---|---|---|
| P-101 | Caderno | Papelaria | 18,90 |
| P-102 | Caneta | Papelaria | 3,50 |
| P-103 | Mochila | Acessórios | 129,90 |
| P-104 | Régua | Papelaria | 6,00 |
| P-105 | Estojo | Acessórios | 24,90 |
Suponha que os códigos estejam em A2:A6, os nomes dos produtos em B2:B6, as categorias em C2:C6 e os preços em D2:D6. Na célula F2, digite P-103.
Para retornar o preço, use:
=PROCX(F2; A2:A6; D2:D6; "Código não encontrado")
O resultado será 129,90. O Excel procura P-103 em A2:A6 e devolve o valor que está na mesma posição em D2:D6.
Para retornar o nome do produto, troque apenas a matriz de retorno:
=PROCX(F2; A2:A6; B2:B6; "Código não encontrado")
Nesse caso, o resultado será Mochila. Para retornar a categoria, use:
=PROCX(F2; A2:A6; C2:C6; "Código não encontrado")
Uma única célula de consulta pode alimentar várias fórmulas. Dessa forma, ao trocar o código em F2, o produto, a categoria e o preço são atualizados de acordo com o novo registro.
Usando uma mensagem para valores não encontrados
Se o valor consultado não existir na matriz de procura, o PROCX poderá retornar #N/D. Para apresentar uma mensagem mais clara, informe o quarto argumento:
=PROCX(F2; A2:A6; D2:D6; "Produto não encontrado")
Se F2 contiver P-999, o resultado será “Produto não encontrado”. Essa mensagem apenas melhora a leitura da planilha; ela não cria um registro nem corrige o cadastro.
Também é possível deixar o resultado vazio:
=PROCX(F2; A2:A6; D2:D6; "")
Essa alternativa pode ser adequada em uma área visual de consulta, mas exige cuidado. Uma célula vazia pode significar que o item não foi localizado ou que o campo correspondente está realmente sem preenchimento. Em planilhas de conferência, uma mensagem explícita costuma ser mais informativa.
Como buscar valores à esquerda com o PROCX
Uma das diferenças práticas do PROCX é que a matriz de procura não precisa estar à esquerda da matriz de retorno. A função pode procurar um código em uma coluna e retornar o nome que está em uma coluna anterior.
Considere esta estrutura:
| Produto | Código | Categoria |
|---|---|---|
| Teclado | T-201 | Periférico |
| Monitor | M-305 | Imagem |
| Webcam | W-110 | Periférico |
| Suporte | S-408 | Acessório |
Se o código for digitado em E2 e o objetivo for retornar o produto, use:
=PROCX(E2; B2:B5; A2:A5; "Código não encontrado")
Com M-305 em E2, o resultado será Monitor. A busca acontece em B2:B5, enquanto o resultado vem de A2:A5, que está à esquerda.
Para retornar a categoria do mesmo código:
=PROCX(E2; B2:B5; C2:C5; "Código não encontrado")
O resultado será Imagem. A posição do código continua sendo o elemento central da relação entre os dois intervalos.
Modos de correspondência do PROCX
O quinto argumento, modo_correspondência, controla como o Excel compara o valor procurado com a matriz de pesquisa. Quando esse argumento é omitido, o PROCX utiliza a correspondência exata.
| Valor | Comportamento |
|---|---|
0 |
Correspondência exata. É o comportamento padrão. |
-1 |
Correspondência exata ou próximo item menor. |
1 |
Correspondência exata ou próximo item maior. |
2 |
Correspondência usando curingas. |
Correspondência exata
Para códigos, matrículas, pedidos e protocolos, a correspondência exata costuma ser a opção mais apropriada. Ela evita que um valor parecido seja tratado como se fosse o registro correto.
=PROCX(F2; A2:A10; C2:C10; "Pedido não encontrado"; 0)
O argumento 0 pode ser omitido, pois já é o comportamento padrão. Ainda assim, informá-lo pode deixar a intenção da fórmula mais clara para quem for revisá-la.
Correspondência com curingas
O modo 2 permite usar curingas em buscas de texto. O asterisco representa uma sequência de caracteres, o ponto de interrogação representa um único caractere e o til permite procurar literalmente esses símbolos.
Considere uma lista de descrições em B2:B6 e códigos em A2:A6. Se o texto parcial estiver em E2, a fórmula abaixo retornará o código da primeira descrição que contiver o termo:
=PROCX("*"&E2&"*"; B2:B6; A2:A6; "Descrição não encontrada"; 2)
Se E2 contiver USB, a fórmula poderá encontrar uma descrição como “Adaptador USB-C”. Como o PROCX retorna a primeira ocorrência na ordem normal, descrições mais específicas podem ser necessárias quando houver vários resultados possíveis.
Para localizar uma descrição que comece com o texto informado, use:
=PROCX(E2&"*"; B2:B6; A2:A6; "Descrição não encontrada"; 2)
Como retornar a primeira ou a última ocorrência
Quando a matriz de procura contém valores repetidos, a pesquisa padrão retorna a primeira ocorrência encontrada. Isso é adequado quando o identificador deveria ser único ou quando o primeiro registro é o desejado.
Em um histórico, porém, pode ser necessário encontrar o lançamento mais recente na ordem em que as linhas foram organizadas. Nesse caso, use o sexto argumento, modo_pesquisa, com o valor -1.
Considere uma tabela de movimentações:
| Código | Data | Tipo | Quantidade |
|---|---|---|---|
| IT-090 | 02/03/2026 | Entrada | 20 |
| IT-114 | 03/03/2026 | Entrada | 15 |
| IT-090 | 08/03/2026 | Saída | 4 |
| IT-205 | 09/03/2026 | Entrada | 10 |
| IT-090 | 12/03/2026 | Entrada | 8 |
Se F2 contiver IT-090, a fórmula abaixo retorna a quantidade da última ocorrência na ordem das linhas:
=PROCX(F2; A2:A6; D2:D6; "Código não encontrado"; 0; -1)
O resultado será 8. Para retornar a data correspondente:
=PROCX(F2; A2:A6; B2:B6; "Código não encontrado"; 0; -1)
O resultado será 12/03/2026, desde que a coluna de datas esteja formatada e reconhecida corretamente pelo Excel.
É importante observar que essa opção retorna a última ocorrência pela ordem física do intervalo. Ela não identifica automaticamente a maior data. Se as linhas estiverem fora da ordem cronológica, o resultado poderá não ser o lançamento mais recente no calendário.
Como usar PROCX com dois critérios
Em algumas tabelas, um único valor não é suficiente para identificar o registro. É possível, por exemplo, procurar uma combinação de departamento e cargo. Para isso, o PROCX pode ser combinado com condições lógicas.
Suponha que:
- os departamentos estejam em
A2:A6; - os cargos estejam em
B2:B6; - os salários estejam em
C2:C6; - o departamento desejado esteja em
E2; - o cargo desejado esteja em
F2.
A fórmula será:
=PROCX(1; (A2:A6=E2)*(B2:B6=F2); C2:C6; "Registro não encontrado")
A primeira condição verifica quais linhas correspondem ao departamento. A segunda verifica quais correspondem ao cargo. A multiplicação transforma a combinação de duas condições verdadeiras em 1. O PROCX procura esse resultado e retorna o valor correspondente em C2:C6.
Se mais de uma linha atender aos dois critérios, a fórmula retornará a primeira ocorrência. Para obter a última, acrescente -1 ao modo de pesquisa:
=PROCX(1; (A2:A6=E2)*(B2:B6=F2); C2:C6; "Registro não encontrado"; 0; -1)
Todos os intervalos envolvidos precisam ter o mesmo número de linhas. Se uma condição usar A2:A6 e outra usar B3:B7, as posições deixarão de representar os mesmos registros.
Erros comuns ao usar o PROCX
Erro #N/D mesmo quando o valor parece existir
O erro #N/D significa que o Excel não encontrou uma correspondência conforme os critérios usados. A causa pode ser uma diferença que não é facilmente percebida, como espaço no início ou no fim, caractere oculto, acento diferente, zero à esquerda ou incompatibilidade entre texto e número.
Por exemplo, AB-120 e AB-120 podem parecer iguais na tela, mas o segundo valor contém um espaço adicional. Da mesma forma, 007038 e 7038 não são necessariamente o mesmo conteúdo.
Para investigar, confira:
- se a célula de consulta tem a mesma grafia do cadastro;
- se existem espaços extras;
- se o identificador está armazenado como texto ou número;
- se os zeros à esquerda foram preservados;
- se a matriz de procura contém o registro esperado;
- se o modo de correspondência é adequado.
O quarto argumento pode ocultar o código de erro, mas não resolve a diferença nos dados:
=PROCX(F2; A2:A10; D2:D10; "Valor não encontrado")
Diferenças entre números e textos
Uma matrícula ou código formado apenas por algarismos pode ser armazenado como número ou como texto. Essa diferença é relevante quando há zeros à esquerda. O valor textual 007038 não deve ser tratado como equivalente automático ao número 7038, porque o zero inicial faz parte do conteúdo textual.
Para evitar inconsistências, padronize a coluna de identificação antes de montar as fórmulas. Se os códigos forem identificadores e não valores para cálculos, mantê-los como texto pode ajudar a preservar hífens, zeros à esquerda e outros caracteres importantes.
Intervalos desalinhados
Os intervalos de procura e retorno precisam representar as mesmas posições. Esta fórmula está alinhada:
=PROCX(F2; A2:A5; D2:D5; "Produto não encontrado")
Já a fórmula abaixo começa a matriz de retorno uma linha depois:
=PROCX(F2; A2:A5; D3:D6; "Produto não encontrado")
Nesse caso, o primeiro valor encontrado em A2:A5 será relacionado ao valor de D3, e não ao conteúdo da mesma linha da tabela. A fórmula pode até produzir um resultado, mas ele poderá pertencer a outro registro.
Em buscas verticais, use matrizes verticais com a mesma quantidade de linhas. Em buscas horizontais, use matrizes horizontais com a mesma quantidade de colunas.
Referências que mudam ao copiar a fórmula
Ao copiar uma fórmula para outras células, as referências relativas podem se deslocar. Se várias fórmulas precisarem usar sempre o valor de consulta em F2 e os mesmos intervalos, use referências absolutas:
=PROCX($F$2; $A$2:$A$10; $D$2:$D$10; "Produto não encontrado")
Os cifrões mantêm fixa a célula de consulta e as matrizes. Esse recurso é útil quando uma área de consulta exibe vários campos do mesmo registro, como produto, categoria e preço.
Diferença entre PROCX e PROCV
O PROCV procura um valor na primeira coluna de uma matriz e retorna um resultado situado à direita. Para indicar a coluna de retorno, ele usa um número. Por exemplo, o número 3 representa a terceira coluna da matriz selecionada.
O PROCX separa a matriz de procura da matriz de retorno. Em vez de contar colunas, você informa diretamente onde procurar e de onde retornar o resultado:
=PROCX(E2; B2:B10; A2:A10; "Código não encontrado")
Esse formato permite buscar à esquerda e tende a ser mais explícito quando a estrutura da tabela muda. O PROCX também utiliza correspondência exata por padrão, enquanto fórmulas com PROCV exigem atenção especial ao argumento de correspondência.
A escolha depende da versão do Excel e da necessidade do arquivo. Em ambientes que não oferecem suporte ao PROCX, pode ser necessário utilizar alternativas compatíveis, como PROCV, ÍNDICE e CORRESP. Antes de compartilhar uma planilha, confirme se os destinatários utilizam uma versão que reconhece a função.
O PROCX funciona em todas as versões do Excel?
Não. A disponibilidade depende da versão e da edição do Excel. O PROCX está presente em versões mais recentes, incluindo o Microsoft 365 e versões atuais do Excel, mas pode não estar disponível em instalações antigas.
Quando a função não é reconhecida, o Excel pode exibir um erro relacionado ao nome da fórmula ou não apresentar a função durante a digitação. Nesse caso, consulte a documentação oficial da Microsoft ou verifique a versão instalada.
Também é importante considerar a compatibilidade do arquivo. Uma planilha criada com PROCX pode não funcionar corretamente em uma instalação que não possui essa função. Se o arquivo for utilizado em ambientes diferentes, avalie previamente quais funções estão disponíveis para todos os usuários.
Como criar uma área de consulta com PROCX
Uma aplicação prática é criar uma pequena área de consulta separada da tabela principal. A pessoa informa um código em uma célula e visualiza os campos relacionados em células próximas.
Considere uma tabela de solicitações com protocolo, responsável, prioridade e situação. Se o protocolo estiver em A2:A5, o responsável em B2:B5 e a situação em D2:D5, use:
=PROCX($F$2; $A$2:$A$5; $B$2:$B$5; "Protocolo não encontrado")
Para exibir a situação:
=PROCX($F$2; $A$2:$A$5; $D$2:$D$5; "Protocolo não encontrado")
O protocolo é digitado apenas em F2. As demais células utilizam a mesma referência e retornam informações do mesmo registro. Essa estrutura é útil para separar a entrada de dados da apresentação dos resultados.
Antes de concluir a planilha, confira:
- se a célula de consulta contém um identificador válido;
- se a matriz de procura inclui todos os registros necessários;
- se a matriz de retorno começa e termina nas linhas correspondentes;
- se a mensagem de não encontrado é adequada ao campo consultado;
- se a primeira ou a última ocorrência é a opção correta para a tabela;
- se os dados estão padronizados como texto ou número.
Perguntas frequentes sobre PROCX no Excel
O PROCX pode retornar vários resultados?
O PROCX tradicionalmente retorna uma única correspondência: a primeira na ordem normal ou a última quando a pesquisa reversa é configurada. Quando existem vários registros para o mesmo valor, é necessário decidir qual ocorrência atende ao objetivo da planilha.
Se a intenção for exibir todos os resultados, outras funções de matriz dinâmica, como FILTRO, podem ser mais apropriadas em versões compatíveis. O PROCX continua sendo útil quando se deseja um único registro específico.
Posso usar uma tabela do Excel em vez de intervalos fixos?
Sim. Usar uma tabela estruturada pode facilitar a expansão da base, porque novas linhas tendem a ser incluídas automaticamente nas referências das colunas. Uma fórmula pode ser escrita com referências como TabelaProdutos[Código] e TabelaProdutos[Preço].
=PROCX(F2; TabelaProdutos[Código]; TabelaProdutos[Preço]; "Produto não encontrado")
Os nomes exatos dependem do nome atribuído à tabela e aos cabeçalhos. Ainda assim, a regra permanece: a coluna de procura e a coluna de retorno precisam representar os mesmos registros.
O PROCX diferencia maiúsculas e minúsculas?
Na correspondência comum, o PROCX não é uma ferramenta destinada a diferenciar maiúsculas de minúsculas. Em códigos que dependem desse tipo de distinção, é necessário utilizar uma estratégia adicional com funções apropriadas para comparação sensível a maiúsculas e minúsculas.
Para a maioria dos códigos e descrições comerciais, o mais importante é manter o conteúdo padronizado e eliminar espaços ou caracteres inconsistentes.
Como retornar uma célula vazia sem mostrar zero?
Se a matriz de retorno contém células vazias, o resultado pode aparecer de maneira diferente dependendo da estrutura e da formatação da planilha. Quando for necessário controlar explicitamente o caso de não encontrado, use o quarto argumento:
=PROCX(F2; A2:A10; D2:D10; "")
Se o próprio campo de retorno puder estar vazio, considere usar uma mensagem ou uma fórmula complementar para diferenciar “não encontrado” de “campo sem preenchimento”.
Conclusão: quando usar o PROCX no Excel
O PROCX no Excel é uma alternativa flexível para localizar informações relacionadas em tabelas. Ele permite procurar códigos, pedidos, matrículas e outros identificadores sem depender da posição fixa da coluna de resultado. Também oferece correspondência exata, mensagens personalizadas, pesquisa reversa, curingas e combinações de critérios.
Para obter resultados confiáveis, mantenha os dados padronizados, confira se as matrizes começam e terminam nas mesmas posições e escolha o modo de pesquisa de acordo com a estrutura da tabela. Em bases sem duplicidades, a fórmula básica costuma ser suficiente. Em históricos, o modo de pesquisa reversa pode ajudar a retornar a última ocorrência na ordem das linhas.
Depois de entender os argumentos, crie uma área de consulta simples com uma célula para o identificador e outras células para os resultados. Essa organização torna a planilha mais prática de atualizar e reduz a necessidade de procurar registros manualmente.


