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
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.
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 procurar *Se for omitido, PROCX devolve células em branco que encontra no 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 utiliza a função PROCX para procurar um nome de país num intervalo e, em seguida, devolver o respetivo código de país/região telefónico. 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 procura as informações dos colaboradores com base num 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 os rendimentos pessoais introduzidos na célula E2 e encontra uma taxa de imposto correspondente na coluna B. Define o argumento if_not_found para devolver 0 (zero) se não for encontrado nada. O argumento match_mode está definido como 1, o que significa que a função procurará uma correspondência exata e, se não conseguir encontrar uma, devolve o item maior seguinte. 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 utiliza 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 utiliza a função SOMA e duas funções XLOOKUP 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? A função PROCX devolve um intervalo, pelo que, quando calcula, a fórmula acaba por ter o seguinte aspeto: =SUM($E$7:$E$9). Pode ver como isto funciona sozinho ao selecionar uma célula com uma fórmula XLOOKUP semelhante a esta, em seguida, selecione FórmulasAuditoria de> Fórmulas >Avaliar Fórmula e, em seguida, selecione Avaliar para percorrer o cálculo.
Observação
Graças ao MVP do Microsoft Excel, Bill Jelen, por sugerir este exemplo.
———————————————————————————