DATADIF no Excel: diferença entre datas em anos, meses e dias

Atualizado em 10. November 2026 · Equipe Exercícios Excel

O DATADIF conta o tempo entre duas datas na unidade que você pedir. Exemplo: =DATADIF(B2;C2;"Y") dá os anos completos entre a admissão e hoje.

Sintaxe

=DATADIF(data_inicial; data_final; unidade)
data_inicial
A data mais antiga.
data_final
A data mais nova. Pode ser HOJE().
unidade
"Y" anos, "M" meses, "D" dias, "YM" meses que sobram depois dos anos, "MD" dias que sobram depois dos meses.

Pratique agora

Exercício 1 de 2Correção na hora, sem cadastro

Em D2, calcule os anos completos entre a admissão (B2) e hoje (C2).

D2
fx
A
B
C
D
E
F
1
Funcionário
Admissão
Hoje
Anos
Meses
2
Ana Souza
15.03.2018
10.11.2026
3
4
5
6
7
8

Tempo de empresa em anos e meses

Calcule os anos com "Y" e os meses que sobram com "YM". Depois junte com &.

=DATADIF(B2;C2;"Y")&" anos e "&DATADIF(B2;C2;"YM")&" meses"

A função escondida

O DATADIF não aparece na lista de funções do Excel, mas funciona. Escreva o nome inteiro e os argumentos à mão.

Passo a passo

Escreva =DATADIF( e clique na data mais antiga. Depois do ponto e vírgula, clique na data mais nova ou escreva HOJE(). Por fim, escreva a unidade entre aspas: "Y" para anos, "M" para meses ou "D" para dias. Feche o parêntese.

=DATADIF(B2;HOJE();"M")

O Excel não mostra dicas para essa função enquanto você digita, porque ela é escondida. Escreva o nome inteiro e os argumentos com cuidado.

As unidades

  • "Y": anos completos
  • "M": meses completos
  • "D": dias
  • "YM": meses que sobram depois dos anos completos
  • "MD": dias que sobram depois dos meses completos
  • "YD": dias desde o último aniversário

Exemplo do dia a dia: férias

Na CLT, o funcionário ganha direito a férias a cada 12 meses de trabalho. Para saber quantos meses já foram trabalhados desde a admissão:

=DATADIF(B2;HOJE();"M")

Para saber quantos meses faltam para completar o próximo período, use =12-MOD(DATADIF(B2;HOJE();"M");12).

Tempo completo em texto

Junte as três partes para mostrar o tempo exato, como num atestado de tempo de serviço.

=DATADIF(B2;C2;"Y")&" anos, "&DATADIF(B2;C2;"YM")&" meses e "&DATADIF(B2;C2;"MD")&" dias"

DATADIF ou subtrair datas?

Para dias, a subtração simples (=C2-B2) é mais fácil e dá o mesmo resultado que "D". Para meses e anos, a subtração não serve, porque os meses têm tamanhos diferentes. Aí entra o DATADIF.

No Excel em inglês e no Google Planilhas

No Excel em inglês, a função se chama DATEDIF. No Google Planilhas, o nome é DATADIF também, com as mesmas unidades.

Exemplo do dia a dia: tempo de casa para promoção

Uma empresa só promove quem tem pelo menos 2 anos de casa. Com a admissão em B2, junte o DATADIF com SE:

=SE(DATADIF(B2;HOJE();"Y")>=2;"Pode ser promovido";"Ainda não")

Arraste para a lista inteira de funcionários e filtre por "Pode ser promovido" para ter a lista de candidatos.

Erros comuns

  • #NÚM!: a data inicial é maior que a final; troque a ordem
  • #VALOR!: uma das datas é texto, como uma data colada de um site; converta com DATA ou VALOR
  • #NÚM! com unidade escrita errado, como "A" para anos: as unidades são em inglês, "Y", "M" e "D"
  • Resultado um a menos do que o esperado: o DATADIF conta só períodos completos; quem faz aniversário amanhã ainda não completou o ano

Idade em dias, meses e anos

  • Anos: =DATADIF(B2;HOJE();"Y")
  • Meses totais: =DATADIF(B2;HOJE();"M")
  • Dias totais: =DATADIF(B2;HOJE();"D")

Bebês costumam ter a idade contada em meses até os 2 anos. Use "M" nesses casos.

Exemplo do dia a dia: garantia

Uma loja dá 12 meses de garantia. Com a data da compra em B2, o DATADIF em meses diz se o produto ainda está na garantia quando o cliente volta com um defeito.

=SE(DATADIF(B2;HOJE();"M")<12;"Na garantia";"Fora da garantia")

Erros comuns

#NÚM!

A data inicial é maior que a final. Troque a ordem.

#VALOR!

Uma das datas é texto. Confira se ela está alinhada à direita, como os números.

Perguntas frequentes

DATADIF dá erro com datas iguais?

Não. Com as duas datas iguais, o resultado é 0 em qualquer unidade.

Por que o DATADIF não aparece na lista de funções?

Ele foi criado para compatibilidade com programas antigos e ficou fora da lista e da ajuda do Excel. Mesmo assim, funciona em todas as versões atuais.

Como saber a idade em anos com uma casa decimal?

Use =FRAÇÃOANO(B2;HOJE()), que dá algo como 35,2. Arredonde com ARRED se precisar.

O DATADIF conta o ano bissexto?

Sim. Ele usa o calendário de verdade, com fevereiro de 28 ou 29 dias.

DATADIF funciona com horas?

Não. Ele ignora as horas e conta só dias, meses e anos.

DATADIF aceita a unidade em minúsculas?

Sim. "y" e "Y" funcionam igual.

Como calcular meses entre duas datas com casas decimais?

Use =FRAÇÃOANO(B2;C2)*12 para uma estimativa com decimais. O DATADIF só conta meses completos.

Como calcular a idade no Excel?

=DATADIF(B2;HOJE();"Y"), com a data de nascimento em B2.

DATADIF existe no Google Planilhas?

Sim, com o mesmo nome e as mesmas unidades.

Veja também

Treine DATADIF até ficar fácil

A lição "Funktion DATEDIF" tem 5 exercícios com correção na hora.

Começar grátis