Notifications
Clear all

Converter ponto decimal para vírgula decimal (2)

3 Posts
2 Usuários
0 Reactions
940 Visualizações
(@angelo777)
Posts: 32
Trusted Member
Topic starter
 

Converter ponto decimal para vírgula decimal tendo que considerar que alguns deles tem apenas um decimal e outros tem dois decimais e ainda tem números que vem com o símbolo %. A planilha original podem ver em Dados Bastter. Estou tentando fazer essa correição usando SUBSTITUIR e LOCALIZAR assim como DIREITA porem alguma coisa estou fazendo errado e os números saem truncados incompletos e onde apenas deveria existir uma virgula aparece uma virgula e ponto. Nesta parte esqueci de explicar que existia casos na coluna de números sem ponto tipo 9% ou 150% e assim por diante.
Recebi esta ótima ajuda de Gilmar => vc pode usar assim:

=SUBSTITUIR(SUBSTITUIR(A3;".";",";NÚM.CARACT(A3)-NÚM.CARACT(SUBSTITUIR(A3;".";"")));"%";"")

Se quiser eles como número, use assim:
=VALOR(SUBSTITUIR(SUBSTITUIR(A3;".";",";NÚM.CARACT(A3)-NÚM.CARACT(SUBSTITUIR(A3;".";"")));"%";""))

Usei esta ==>> =VALOR(SUBSTITUIR(SUBSTITUIR(A3;".";",";NÚM.CARACT(A3)-NÚM.CARACT(SUBSTITUIR(A3;".";"")));"%";"")) porem ao usar essa formula em tabela
9% vira 0,09
57% vira 0,57 e assim por diante anexo arquivo e ainda coloquei realce nas células que deu esse problema.

 
Postado : 10/02/2015 9:18 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Angelo,

Isso ocorre porque 9% = 0,09.

Porém, faça o seguinte:

Mude a fórmula em P11 para:

=IF(B11="";"";IF(ISERROR(SEARCH(".";C11));C11;SUBSTITUTE(SUBSTITUTE(C11;".";",";LEN(C11)-LEN(SUBSTITUTE(C11;".";"")));"%";"")%))

Meu Excel tá em inglês, em português deve ser assim:

=SE(B11="";"";SE(ÉERROS(PROCURAR(".";C11));C11;SUBSTITUIR(SUBSTITUIR(C11;".";",";NÚM.CARACT(C11)-NÚM.CARACT(SUBSTITUIR(C11;".";"")));"%";"")%))

Depois, formate as células como porcentagem, com 2 casas decimais.

 
Postado : 11/02/2015 5:54 am
(@angelo777)
Posts: 32
Trusted Member
Topic starter
 

Como não sou experiente em excel parti para o quebra galho e multipliquei C11*100 e ficou certo. A formula ficou assim ==>>
=SE(B11="";"";SE(ÉERROS(LOCALIZAR(".";C11));C11*100;VALOR(SUBSTITUIR(SUBSTITUIR(C11;".";",";NÚM.CARACT(C11)-NÚM.CARACT(SUBSTITUIR(C11;".";"")));"%";""))))
Para quem tenha problema semelhante a formula a ser usada seria assim:
=SE(ÉERROS(LOCALIZAR(".";C11));C11*100;VALOR(SUBSTITUIR(SUBSTITUIR(C11;".";",";NÚM.CARACT(C11)-NÚM.CARACT(SUBSTITUIR(C11;".";"")));"%";"")))
Apenas ressaltando que a formula deve ser usada dentro de uma TABELA e não de forma avulsa.
Gilmar vou a deixar o tópico aberto por uns 7 dias para caso aparecer problema relacionado e não estar abrindo tópico toda hora pelo mesmo problema. Obrigado pela ajuda.

 
Postado : 11/02/2015 7:50 am