Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Formatação de datas e separação de números por ponto e hífen

Bom dia estou com 2 questões para serem resolvidas e agradeço quem puder ajudar.

1ª- Quero digitar uma data 01012016 somente com os números e apareça no seguinte formato de data: 01/01/2016 para que eu possa calcular a data de hoje menos a data que foi digitada e me apareça a idade da pessoa?

2ª - tenho que digitar uma sequência de 14 números (00122233344455) ou 13 números( 0012223334445)e apareça da seguinte forma na célula: 14 números (001.222.333.444-55) e quando digitar 13 números apareça (001.222.333.444-5)?Consegui apenas com 14 números,mas quando digito com 13 números aparece (000.149.022.043-42)

5 respostas

desculpe houve um erro no final não é (000.149.022.043-42) e sim (000.122.233.344-45)

Ola Sandro, vamos as respostas:

Duvida 1

  1. Ao digitar o valor '01012016' , o excel entendera como o proprio numero que vc digitou, quando na verdade o valor numerico da data 10/12/2016 = 42714 (Ctrl 1, formatacao Geral). Vimos que o excel entende uma data como numero, entao neste caso é necessário você transformar o numero '01012016' em data, para que o excel entenda o valor correspondente a data de 10/12/2016. Primeiro: Utilize as funcoes de texto para extrair o valor do dia, mes e ano e converta para valor numerico, visto que a funcao de texto retorna String. Para teste, você poderá digitar cada uma das funções em uma célula diferente. Dia =INT(esquerda(B6;2)) Mes =INT(ext.texto(B6;3;2)) ano =INT(direita(B6;4))

Segundo: Utilize a funcao data para juntar os valores de dia, mes e ano em uma data especifica, sendo: =Data(ano;mes;dia) =DATA(E6;D6;C6) ou =DATA(INT(direita(B6;4));INT(ext.texto(B6;3;2));INT(esquerda(B6;2)))

Agora que você converteu o valor em data, poderá utilizar normalmente.

Duvida 2: Selecione as celulas que deseja formatar e de um clique inverso e va em Formatar Celulas. Na opcao personalizado utilize a seguinte máscara de formatação:

Para as celulas com 14 numeros:000"."000"."000"."000"-"##

Para as celulas com 13 numeros: 000"."000"."000"."000"-"#

Espero que tenha auxiliado!

Abraços, Vivi

Oi Viviane tudo bem,primeiro queria te agradecer por me ajudar nesta questão. A primeira dúvida da data deu certo, mas a segunda dúvida não expliquei direito,vou tentar me expressar melhor: Eu queria ver se há possibilidade de aplicar 2 condições de formatação na MESMA CÉLULA

exemplo 1 : ao digitar 00122233344455 (14 dígitos) na célula A1 ele me retornasse 001.222.333.444-55

exemplo 2: ao digitar na mesma célula 0012223334445 (13 dígitos) na célula A1 ele me retornasse 001.222.333.444-5

em células diferentes eu vi que funciona,mas na mesma célula não consegui ,existe essa possibilidade?

Obrigado pela atenção!

solução!

Ola Sandro,

Existe sim como aplicar formatacao com duas condicoes, no entanto para isso é necessário vc utilizar programação em VBA.

Em um codigo VBA, podemos colocar por exemplo If len(activecell) = 14 then .. utiliza a propriedade numberformat para formatar caracteres elseif .... utiliza a propriedade numberformat para formatar outro modelo endif

Obs: VBA = Visual Basic For Application. Este curso estará sendo criado na plataforma alura em breve.

Obrigado Viviane Aguardarei o curso. Bom dia!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software