=DATADIF(A2;B2;"M") conta os meses completos entre a data inicial em A2 e a data final em B2. O terceiro argumento, a unidade, decide o que é contado: "Y" anos, "M" meses, "D" dias, mais três unidades que ignoram parte das datas. A DATADIF se chama DATEDIF em inglês; a tabela mostra as fórmulas em inglês, com vírgulas, e também aceita a forma em português, com ponto e vírgula.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Start | End | Unit | Result | |
| 2 | 2024-04-15 | 2026-09-10 | Y | 2 | |
| 3 | M | 28 | |||
| 4 | D | 878 | |||
| 5 | YM | 4 | |||
| 6 | MD | 26 | |||
| 7 | YD | 148 |
=DATADIF($A$2;$B$2;D3)De 2024-04-15 a 2026-09-10 há 2 anos completos, 28 meses completos e 878 dias. Mude a data final em B2 e veja cada unidade mudar. A unidade pode ser digitada na fórmula ("M") ou, como aqui, lida de uma célula.
Sintaxe e unidades da DATADIF
=DATEDIF(start_date, end_date, unit)
| Unidade | Conta | 2024-04-15 a 2026-09-10 |
|---|---|---|
"Y" | anos completos | 2 |
"M" | meses completos | 28 |
"D" | dias | 878 |
"YM" | meses depois do último ano completo | 4 |
"MD" | dias depois do último mês completo | 26 |
"YD" | dias depois do último ano completo | 148 |
"Completo" significa que a DATADIF nunca arredonda para cima. De 31 de janeiro a 28 de fevereiro são 0 meses, porque 28 de fevereiro vem antes da marca de um mês. A unidade não diferencia maiúsculas ("m" também funciona), mas precisa estar entre aspas ou em uma célula.
Por que a DATADIF não está na lista de funções
A DATADIF veio do Lotus 1-2-3 para o Excel, e a Microsoft só a mantém por compatibilidade. Ela não está na caixa Inserir Função, o preenchimento automático de fórmulas não a sugere e nenhuma dica mostra os argumentos dela. Mesmo assim ela calcula em todas as versões do Excel no Windows e no Mac, e no Google Planilhas. Digite o nome inteiro e o parêntese de abertura, =DATADIF(, e acrescente os argumentos você mesmo.
Meses entre duas datas
Meses completos são o que a maioria dos contratos, assinaturas e relatórios de tempo de casa precisa. Para um número decimal, FRAÇÃOANO(A2;B2)*12 (YEARFRAC em inglês) retorna os meses mantendo a fração (a base padrão dela conta todo mês como 30 dias).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | Full months | Decimal months |
| 2 | 2025-03-10 | 2026-01-05 | 9 | 9.8 |
| 3 | 2024-04-15 | 2026-09-10 | 28 | 28.8 |
| 4 | 2026-01-31 | 2026-02-28 | 0 | 0.9 |
| 5 | 2025-11-01 | 2026-05-01 | 6 | 6.0 |
=DATADIF(A2;B2;"M")A primeira assinatura durou 9 meses completos: 5 de janeiro vem antes do dia 10, então o décimo mês não conta. A terceira linha mostra o caso de 31 de janeiro, 0 meses.
Anos, meses e dias juntos
"Y", "YM" e "MD" foram feitos para serem usados juntos. Cada um continua de onde o anterior parou, então os três respondem "quanto tempo, exatamente": 2 anos, 4 meses e 26 dias para as datas acima. Calcular idade usa as mesmas três unidades com datas de nascimento.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Hired | Years | Months | Days | Service | As of |
| 2 | 2019-06-03 | 7 | 3 | 27 | 7y 3m 27d | 2026-09-30 |
| 3 | 2023-11-20 | 2 | 10 | 10 | 2y 10m 10d |
=B2&"y "&C2&"m "&D2&"d"O primeiro funcionário tem 7 anos, 3 meses e 27 dias de casa em 2026-09-30.
Por que a DATADIF retorna #NÚM!
A DATADIF se recusa a contar para trás. Quando a data inicial é posterior à data final, o resultado é #NÚM! (#NUM! em inglês; a tabela mostra os nomes de erro em inglês). Se a ordem pode variar, passe à DATADIF a data menor com a MÍNIMO e a maior com a MÁXIMO.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | DATEDIF | With MIN and MAX |
| 2 | 2026-03-10 | 2026-01-05 | #NUM! | 64 |
#NUM! Um número está fora do intervalo aceito por esta função.No Excel em português: =DATADIF(A2;B2;"D")C2 mostra #NUM!; D2 retorna 64. Só para dias, =ABS(B2-A2) dá os mesmos 64 sem a DATADIF. A DATADIF também retorna #NÚM! para uma unidade desconhecida, como "W", e #VALOR! (#VALUE!) quando uma data é um texto que o Excel não consegue ler como data.
A unidade MD pode errar
A própria documentação da Microsoft desaconselha o "MD": quando o dia inicial não existe no mês anterior à data final, ele pode retornar um número negativo.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | MD | D |
| 2 | 2026-01-31 | 2026-03-01 | -2 | 29 |
=DATADIF(A2;B2;"MD")De 31 de janeiro a 1º de março o resultado de "MD" é -2: a DATADIF conta a partir de "31 de fevereiro", que passa para 3 de março, dois dias depois da data final. A contagem de dias, 29, está certa. Quando as datas iniciais podem cair entre os dias 29 e 31, mostre a duração em dias, ou confira o número do MD à mão.
Prática: contar os meses
| A | B | C | |
|---|---|---|---|
| 1 | Start | End | Months |
| 2 | 2025-03-10 | 2026-01-05 |
Sua vez: Em C2, conte os meses completos entre a data inicial em A2 e a data final em B2.
| A | B | C | |
|---|---|---|---|
| 1 | Date 1 | Date 2 | Days |
| 2 | 2026-04-18 | 2026-02-01 |
Sua vez: Em C2, conte os dias entre as duas datas, seja qual for a que vem primeiro.
Perguntas frequentes
O que a DATADIF faz no Excel?
Ela conta os anos, meses ou dias completos entre duas datas: =DATADIF(A2;B2;"Y") para anos, "M" para meses, "D" para dias. A data inicial precisa vir primeiro.
Por que não encontro a DATADIF no Excel?
A DATADIF existe por compatibilidade com o Lotus 1-2-3, então o Excel a deixa de fora da caixa Inserir Função e do preenchimento automático de fórmulas. Ela continua funcionando em todas as versões: digite =DATADIF( por inteiro e acrescente os argumentos você mesmo.
Por que a DATADIF retorna #NÚM!?
A data inicial é posterior à data final. Inverta os argumentos, ou use =DATADIF(MÍNIMO(A2;B2);MÁXIMO(A2;B2);"D") quando você não sabe qual data vem primeiro.
Qual a diferença entre YM, MD e YD na DATADIF?
Eles ignoram parte das datas: "YM" dá os meses que sobram depois dos anos completos, "MD" os dias que sobram depois dos meses completos, e "YD" os dias que sobram depois dos anos completos. Juntos, "Y", "YM" e "MD" dão uma idade em anos, meses e dias.
A DATADIF funciona no Google Planilhas?
Sim, com os mesmos argumentos e unidades. O Google Planilhas também a lista na ajuda de funções, ao contrário do Excel.