21/08/2014

ad.

Intervalo de datas em dias, meses e anos no Excel

Em outro post um internauta enviou uma mensagem muito boa: -como calcular o intervalo entre duas datas e obter a resposta em dias meses e anos.

Na verdade é  muito simples de se fazer isso no Excel, basta utilizar a função DATEDIF().

Tudo sobre DATEDIF()
Tá bom, quase tudo sobre DATEDIF(). Vamos lá!
Ela calcula o intervalo entre duas datas e recebe apenas três parâmetros:
Data Inicial, Data final e tipo de cálculo. As duas primeiras são bastante óbvias, as datas que desejo calcular o intervalo. A terceira opção possui 6 valores:

valor descrição explicação
“d” dias calcula a quantidade de dias entre duas datas
“m” meses calcula a quantidade de meses entre duas datas
“y” anos calcula a quantidade de anos entre duas datas
“yd” Dias excluídos anos calcula a quantidade de dias entre duas datas, como se elas estivessem no mesmo ano
“ym” meses excluídos anos calcula a quantidade de meses entre duas datas como se elas estivessem no mesmo ano
“md” Dias excluídos meses e anos calcula a quantidade de dias entre duas datas, como se elas estivessem no mesmo mês do mesmo ano

Vamos deixar isso um pouco mais claro…
as três primeiras opção são bem óbvias, e dão o resultado do intervalo em dias ou meses ou anos. Por exemplo, entre 28/02/1970 e 20/11/2005, se passaram 13049 dias. Ou ainda, 428 meses. Ou 35 anos.

Já as três seguintes costumam confundir um pouco mais.
YD é o intervalo em dias se as datas estivessem no mesmo ano. No exemplo abaixo, entre 28/02 e 20/11 há 265 dias.
YM é o intervalo em meses se as datas estivessem no  mesmo ano. No exemplo abaixo, entre 28/02 e 20/11 há 8 meses.
MD
é o intervalo em dias se as datas estivessem no mesmo mês ou em meses consecutivos. No exemplo abaixo, entre o dia 28 de um mês e o dia 20 do mês seguinte há 23 dias. Nesse cálculo são considerados meses de 31 dias.

função datedif no excel

função datedif no excel

E se eu quiser algo mais complexo, como o exemplo do título, a diferença em dias meses e anos? Bem, basta “juntar” os pedaços. No excel, para anexar um texto a uma fórmula, basta utilizar o &. Portanto, a fórmula:

=TEXT(DATEDIF(B7;B8;”Y”);0) & ” anos, ” & TEXT(DATEDIF(B7;B8;”YM”);0) & “meses e ” & TEXT(DATEDIF(B7;B8;”MD”);0) & ” dias”

exibe a caixa abaixo:

excel - data em dias, meses e anos

excel - data em dias, meses e anos

comentários

44 comentários para “Intervalo de datas em dias, meses e anos no Excel”

  1. Como calcular diferença de datas (idade) no Excel : CompDicas em 02/09/2009

    [...] Intervalo de datas em dias, meses e anos no Excel [...]

  2. Ataíde Alves Filho em 29/09/2009

    Muito legal sua dica e clara, mas não estou conseguindo fazer, está dando erro. A formatação da data influencia algum coisa no resultado? Devo sempre escolher da data maior para menor?
    Obrigado

    Ataide,
    como no exemplo acima, sempre a data MENOR primeiro, seguida da MAIOR: DATEDIF(DATAMENOR;DATAMAIOR; TIPOINTERVALO)
    []s
  3. RODRIGO em 09/11/2009

    Estou tentando executar essa formula , porém da erro #NOME?
    Estou usando o sistema operacional linox.

    Gostaria se possivel que me enviasse um exemplo no proprio excel , para saber se estou fazendo tudo certinho.

    Desde de já agradeço.

  4. Dilson Macedo em 27/11/2009

    Eu também não estou conseguindo. Verifiquei no assistente de funções e não encontrei nada sobre esta função. Por favor, queria saber um pouco mais, pois me será de grande utilidade.

    De já agradeço a atenção.

    Um Abraço!

    Dilson,
    essa função não está documentada no Excel (não sei qual o motivo), por isso considero essa uma das dicas mais úteis do site.
    []s
  5. Eder Pardeiro em 19/01/2010

    Boa noite,

    Procurei a função, tanto no Excel 2003 quanto no Excel 2007 e não encontrei. O que há de errado?

  6. Eder Pardeiro em 19/01/2010

    Encontrei…. Na verdade a Função é DATADIF

    Pode ser alguma diferença entre idioma do Excel….

  7. Breno em 21/01/2010

    Para Excel em português usem:

    =DIAS360(A1;A2), para retornar o número de dias de um intervalo.

    A1 e A2 são datas.

    PS: Odeio isso, a Microsoft fica traduzindo fórmulas.

  8. MANOEL em 21/03/2010

    No encontrei a função no excel em inglês do mac os. Tem algo de diferente? A função não existe aqui

  9. rodrigo luis' em 23/03/2010

    eu quero saber o intervalo de tempo de um ano corresponde a quantos segundos?

  10. Aldemário em 14/04/2010

    Usei a fórmula ‘datadif’ e deu certo no S.O.V.. excel 2007.
    Gostaria de saber como faço para atualizar data, ex: 14/04/2010 (hoje), amanhã quando abrir o ducumeto a data estar atualizada em 15/04/2010. Existe esta fórmula?

    Muito obrigado pela dica acima, muito útil.

  11. DarkSHare em 27/05/2010

    Olá, a fórmula DIAS360 não funciona corretamente, pois considera que todos os meses tem 30 dias, o que não é verdade. Então para que isso possa funcionar corretamente o melhor mesmo é usar DATADIF(A1;A2;”D”) conforme foi apresentada acima. Muita gente, assim como eu teve o problema de usar o nome em inglês DATEDIF(), mas para versões em português ela é traduzida para DATADIF() assim como Eder já havia postado um comentário.

    Aqui está funcionando 100% agora. valeu pela dica!

    Abrs

  12. Lilian em 08/06/2010

    Então…de fato no meu excel a fórmula é =Dias360…só q qdo coloco o método dá a mensagem NOME?…..como devo proceder então ?

    obrigada

  13. CLAUDIO em 22/06/2010

    A FÓRMULA CORRETA PARA O EXCEL 2007 É ESTA:

    =TEXTO(DATADIF(A2;B2;”Y”);0) & “anos,” & TEXTO(DATADIF(A2;B2;”YM”);0) & “meses,” & TEXTO(DATADIF(A2;B2;”MD”);0) & “dias”

    USEI E DEU CERTO.
    É SÓ ESCOLHER A FUNÇÃO E COPIAR E COLAR NA CÉLULA


    Claudio,
    por algum motivo místico, a microsoft “traduziu” os comando do VB para seus aplicativos. De fato, sua fórmula utiliza as funçôes com os nomes em português.
    Grato pela dica.

    []s

    Claudio,

  14. Vlookup - como procurar dados em uma tabela do excel : CompDicas em 21/07/2010

    [...] Intervalo de datas em dias, meses e anos no Excel [...]

  15. AECIO em 25/08/2010

    a fórmula funciona mas só conta a data de início e não a data fim ou virse versa assim, fica faltando um dia. Alguem tem a solução

  16. marcio em 09/09/2010

    tchê, até agora deu tudo certo, mas eu preciso, dentro do intervalo que achei baseado na tua fórmula, acrescentar outro resultado(tbm baseado na fórmula) e abater outro resultado(tbm baseado na fórmula), como faço?
    PERÍODO
    DATA INICIAL 01/03/1992
    DATA FINAL 30/06/2010
    INTERVALO 18 anos 3 meses 29 dias

    ABATIMENTO
    DATA INICIAL 01/01/2005
    DATA FINAL 01/03/2005
    INTERVALO 0 anos 2 meses 0 dias

    ACRÉSCIMO
    DATA INICIAL 01/01/2006
    DATA FINAL 01/01/2008
    INTERVALO 2 anos 0 meses 0 dias

    TEMPO FINAL
    ?????????????????????

  17. elielton lima guirra em 22/09/2010

    A minha duvida é como encontrar dados entre datas, é possível? e como fazer para o exel listar os dados entre a data inicial e a data final.

  18. Roberto em 27/09/2010

    Pessoal, preciso calcular uma data final. Tenho uma data inicial (15/10/2010 ) e o intervalo ( 15 dias ), quero que ele me dê a data final. No exemplo acima, seria 30/10/2010. Alguem sabe?

  19. Thalles em 13/10/2010

    A formula DATADIF() retorna, pelo menos para min, um valor incorreto quando tento calcular a diferença entre as datas 25/04/2011 e 25/05/2011 ele retorna 30 dias e na verdade são 31. Como solucionar o problema?

  20. Antonio Bezerra em 25/02/2011

    Formula Correta – Testada e Aprovada no Excel 2007. (anos, meses, dias, horas e segundos) Cálculo Preciso.

    =DATADIF(A1;A2;”y”) &” ano(s), ” &DATADIF(A1;A2;”ym”) &” mês(es) e ” &DATADIF(A1;A2;”md”) &” dia(s) ” & HORA(SE(MOD(A2;1)> MOD(A1;1);MOD(A2;1)-MOD(A1;1); 1-MOD(A1;1)+MOD(A2;1))) & “hora(s), “&MINUTO(SE(MOD(A2;1)> MOD(A1;1);MOD(A2;1)-MOD(A1;1); 1-MOD(A1;1)+MOD(A2;1))) &” minuto(s) e ” &SEGUNDO(SE(MOD(A2;1) >MOD(A1;1);MOD(A2;1) -MOD(A1;1);1 -MOD(A1;1)+MOD(A2;1))) &” segundo(s)”

  21. Jose Carlos de Campos Soares em 24/08/2011

    Pessoal o correto para o exemplo acima no Excel 2007 em Português é:
    TEXTO(DATADIF(B7;B8;”y”)&” anos, “;”&”)&TEXTO(DATADIF(B7;B8;”YM”)&” meses e “;”&”)&TEXTO(DATADIF(B7;B8;”MD”)&” dias. “;”&”).
    Abre-se a função texto e coloca-se:
    Em Valor: DATADIF(B7;B8;”y”)&” anos, ”
    Em Formato_texto: &
    Faz-se cada um deles para conferir e estando correto, insere-se entre um e outro somente & junto com a palavra TEXTO seguinte.
    Espero ter ajudado.

  22. Evelyn Silva em 15/09/2011

    Bom dia pessoal,

    Para não aparecer mensagem de erro, ao invés de colocar DATEDIF coloque DATADIF, com A .

    Até logo…..

  23. Val em 07/12/2011

    Entendi como faço para achar a quantidade de meses entre duas datas.

    Tem como eu colocar alguma formula que limita, exemplo aparece 45 meses, mas quero que acima de 20 meses, mantnha 20 meses. como faço isso?

  24. Roger em 28/12/2011

    Pessoal preciso de uma ajuda. Eu quero uma formula ou método que permita ao excel iseril linhas automáticas mediante um numero expresso numa outra célula.

  25. MARIO em 17/01/2012

    E nos excéis (sé é que existe isso) mais antigos. O meu é de 2002 (aliás, funciona muito bem). Como posso fazer?

  26. Viviane em 27/02/2012

    Olá! Gostei muito das dicas, mas a única fórmula que funcionou no meu excel foi:
    =DATADIF(C47;E47;”y”) & ” ano(s) e ” & DATADIF(C47;E47;”ym”) & ” mês(es) e ” & DATADIF(C47;E47;”md”) & ” dia(s) ”
    Ai calculou certinho!

  27. Paulo Victor em 28/02/2012

    Acho que esta traduzido pq nos EUA eles usam a disposicao mm/dd/aaaa para datas. Nos usamos dd/mm/aaaa.

  28. Sitói Monteiro em 09/03/2012

    Esta função funciona perfeitamente. É claro que ainda não esta documentada no excel mas ela funciona. O que se deve fazer é posicionar o cursor no local onde deve aparecer o resultado e botar a fórmula. Por exemplo : =DATEDIF(Endereço1; Endeteço2; “critério”). Não te esqueças que o critério deve estar entre parenteses como está mencionado.

    Sitói Monteiro

  29. Kelly em 23/03/2012

    Olá,

    Parece que essas formulas nao funcionam com Windows 2010
    Tentei todas as possibilidades acima, ele não reconhece DATADIF;DATEDIF – tem o DIAS360 porém além de apresentar #ERRO! OU #NOME? ele considera 31 dias
    E não é isso que preciso.

    Alguém pode ajudar?

  30. Maira Moraes em 03/04/2012

    Perfeita essa dica, adorei! Quando pesquisei a fórmula achei que fosse algo mirabolante…. mas é mt simples!

    Obrigada!

    Abs,

    Maira.

  31. Rocheiro em 18/04/2012

    Boas ppl ha maneira de somar 2 intervalos ???

  32. PAULO em 19/04/2012

    OBRIGADO ESTAVA PROCURANDO POR ESSA FORMULA

  33. Gean Portela em 25/04/2012

    Esta fórmula não funcionou como descrito pelos colegas acima. No entanto, fiz umas modificações. Retirei a palavra “texto” da sintaxe e funcionou perfeitamente. Conforme está descrito abaixo

    =DATADIF(B2;A6;”Y”)&” ANOS, “&DATADIF(B2;A6;”YM”)&” MESES E “&DATADIF(B2;A6;”MD”)&” DIAS”

  34. Francisco em 22/05/2012

    Usando o datadif como eu faço aqui para o resultado continuar sempre sendo somado
    e sendo varias datas diferentes uma da outra

    dt Inic dat Final Resultado
    10/05/2000 05/10/2001 1Ano(s), 4Mês(es) e 26Dia(s)
    05/02/2002 02/05/2003 1Ano(s), 2Mês(es) e 28Dia(s)
    10/11/2011 22/05/2012 0Ano(s), 6Mês(es) e 12Dia(s)

  35. Toni em 11/06/2012

    Preciso muito de ajuda tem como alguém me ajudar?

    Preciso de uma formula que me dê ANO, MES e DIA, porém com um detalhe.

    Preciso que esta fórmula some meses, dias e anos juntamente com a formula acima.

    Exemplo: 09/03/2001-11/06/2012 = 11 anos 03 meses e 11 dias

    Mas eu preciso somar nesta formula acima com o tempo de 02 anos 5 meses e 3 dias.

    Por favor alguém pode me ajudar?

  36. Mateus Felippin em 14/08/2012

    Pode estar dando erro no Excel de algumas pessoas por ser a versão em português. Então vocês coloquem a fórmula final da seguinte forma (considerando a Data Inicial em A1 e Data Final em B1):
    =TEXTO(DATADIF(A1;B1;”Y”);0) & ” anos, ” & TEXTO(DATADIF(A1;B1;”YM”);0) & ” meses e ” & TEXTO(DATADIF(A1;B1;”MD”);0) & ” dias “

  37. ANDERSON LUIZ em 15/09/2012

    Bom dia, Pessoal,

    Será que alguém pode me ajudar ?

    Estou tentando calcular qual será a data final de uma prestação de 28 meses , iniciada em 31/08/2012, e estou encontrando somente funções que calculam a diferença entre duas datas conhecidas.

    Alguém sabe resolver este problema ?

    Desde já agradeço a atenção de todos:

    Obrigado.

  38. Elsa em 21/09/2012

    Aqui fica a fórmula para quem não tem a versão portuguesa:

    =TEXT(DATEDIF(A2;B2;”Y”);0) & “anos,” & TEXT(DATEDIF(A2;B2;”YM”);0) & “meses,” & TEXT(DATEDIF(A2;B2;”MD”);0) & “dias”

    Nota: Se não funcionar, experimentem apagar as aspas e voltar a colocá-las (sem copy paste).

  39. Rogério Escalante em 23/09/2012

    Oi, pessoal!

    Eu gostaria que me mostrasse dia da semana com diferenças das duas datas:
    Por exemplo: Data Inicial: 01/09/2012 até 23/09/2012 – verificar quantos tem dia de terça-feira= 03 dias de terça-feira mostrando assim:
    04/09/2012
    11/09/2012
    18/09/2012
    Obrigado!
    Rogério

  40. Wallace em 06/10/2012

    Pessoal, tentei todos as fórmulas apenas copiando e colando mas o erro persistia… prestem atenção se o problema está no espaçamento entre os caracteres… segue o meu que agora deu certinho:

    =TEXTO(DATADIF(B4;C4;”Y”);0)&” anos ” & TEXTO(DATADIF(B4;C4;”YM”);0)&” meses “& TEXTO(DATADIF(B4;C4;”MD”);0)& ” dias”

  41. WALTENIO em 20/10/2012

    Eu estou precisando de uma fórmula que calcule a média dos ultimos 7 valores digitados, ou seja, a medida que eu for lançando novos valores, os antigos possam ser desconsiderados me dando uma média apenas dos ultimos 7 dias.

  42. JOSÉ ROBERTO em 28/11/2012

    Gostaria de saber como resolver este problema:

    Quero calcular meses um um intervalo de células, EX.

    célula A1 = 2005
    célula A2 = março
    célula A3 = 2012
    célula A4 = junho
    Quero calcular quantos meses tem de março de 2005 a junho de 2012.
    Obrigado.

  43. Teca Andrade em 20/12/2012

    Olá!
    A fórmula tanto com = TEXTO(DATADIF(A1;B1;”Y”… , quanto com o =DATADIF(A1;B1;”Y”… está dando certo. No entanto minha dificuldade é a formatação de 1 mês ficar como “1 mês” mesmo e não “1 meses” e assim para 1 ano ou 1 dia, em vez de sair tudo no plural. Alguém poderia me ajudar com isso?
    Grata, Teca

  44. Odri Fadoul em 23/05/2013

    Pessoal,

    Boa tarde,

    Tem como colocar por periodo? Tipo, quero colocar assim:
    01/05/2013 a 23/05/2013.
    Quando eu abri minha planilha diariamente ela atualizar automaticamente esse periodo.

    Alguem pode me ajudar e se existe uma formula pra isso.

Deixe seu comentário