Função PROCX
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 PROCX 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 |
---|---|
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.
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)
———————————————————————————
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 3 adiciona um argumento deif_not_found ao exemplo anterior.
———————————————————————————
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.
Observação: 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.
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)).
———————————————————————————
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.
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.
Observação: 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.