
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.