Skip to main content
17 dezembro 2021
Follow Us

O canivete suíço do Excel: PROCX

Olá pessoal, Isadora Lupchinski para mais um artigo. O tema de hoje é para os utilizadores de Excel que utilizam com frequência as funções PROCV e PROCH (vlookup e hlookup, caso esteja a utilizar a função em inglês) mas precisam sempre estar atentos aos erros #N/D que por vezes acontece.

 

Vamos direto a um exemplo para explicar melhor sobre a função PROCV  e também sobre a função PROCX. Essa última é uma função mais recente lançada pela Microsoft, para o utilizadores do Office 365. Por isso, se eventualmente não a encontrar, pode ser devido à versão do Excel. Recomendo, sempre que possível, os utilizadores terem a mais recente, pois tem surgido funções que otimizam muito o nosso trabalho e produtividade dentro da ferramenta, como por exemplo as função matriciais dinâmicas, mas que podem ficar para outros artigos.

Exemplo 1

Suponha que temos uma tabela em um relatório de vendas com as seguintes informações: número do cliente, número do contribuinte, nome do cliente, vendas, margem, margem %, saldo, PMR em dias (prazo médio de recebimento) e região.

1.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Obs.: são dados fictícios para fins de demonstração.

A título de exemplo, temos apenas 20 linhas nessa tabela, no entanto, suponha que tivéssemos centenas ou milhares de linhas ao longo dela e quiséssemos pesquisar o saldo de um determinado contribuinte.

Uma das soluções que podemos utilizar é utilizar a função PROCV, que possui a seguinte sintaxe:

2.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

=VLOOKUP (O que pretende procurar, onde pretende procurar, o número da coluna na gama que contém o valor a devolver, devolva uma correspondência Aproximada ou Exata – indicada como 1/TRUE, ou 0/FALSE).

O segredo para a VLOOKUP é organizar os seus dados para que o valor que procura seja à esquerda do valor de retorno que pretende encontrar.

Dito isso, queremos que ao digitar o número do contribuinte na célula L3, queremos que o saldo seja devolvido na célula M3.

3.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Desse modo, visualmente estamos a ver que se o contribuinte for o 307510436, a célula M3 deverá devolver 12 650,61€.

Pois bem, vamos colocar a mão na massa:

=PROCV( L3; B6:G25; 6; FALSO )

4.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Ou seja, estamos a procurar a célula L3 (Contribuinte que o utilizar vai digitar), no intervalo da tabela que vai da coluna B até a coluna G – isso porque precisamos indicar na primeira coluna justamente a informação que desejamos buscar, o contribuinte, e ainda, nesse intervalo de colunas selecionadas precisa estar presente à direita a coluna que desejamos que ele retorne, que nesse caso é o saldo).

E eventualmente, se optarmos por formatar o intervalo como tabela:

5.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

O PROCV ficaria assim:

= PROCV( L3; Tabela1[[Contribuinte]:[Saldo]]; 6; FALSO )

Vejamos agora como seria o mesmo cálculo com a função PROCX, que possui a seguinte sintaxe:

7.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Veja que uma das diferenças está no facto de ter mais argumentos na sintaxe, como por exemplo: se não encontrar o campo pesquisado, ao invés de retornar erro, podemos escrever um texto. Outra grande diferença é que NÃO precisamos passar TODA a tabela ou intervalo, tal qual fizemos no segundo argumento da PROCV, basta especificar A COLUNA que buscamos (nesse exemplo será a coluna do contribuinte) e A COLUNA que queremos retornar (o saldo).

Teríamos então a seguinte fórmula:

=PROCX( L3; B6:B25; G6:G25; "Contribuinte não encontrado"; 0 )

Ou seja,

8.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Alternativamente, para os que tiverem a tabela como tabela (Definir como tabela), seria assim:

=PROCX(L3;Tabela1[[#Todos];[Contribuinte]];Tabela1[[#Todos];[Saldo]];"Contribuinte não encontrado";0)

Veja que em ambos as funções, tanto o PROCV quanto o PROCX, os resultados foram idênticos:

9.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

No entanto, caso haja a necessidade de adicionar alguma nova coluna nessa tabela, o nosso PROCV teria grandes chances de ficar lixado.

Por exemplo, precisamos adicionar uma coluna com o nome do contacto responsável de cada empresa:

6.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Após adicionar a nova coluna, vejamos então como essa alteração afetou os nossos resultados:

10.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Temos uma diferença entre elas: ao introduzirmos uma nova coluna, o nosso procv foi diretamente impactado, uma vez que tínhamos especificado a posição da coluna desejada como sendo a 6ª, ao passo que agora, a nossa coluna do saldo passou a ser a 7ª posição do nosso intervalo. Desse modo, o 0,20 que está a aparecer corresponde, na verdade, à margem e não ao saldo.

11.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Ao contrário do Procx que ficou intacto! Manteve o valor correto do saldo e não sofreu nenhuma alteração. Essa é uma das grandes diferenças/vantagens da procx. À medida que acrescentamos ou removemos coluna no nosso intervalo ou tabela, ele não se altera como a Procv.

Exemplo 2

Vejamos então mais uma situação em que a PROCX nos dá muito jeito.

Suponha agora que ao invés de retornar o saldo, que quiséssemos retornar o id do cliente, que na nossa tabela se chama Num.

=PROCV(M3;A6:B25;1;FALSO)

13.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Ou seja,

=
PROCV(          
       M3; '//estamos a procurar a célula M3 (número do contribuinte a ser pesquisado)
       A6:B25; '//nesse intervalo da tabela (colunas A e B, pois são elas que contém os campos que queremos)
       1; '//e retorna a 1ª coluna desse intervalo, ou seja, a coluna A, com o número do cliente
       FALSO '//queremos a correspondência exata, ou seja, queremos exatamente o número do contribuinte
)

Enquanto que o PROCX será:

=PROCX(M3; B6:B25; A6:A25; "Contribuinte não encontrado"; 0 )

13.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

E os resultados serão:

14.0_PROCV_PROCH_E_PROCX_NO_EXCEL.png

Ops! Temos aqui um erro no nosso PROCV, enquanto o PROCX deu certo.

Isso aconteceu porque o valor que procuramos precisa ficar à esquerda do valor de retorno que pretende encontrar. E nesse caso isso não foi respeitado e teríamos esse erro.

Pois bem, mais uma vantagem para usar a nossa mais nossa queridinha do Excel: a PROCX.

Vou ficando por aqui, espero que tenham gostado.

Aproveito também a oportunidade para desejar boas festas e um feliz Natal a todos.

Que 2022 traga saúde e prosperidade a todos nós. São os votos da família Portal Gestão.

Ficheiros em anexo


Assine a nossa newsletter e receba o nosso conteúdo diretamente no seu email