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.
Observação
O PROCX não está disponível no Excel 2016 e Excel 2019. No entanto, você pode encontrar uma situação de uso de uma pasta de trabalho no Excel 2016 ou Excel 2019 com a função XLOOKUP, se ela tiver sido criada por outra pessoa usando uma versão mais recente do Excel.
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 |
|---|---|
|
valor_procurado Obrigatório* |
O valor a ser pesquisado *Se omitido, PROCX retornará as células em branco que encontrar em lookup_array. |
|
matriz_procurada 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
O exemplo 1 usa PROCX para pesquisar o nome de um país em um intervalo, e, em seguida, 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.
Observação
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)
———————————————————————————
O 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.
———————————————————————————
O exemplo 3 adiciona um argumento if_not_found ao exemplo anterior.
———————————————————————————
O 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 , o 1que 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.
Observação
A coluna lookup_array do XARRAY está à direita da coluna return_array, enquanto PROCV só pode procurar da esquerda para a direita.
———————————————————————————
O exemplo 5 usa 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.
Dica
Você também pode usar PROCX para substituir a função PROCH.
Observação
A fórmula nas células D3:F3 é: =PROCX(D2,$B6:$B17,PROCX($C3,$C5:$G5,$C6:$G17)).
———————————————————————————
O exemplo 6 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.
A fórmula na célula E3 é: =SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(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: =SUM($E$7:$E$9). Você pode ver como isso funciona por conta própria selecionando uma célula com uma fórmula XLOOKUP semelhante a esta, selecionando Fórmulas,Auditoria de Fórmulas>,Avaliando> Fórmula e, em seguida, selecionando Avaliar para percorrer o cálculo.
Observação
Agradecemos ao MVP do Microsoft Excel, Bill Jelen, por sugerir este exemplo.
———————————————————————————