Notifications
Clear all

Erro em Fórmula de Data

8 Posts
1 Usuários
0 Reactions
1,078 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde,

Na planilha em anexo, existe um campo chamado "Meses Usados", que toma por base da data do dia [=hoje()], e diminui do campo chamado "Início do Contrato". Esta planilha estava funcionando normalmente até o dia 31/12/2016. Agora, em 2017, ela simplesmente passou a colocar já como 2 meses, e se eu preencho alguma data do ano de 2016 no campo "Início do Contrato", o resultado é um número negativo de meses. A fórmula que estou usando no campo "Meses Usados" é esta: =SE(DIA(E2)-(DIA(A5))>0;1;0)+MÊS(E2)-MÊS(A5)

Agradeço quem puder me ajudar apontando onde está o erro para que eu possa corrigí-lo.

Att.

Nilton

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 09/02/2017 3:14 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Experimente utilizar: =SE(A5>0;DATADIF(A5;E2;"m");"")

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 09/02/2017 5:54 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde, Reinaldo.

A fórmula até funcionou, mas tem um detalhe. Pela sua fórmula, o excel retorna o valor de 4 meses. Entretanto, o correto seria 5 meses. Explico. Se a data "Início do Contrato" for 29/09/2016 e a data "Data do Pedido de Cancelamento" for 09/02/2017, o resultado deverá ser 5 meses, pois 4 meses seria até a data de 29/01/2017. Passando 1 dia, já consta como mais um mês.

Na verdade, estava funcionando, como eu citei, até dia 31/12/2016. Não foi feito nenhuma alteração. Portanto, não imagino o que possa ter acontecido. Agradeço se este meu "probleminha" for solucionado. Ou este mistério solucionado... hehehe

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/02/2017 1:27 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Não há mistério algum no "probleminha".
Sua formula aplicada tem duas partes.
A primeira SE(DIA(E2)-(DIA(A5))>0;1;0) - E2 sempre haverá uma data pois tem a função Hoje(), A5 nem sempre terá uma data, assim E2-A5 sempre será >0, resultando em 1.
A Segunda parte:MÊS(E2)-MÊS(A5), acontecimento similar pois E2 sempre terá uma data e A5 não, porem com uma diferença, devido a maneira que o excel considera/manipula datas, A5 sem data e considerado Zero, nessa condição para o mês(A5) (mês(0)) o retornosempre será=1, mês(E2)=2 - 1 =1 que somado a primeira parte resulta no 2 mostrado na celula.
Teste: Altera a data em E2 para 5/3/2017 (por exemplo) veja que em E5 o retorno sera 3.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/02/2017 6:01 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Esclarecido; espero eu; o mistério do valor em E5, vamos ao outro problema

....o resultado é um número negativo de meses...

Em sua formula não é levado em consideração o ano, considerando
E2= 12/02/2017 e A5=29/09/2016, retornará em E5=-7
Sua formula-->SE(DIA(E2)-(DIA(A5))>0;1;0)+MÊS(E2)-MÊS(A5) --> Dia(E2)=12- Dia(A5)=29 =-17 < portando primeira parte resultado =0

Mês(E2)=2 - Mês(A5)=9 =-7 <resultado da segunda parte> consequentemente resultado final.

Quando da mudanção de ano, voce deveria "calcular" quantos meses no primeiro ano e adicionar a quantidade de meses do segundo ano.
A Formula que propus, facilita esse calculo matemático, voce mencionou:
"O retorno foi 4 meses, porem o correto seriam 5"
a diferença em meses entre as datas são 4 meses e 14 dias ou seja somente 4 meses é correto, porem características de cada local/atividade devem sem consideradas e manipuladas (quando informadas/conhecidas)
Experimente: DATADIF(A5;E2;"m")+SE(DATADIF(A5;E2;"md")>0;1;0)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/02/2017 6:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Uma outra possibilidade é =TETO((E2-A5)/30;1)
Obs.: Para não aprecer valores "estranhos" quando não houver data em A5
se(A5="";"";TETO((E2-A5)/30;1))

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/02/2017 6:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde Nilton

Copie e cole a formula abaixo na célula E5:

=SE(DATA(ANO(E2);MÊS(E2);DIA(E2))>0;SE(MÊS(E2)>MÊS(A5);MÊS(E2)-MÊS(A5);MÊS(A5)-MÊS(E2)))

Se foi útil, clique na mãozinha.

Dê retorno.

[]

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/02/2017 3:05 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caros Reinaldo e Patropi.

Agradeço mais uma vez pela atenção e soluções dispensadas. Estou fechando este tópico pois o mesmo foi total e satisfatoriamente solucionado.

Att.

Nilton

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/02/2017 12:10 pm