Applies ToExcel para Microsoft 365 Excel para Microsoft 365 para Mac Excel para a Web Excel 2024 Excel 2024 para Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2016 Excel para iPad Excel para iPhone Excel para tablets Android Excel para telefones Android

Use a função PROCX quando precisar localizar coisas em linhas de uma tabela ou de um intervalo. Por exemplo, procure o preço de uma peça automotiva pelo número da peça ou encontre um nome de funcionário com base na ID do funcionário. Com o PROCX, você pode procurar em uma coluna por um termo de pesquisa e retornar um resultado da mesma linha em outra coluna, independentemente de qual lado a coluna de retorno esteja.

A função PROCX não está disponível no Excel 2016 e no Excel 2019. No entanto, poderá deparar-se com uma situação de utilização de um livro no Excel 2016 ou no Excel 2019 com a função PROCX, caso tenha sido criado por outra pessoa com uma versão mais recente do Excel.

O navegador não dá suporte a vídeo. Instale o Microsoft Silverlight, o Adobe Flash Player ou o Internet Explorer 9.

Sintaxe

A função PROCX pesquisa um intervalo ou uma matriz e retorna um item correspondente à primeira correspondência encontrada. Se não houver uma correspondência, então o PROCX poderá retornar a correspondência mais adequada(aproximada). 

=PROCX(pesquisa_valor; pesquisa_matriz; matriz_retorno; [se_não_encontrada]; [modo_correspondência]; [modo_pesquisa]) 

Argumento

Descrição

pesquisa_valor

Obrigatório*

O valor a ser pesquisado para *Se omitido, PROCX retornará as células em branco que encontrar em lookup_array.   

pesquisa_matriz

Obrigatório

A matriz ou intervalo a classificar

matriz_retorno

Obrigatório

A matriz ou intervalo a retornar

[se_não_encontrada]

Opcional

Quando uma coincidência válida não é encontrada, retorna o texto [if_not_found] que você fornece.

Se uma correspondência válida não for encontrada e [if_not_found] estiver ausente, #N/A será retornado.

[modo_correspondência]

Opcional

Especificar o tipo de correspondência:

0 – Correspondência exata. Se nenhum for encontrado, retornar #N/A. Esse é o padrão.

-1 – Correspondência exata. Se nenhum for encontrado, retorna o próximo item menor.

1 – Correspondência exata. Se nenhum for encontrado, retorna o próximo item maior.

2 – Uma correspondência de curingas, em que *,? e ~ têm um significado especial.

[modo_pesquisa]

Opcional

Especificar o modo de pesquisa a ser usado:

1 – Executar uma pesquisa começando do primeiro item. Esse é o padrão.

-1 – Executar uma pesquisa reversa começando do último item.

2 – Executar uma pesquisa binária que dependa da classificação da matriz_procurada em ordem crescente. Caso contrário, resultados inválidos serão retornados.

-2 – Executar uma pesquisa binária que dependa da classificação da matriz_procurada em ordem decrescente. Caso contrário, resultados inválidos serão retornados.

Exemplos

Exemplo 1    usa PROCX para pesquisar o nome de um país em um intervalo, e, então, retorna o código telefônico do país. Ele inclui os argumentos lookup_value (célula F2), lookup_array (intervalo B2:B11) e return_array (intervalo D2:D11). Ele não inclui o argumento match_mode, pois PROCX produz uma correspondência exata por padrão.

Exemplo da função PROCX usada para retornar o Nome e o Departamento de um Funcionário com base na ID do Funcionário. A fórmula é =PROCX(B2;B5:B14;C5:C14)

PROCX usa uma matriz de pesquisa e uma matriz de retorno, enquanto PROCV usa uma única matriz de tabela seguida por um número de índice de coluna. A fórmula de PROCV equivalente nesse caso seria: =PROCV(F2,B2:D11,3,FALSE)

———————————————————————————

Exemplo 2    pesquisa informações dos funcionários com base em um número de ID de funcionário. Ao contrário do PROCV, o PROCX pode retornar uma matriz com vários itens, o que permite que uma única fórmula retorne o nome do funcionário e o departamento das células C5:D14.

Exemplo da função PROCX usada para retornar um nome e departamento de um funcionário com base na IDt do funcionário. A fórmula é =PROCX(B2;B5:B14;C5:D14;0;1)

———————————————————————————

Exemplo 3    adiciona um argumento deif_not_found ao exemplo anterior.

Exemplo da função PROCX usada para retornar um nome e departamento de um funcionário com base na ID do funcionário com o argumento if_not_found. A fórmula é =PROCX(B2;B5:B14;C5:D14;0;1;"Funcionário não encontrado")

———————————————————————————

Exemplo 4    procura na coluna C a renda pessoal inserida na célula E2 e localiza uma taxa de imposto correspondente na coluna B. Ele define o argumento if_not_found para retornar 0 (zero) se nada for encontrado. O argumento match_mode é definido como 1, o que significa que a função procurará uma correspondência exata e, se não encontrar uma, retornará o próximo item maior. Por fim, o argumento search_mode é definido como 1, o que significa que a função pesquisará do primeiro item para o último.

Imagem da função PROCX usada para retornar uma taxa de imposto com base na renda máxima. Esta é uma correspondência aproximada. A fórmula é: =PROCX(E2;C2:C7;B2:B7;1;1)

A coluna lookup_array do XARRAY está à direita da coluna return_array, enquanto PROCV só pode procurar da esquerda para a direita.

———————————————————————————

Exemplo 5    Em seguida, usaremos uma função PROCX aninhada para executar uma correspondência vertical e horizontal. Primeiro, ele procura Lucro Bruto na coluna B e, em seguida, procura Qtr1 na linha superior da tabela (intervalo C5:F5) e, por fim, retorna o valor na interseção dos dois. Isso é semelhante ao uso das funções ÍNDICE e CORRESP em conjunto.

Você também pode usar PROCX para substituir a função PROCH.

Imagem da função PROCX usada para retornar dados horizontais de uma tabela aninhando 2 PROCXs. A fórmula é: =PROCX(D2;$B6:$B17;PROCX($C3;$C5:$G5;$C6:$G17))

A fórmula nas células D3:F3 é: =PROCX(D2,$B6:$B17,PROCX($C3,$C5:$G5,$C6:$G17)).

———————————————————————————

Exemplo 6    Este exemplo usa a função SOMA e duas funções PROCX aninhadas para somar todos os valores entre dois intervalos. Nesse caso, iremos somar os valores para uvas, bananas e incluir pêras, que estão entre os dois.

Usando PROCX com SOMA para totalizar um intervalo de valores que estão entre duas seleções

A fórmula na célula E3 é: =SOMA(PROCX(B3,B6:B10,E6:E10):PROCX(C3,B6:B10,E6:E10))

Como isso funciona? O PROCX retorna um intervalo, portanto, quando ele calcula, a fórmula acaba com esta aparência: =SOMA($E$7:$E$9). Você pode ver como isso funciona por conta própria selecionando uma célula com uma fórmula PROCX semelhante a esta e, em seguida, selecioneFórmulas > Auditoria de Fórmulas > Avaliar Fórmula e, em seguida, selecione Avaliar para percorrer o cálculo. 

Agradecemos ao Microsoft Excel MVP, Bill Jelen, por sugerir este exemplo.

———————————————————————————

Confira também

Você pode sempre consultar um especialista na Excel Tech Community ou obter suporte nas Comunidades.

Função CORRESPX

Funções do Excel (ordem alfabética)

Funções do Excel (por categoria)

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.