Ir ao conteúdo
  • Cadastre-se

Excel Problema com as funções CORRESP e PROCV


Ir à solução Resolvido por Edson Luiz Branco,

Posts recomendados

Pessoal bom dia, tenho a planilha do link abaixo:

 

https://www.sendspace.com/file/9n5jm6

 

Onde tenho os valores entre 3,4 a 6,0m, acontece que o valor de entrada é de duas casas decimais, ai arredondo ele para cima com apenas uma casa, e procuro sua correspondência com a formula CORRESP ou com a formula PROCV, até ai tudo bem, o problema é que quando entro com um valor entre 5,81 à 5,89 a formula CORRESP da erro e a PROCV retorna o valor do item anterior...

 

... Alguém já passou por esse tipo de problema??? como posso fazer para resolve-lo???

 

Obrigado

 

Nikola Fratari

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Boa tarde@Nik Nik

 

A tua fórmula com a função PROCV, retornar o valor anterior, porque você não digitou 0 ou 1 no final da formula para determinar se a procura é exata.

Se montar a formula da forma correta assim:

=PROCV(ARREDONDAR.PARA.CIMA(C2;1);A9:B35;2;0)

Também irá retornar erro, mas se você omitir o 1 ou o 0, entende-se que a procura não é exata, então o PROCV retorna um valor aproximado.

 

[]s

Link para o comentário
Compartilhar em outros sites

  • Solução

@Nik Nik , boa tarde.

 

Muito interessante essa situação. Pelo visto você acabou de descobrir um bug que só acontece na função ARREDONDAR.PARA.CIMA, mas não na ARREDONDAR.PARA.BAIXO ou na ARRED. Fiz uns testes aqui e percebi que se na barra de fórmulas você selecionar todo o argumento e calcular com F9, o valor retorna correto e a fórmula prossegue sem problemas só com o valor. Também testei e vi que não adiantou colocar em outra célula nem definir um nome só com a função =ARREDONDAR.PARA.CIMA(C2;1) e referenciar esse nome ou célula indiretamente na fórmula, o erro persiste.

 

Parece que internamente o Excel não está arredondando corretamente, mantendo algum lixo.

Uma gambiarra que testei e funcionou foi formatar o valor retornado pela função, usando respectivamente:

=CORRESP(VALOR(TEXTO(ARREDONDAR.PARA.CIMA(C2;1);"#,#"));A9:A35;0)

e

=PROCV(VALOR(TEXTO(ARREDONDAR.PARA.CIMA(C2;1);"#,#"));A9:B35;2;FALSO)

Como sua tabela é numérica e bem regular , alternativamente você poderia usar outras soluções como:

 

=TEXTO(SOMARPRODUTO((ARREDONDAR.PARA.CIMA(C2;1)=A9:A35)*B9:B35);"00")

 

Ou até mesmo poderia desprezar a tabela, usando simplesmente:

=TEXTO(SOMARPRODUTO((ARREDONDAR.PARA.CIMA(C2;1)=(LIN(34:60)/10))*LIN(1:27));"00")

A função TEXTO nesses casos é só para formatar a saída numérica sempre com dois dígitos.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!