03/09/2010

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

13 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. 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,

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

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

Deixe seu comentário