Utilize a função PROCX para encontrar conteúdos numa tabela ou intervalo a partir da linha. Por exemplo, procure o preço de uma peça de automóvel através do número da peça ou encontre o nome de um funcionário com base no respetivo ID de funcionário. Com PESQUISADEX, 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
O PROCX não está disponível no Excel 2016 nem no Excel 2019. No entanto, poderá deparar-se com a situação de utilizar um livro no Excel 2016 ou Excel 2019 com a função PESQUISADEX, 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, PROCX pode devolver a correspondência mais próxima (aproximada).
=PESQUISADEX(valor_pesquisa, matriz_pesquisa, matriz_devolver, [se_não_for_encontrado], [modo_corresp], [modo_pesquisa])
| Argumento | Descrição |
|---|---|
|
valor_proc Obrigatório* |
O valor a procurar *Se for omitido, PROCX devolve as 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 |
Se não for encontrada uma correspondência válida, devolver o texto [if_not_found] fornecido. Se não for encontrada uma correspondência válida e [if_not_found] estiver em falta, é devolvido #N/A . |
|
[modo_de_correspondência] Opcional |
Especifique o tipo de correspondência: 0 - Correspondência exata. Se não for encontrado nenhum, devolve #N/A. Esta é a predefinição. -1 - Correspondência exata. Se não for encontrado nenhum, devolva o próximo item mais pequeno. 1 - Correspondência exata. Se não for encontrado nenhum, devolva o próximo item maior. 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 - Realize uma pesquisa a partir do primeiro item. Esta é a predefinição. -1 - Realizar uma pesquisa inversa a partir do último item. 2 - Realizar uma pesquisa binária que depende de lookup_array serem ordenados 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 PROCX para procurar o nome de um país num intervalo e, em seguida, devolver o indicativo do país/região do telefone. 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 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 que 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 informações de funcionários com base num número de ID de funcionário. Ao contrário de PROCV, PROCX pode devolver uma matriz com vários itens, pelo que uma única fórmula pode devolver o nome do funcionário e o departamento a partir das células C5:D14.
———————————————————————————
O exemplo 3 adiciona um argumento if_not_found ao exemplo anterior.
———————————————————————————
O exemplo 4 procura na coluna C o rendimento pessoal introduzido na célula E2 e encontra 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 está definido como 1, o que significa que a função irá 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 do XARRAY encontra-se à direita da coluna return_array , enquanto a função PROCV apenas pode procurar da esquerda para a direita.
———————————————————————————
O exemplo 5 utiliza uma função PROCX aninhada para efetuar uma correspondência vertical e horizontal. Procura primeiro por Lucro Bruto na coluna B, em seguida, procura por Trim1 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;PESQUISADEX($C 3;$C 5:$G 5;$C 6:$G 17)).
———————————————————————————
O exemplo 6 utiliza a função SOMA e duas funções PROCX aninhadas para somar todos os valores entre dois intervalos. Neste caso, queremos somar os valores das uvas, bananas e incluir as peras, 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 funciona? PROCX devolve um intervalo, por isso, quando calcula, a fórmula fica com este aspeto: =SUM($E$7:$E$9). Pode ver como isto funciona sozinho ao selecionar uma célula com uma fórmula PROCX 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
Obrigado ao MVP do Microsoft Excel, Bill Jelen, por sugerir este exemplo.
———————————————————————————