Essa função é tão boa que nem aparece no autocomplete do Excel.
A Microsoft literalmente escondeu ela… mas você vai descobrir agora como calcular idades, tempo de serviço e diferenças de datas como um mestre.
Neste artigo iremos mostrar tudo sobre a função DATADIF, a função mais poderosa e mais secreta do Excel para trabalhar com diferença entre datas.

Por que DATADIF é uma função escondida?
DATADIF não aparece quando você digita no Excel.
Sério. Você pode começar a digitar “=DATA…” e o autocomplete vai mostrar DATA, DATAM, DATAVALOR… mas DATADIF não aparece.
É como se a Microsoft não quisesse que você descobrisse.
A origem da função escondida
DATADIF vem do antigo Lotus 1-2-3, concorrente do Excel nos anos 80 e 90.
A Microsoft incluiu a função para compatibilidade com planilhas antigas, mas nunca documentou oficialmente.
Por isso ela funciona perfeitamente, mas não aparece na lista de funções.
O que a função DATADIF faz
DATADIF calcula a diferença entre duas datas de várias formas diferentes.
Quer saber:
- Quantos anos entre duas datas?
- Quantos meses?
- Quantos dias?
- Quantos anos E meses completos?
- Tempo de empresa de um funcionário?
DATADIF resolve tudo isso.
Sintaxe da função DATADIF
=DATADIF(data_inicial; data_final; unidade)
Parâmetros
data_inicial: A data mais antiga (ponto de partida)
data_final: A data mais recente (ponto de chegada)
unidade: Código que define o tipo de cálculo (entre aspas)
IMPORTANTE: A data inicial sempre vem primeiro. Se inverter, dá erro.
Os 6 códigos de unidade
DATADIF aceita 6 códigos diferentes, cada um com uma função específica.
“Y” – Anos completos
=DATADIF(data_inicial; data_final; “Y”)
“Y” vem de Years (anos em inglês).
Retorna quantos anos completos existem entre as datas.
Exemplo:
Data inicial: 15/02/2019
Data final: 31/12/2025
=DATADIF(“15/02/2019″;”31/12/2025″;”Y”)
Resultado: 6 anos
“M” – Meses totais
=DATADIF(data_inicial; data_final; “M”)
“M” vem de Months (meses).
Retorna o total de meses entre as datas.
Exemplo:
Mesmas datas acima.
=DATADIF(“15/02/2019″;”31/12/2025″;”M”)
Resultado: 82 meses (6 anos × 12 + 10 meses)
“D” – Dias totais
=DATADIF(data_inicial; data_final; “D”)
“D” vem de Days (dias).
Retorna o total de dias entre as datas.
Exemplo:
=DATADIF(“15/02/2019″;”31/12/2025″;”D”)
Resultado: 2.510 dias (aproximadamente)
“YM” – Meses restantes após anos completos
=DATADIF(data_inicial; data_final; “YM”)
“YM” = Years-Months (meses após os anos).
Ignora os anos completos e retorna apenas os meses restantes.
Exemplo:
=DATADIF(“15/02/2019″;”31/12/2025″;”YM”)
Resultado: 10 meses (os meses de fevereiro a dezembro)
Perfeito para combinar com “Y” e mostrar “6 anos e 10 meses”.
“MD” – Dias restantes após meses completos
=DATADIF(data_inicial; data_final; “MD”)
“MD” = Months-Days (dias após os meses).
Ignora anos e meses completos, retorna apenas os dias restantes.
Exemplo:
=DATADIF(“15/02/2019″;”31/12/2025″;”MD”)
Resultado: 16 dias (de 15 a 31)
“YD” – Dias restantes após anos completos
=DATADIF(data_inicial; data_final; “YD”)
“YD” = Years-Days (dias após os anos).
Ignora os anos completos e retorna os dias restantes.
Exemplo:
=DATADIF(“15/02/2019″;”31/12/2025″;”YD”)
Resultado: 320 dias (de 15/02 a 31/12 dentro de um ciclo anual)
A fórmula mais útil: Anos e Meses combinados
Para a maioria das aplicações, você quer mostrar anos E meses juntos.
Fórmula completa
=DATADIF(B2;C2;”Y”) & ” anos e ” & DATADIF(B2;C2;”YM”) & ” meses”
Onde B2 é a data inicial e C2 é a data final.
Exemplo prático
B2: 15/02/2019
C2: 31/12/2025
Resultado: “6 anos e 10 meses”
Perfeito para relatórios de RH, contratos, idades exatas.
Aplicações práticas da DATADIF
1. Calcular idade exata
=DATADIF(data_nascimento; HOJE(); “Y”) & ” anos”
Mostra a idade atual da pessoa em anos completos.
Para mostrar anos e meses:
=DATADIF(data_nascimento; HOJE(); “Y”) & ” anos e ” & DATADIF(data_nascimento; HOJE(); “YM”) & ” meses”
2. Tempo de serviço de funcionários
=DATADIF(data_admissão; HOJE(); “Y”) & ” anos e ” & DATADIF(data_admissão; HOJE(); “YM”) & ” meses”
Essencial para RH calcular tempo de casa, direito a férias, adicional por tempo de serviço.
3. Duração de contratos
=DATADIF(data_início; data_fim; “M”) & ” meses”
Quanto tempo durou ou vai durar um contrato.
4. Idade de bebês
=DATADIF(data_nascimento; HOJE(); “M”) & ” meses”
Para bebês, é comum medir idade em meses nos primeiros anos.
5. Prazo de projetos
=DATADIF(início_projeto; fim_projeto; “D”) & ” dias”
Quantos dias levou um projeto do início ao fim.
Como usar DATADIF (passo a passo)
Passo 1: Digite manualmente
Não vai aparecer no autocomplete. Você precisa digitar =DATADIF( do zero.
Passo 2: Informe a data inicial
Pode ser uma referência de célula (A2) ou uma data entre aspas (“15/02/2019”).
Passo 3: Ponto e vírgula
;
Passo 4: Informe a data final
Também pode ser célula ou data direta.
Use HOJE() se quiser calcular até hoje.
Passo 5: Ponto e vírgula
;
Passo 6: Código entre aspas
“Y”, “M”, “D”, “YM”, “MD” ou “YD” – sempre em maiúsculas e entre aspas.
Passo 7: Fecha parênteses e Enter
) e pressione Enter.
Erros comuns com DATADIF
Erro 1: Usar minúsculas
Errado: =DATADIF(A2;B2;”y”)
Correto: =DATADIF(A2;B2;”Y”)
A função é case sensitive. Use sempre MAIÚSCULAS.
Erro 2: Inverter as datas
Errado: =DATADIF(data_final; data_inicial; “Y”)
Isso retorna erro #NÚM!
Correto: =DATADIF(data_inicial; data_final; “Y”)
Data mais antiga sempre primeiro.
Erro 3: Esquecer as aspas no código
Errado: =DATADIF(A2;B2;Y)
Correto: =DATADIF(A2;B2;”Y”)
O código precisa estar entre aspas.
Erro 4: Confiar no autocomplete
DATADIF não vai aparecer. Digite manualmente e confie que funciona.
DATADIF funciona em todas as versões?
Sim! A função funciona em:
- Excel 2003
- Excel 2007
- Excel 2010
- Excel 2013
- Excel 2016
- Excel 2019
- Excel 2021
- Excel 365
- Excel para Mac
- Excel Online (versão web)
Mesmo sendo “escondida”, funciona em absolutamente todas as versões.
Alternativas à DATADIF
Se por algum motivo você não quiser usar DATADIF, existem alternativas:
Para anos
=INT((data_final – data_inicial)/365,25)
Menos preciso que DATADIF por causa de anos bissextos.
Para meses
*=(ANO(data_final)-ANO(data_inicial))12 + MÊS(data_final)-MÊS(data_inicial)
Funciona, mas é mais complexo.
Para dias
=data_final – data_inicial
Simples subtração funciona para dias totais.
Mas DATADIF é mais elegante e precisa.
Por que profissionais de RH amam DATADIF
Se você trabalha com Recursos Humanos e não conhecia DATADIF, sua vida acabou de mudar.
Aplicações em RH:
- Tempo de casa para calcular férias proporcionais
- Idade para verificar aposentadoria
- Experiência profissional em currículos
- Tempo em cada cargo para promoções
- Licenças e afastamentos
- Contratos de experiência (45 dias, 90 dias)
Uma única função resolve dezenas de cálculos que RH faz diariamente.
Comparação: com DATADIF vs sem DATADIF
Sem DATADIF (trabalhoso)
Calcular “6 anos e 10 meses” manualmente:
- Contar anos: (2025-2019) = 6
- Contar meses: (12-2) = 10
- Digitar manualmente: “6 anos e 10 meses”
Repetir para cada funcionário. Demorado e com risco de erro.
Com DATADIF (automático)
=DATADIF(B2;C2;”Y”) & ” anos e ” & DATADIF(B2;C2;”YM”) & ” meses”
Arrasta para 500 funcionários. Instantâneo e sem erros.
Compartilhe ou Comente
Se você curtiu esse artigo aonde mostramos a função DATADIF, a função secreta que a Microsoft escondeu de você no Excel, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.
Você já conhecia DATADIF ou está descobrindo agora? Trabalha com RH e vai usar essa função? Conta para nós nos comentários!