Função PROCX
Applies To
Excel 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 AndroidUse 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 |
---|---|
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.