Função PROCX
Applies To
Excel para Microsoft 365 Excel para Microsoft 365 para Mac Excel na Web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2016 Excel para iPad Excel para iPhone Excel para tablets Android Excel para telemóveis AndroidUtilize a função PROCX para localizar itens numa tabela ou intervalo por linha. Por exemplo, procure o preço de uma peça automóvel pelo número da peça ou localize um nome de funcionário com base no respetivo ID de colaborador. Com a função PROCX, pode procurar um termo de pesquisa numa coluna e devolver um resultado da mesma linha noutra coluna, independentemente do lado em que a coluna de retorno se encontra.
Nota: 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 procura um intervalo ou uma matriz e, em seguida, devolve o item correspondente à primeira correspondência que encontrar. Se não existir nenhuma correspondência, a função PROCX pode devolver a correspondência (aproximada) mais próxima.
=PESQUISADEX(valor_pesquisa, matriz_pesquisa, matriz_devolver, [se_não_for_encontrado], [modo_corresp], [modo_pesquisa])
Argumento |
Descrição |
---|---|
valor_proc Necessário* |
O valor a procurar *Se for omitido, PROCX devolve células em branco que encontra no lookup_array. |
matriz_proc Obrigatório |
A matriz ou intervalo onde procurar |
return_array Obrigatório |
A matriz ou intervalo a devolver |
[if_not_found] Opcional |
Quando não for encontrada uma correspondência válida, devolva o texto [if_not_found] que fornecer. Se não for encontrada uma correspondência válida e [if_not_found] estiver em falta, é devolvido #N/D . |
[modo_de_correspondência] Opcional |
Especifique o tipo de correspondência: 0 - Correspondência exata. Se não for encontrado nenhum, devolva #N/D. Esta é a predefinição. -1 - Correspondência exata. Se não for encontrado nenhum, devolva o item mais pequeno seguinte. 1 - Correspondência exata. Se não for encontrado nenhum, devolva o item maior seguinte. 2 - Uma correspondência universal em que *, ? e ~ têm um significado especial. |
[modo_de_procura] Opcional |
Especifique o modo de pesquisa a utilizar: 1 - Efetue uma pesquisa a partir do primeiro item. Esta é a predefinição. -1 - Efetue uma pesquisa inversa a partir do último item. 2 - Execute uma pesquisa binária que dependa de lookup_array a ser ordenadas por ordem ascendente . Se não estiver ordenada, serão devolvidos resultados inválidos. -2 - Efetuar uma pesquisa binária que depende de a matriz_proc estar ordenada por ordem decrescente. Se não estiver ordenada, serão devolvidos resultados inválidos. |
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. Inclui os argumentos lookup_value (célula F2), lookup_array (intervalo B2:B11) e return_array (intervalo D2:D11). Não inclui o argumento match_mode , uma vez que a função PROCX produz uma correspondência exata por predefinição.
Nota: A função PROCX utiliza uma matriz de pesquisa e uma matriz de retorno, enquanto a função PROCV utiliza uma única matriz de tabela seguida de um número de índice de coluna. Neste caso, a fórmula PROCV equivalente seria: =PROCV(F2;B2:D11;3;FALSO)
———————————————————————————
O exemplo 2 procura as informações dos colaboradores com base num número de ID de funcionário. Ao contrário da função PROCV, a função PROCX pode devolver uma matriz com vários itens, para que uma única fórmula possa devolver 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 está definido como 1, o que significa que a função irá procurar do primeiro ao último item.
Nota: A coluna lookup_array de XARRAY está à direita da coluna return_array , enquanto a função PROCV só pode procurar da esquerda para a direita.
———————————————————————————
Exemplo 5 utiliza uma função PROCX aninhada para efetuar uma correspondência vertical e horizontal. Primeiro, procura Lucro Bruto na coluna B e, em seguida, procura qtr1 na linha superior da tabela (intervalo C5:F5) e, por fim, devolve o valor na interseção dos dois. Isto é semelhante à utilização das funções ÍNDICE e CORRESP em conjunto.
Sugestão: Também pode utilizar a função PROCX para substituir a função PROCH .
Nota: A fórmula nas células D3:F3 é: =PROCX(D2;$B 6:$B 17;PROCX($C 3;$C 5:$G 5,$C 6:$G 17)).
———————————————————————————
Exemplo 6 utiliza a função SOMA e duas funções XLOOKUP aninhadas, para somar todos os valores entre dois intervalos. Neste caso, queremos somar os valores das uvas, bananas e incluir peras, que estão entre as duas.
A fórmula na célula E3 é: =SOMA(PROCX(B3;B6:B10;E6:E10):PROCX(C3;B6:B10;E6:E10))
Como funciona? A função PROCX devolve um intervalo, pelo que, quando calcula, a fórmula acaba por ter o seguinte aspeto: =SOMA($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órmulas > Auditoria de Fórmulas > Avaliar Fórmula e, em seguida, selecione Avaliar para percorrer o cálculo.
Nota: Graças ao MVP do Microsoft Excel, Bill Jelen, por sugerir este exemplo.
———————————————————————————
Consulte também
Pode sempre colocar uma pergunta a um especialista da Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.