Fórmula do Excel: obtenha dias, meses e anos entre as datas -

Fórmula genérica

=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"

Resumo

Para calcular e exibir o tempo entre as datas em dias, meses e anos, você pode usar a fórmula com base na função DATEDIF.

No exemplo mostrado, a fórmula em D6 é:

=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"

onde as datas de início estão na coluna B e as datas de término estão na coluna C.

Explicação

A função DATEDIF foi projetada para calcular a diferença entre as datas em anos, meses e dias. Existem várias variações disponíveis (por exemplo, tempo em meses, tempo em meses ignorando dias e anos, etc.) e são definidas pelo argumento "unidade" na função. Consulte esta página sobre a função DATEDIF para uma lista completa das unidades disponíveis.

No exemplo mostrado, calculamos anos, meses e dias separadamente e, em seguida, "colamos" os resultados com a concatenação. Para obter anos inteiros, usamos:

DATEDIF(B6,C6,"y")&" years,"

Para obter meses inteiros, usamos:

DATEDIF(B6,C6,"ym")&" months,"

E calculamos os dias com:

DATEDIF(B6,C6,"md")&" days"

O resto da fórmula é simplesmente o texto necessário unido ao operador de concatenação (&).

Sem valores zero

Para evitar a saída de dias, meses ou anos com valores zero, você pode agrupar cada função DATEDIF dentro de IF, conforme mostrado aqui (quebras de linha adicionadas para facilitar a leitura):

= IF(DATEDIF(B6,C6,"y"), DATEDIF(B6,C6,"y")&"yr ","")& IF(DATEDIF(B6,C6,"ym"), DATEDIF(B6,C6,"ym")&" mo ","")& IF(DATEDIF(B6,C6,"md"), DATEDIF(B6,C6,"md") &" dy","")

Para evitar que vírgulas extras apareçam no resultado final, as vírgulas foram substituídas por espaços. Usar a fórmula DATEDIF original como o "teste lógico" dentro de IF funciona porque IF trata qualquer resultado diferente de zero como verdadeiro.

Bons links

Artigo detalhado sobre DATEDIF (Ablebits)

Artigos interessantes...