Формула Excel: отримуйте дні, місяці та роки між датами -

Загальна формула

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

Резюме

Для обчислення та відображення часу між датами у днях, місяцях та роках ви можете використовувати формулу, засновану на функції DATEDIF.

У наведеному прикладі формула в D6 має вигляд:

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

де дати початку знаходяться у стовпці B, а дати закінчення - у стовпці C.

Пояснення

Функція DATEDIF призначена для обчислення різниці між датами в роках, місяцях і днях. Доступно декілька варіацій (наприклад, час у місяцях, час у місяцях, ігноруючи дні та роки тощо), і вони встановлюються аргументом "одиниця" у функції. Повний список доступних одиниць дивіться на цій сторінці функції DATEDIF.

У наведеному прикладі ми обчислюємо роки, місяці та дні окремо, а потім "склеюємо" результати разом із об'єднанням. Щоб отримати цілі роки, ми використовуємо:

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

Щоб отримати цілі місяці, ми використовуємо:

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

І ми обчислюємо дні з:

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

Решта формули - це просто необхідний текст, об’єднаний разом з оператором конкатенації (&).

Без нульових значень

Щоб запобігти виведенню днів, місяців або років з нульовими значеннями, ви можете обернути кожну функцію DATEDIF всередині IF, як показано тут (додані розриви рядків для читабельності):

= 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","")

Щоб запобігти появі зайвих коми в кінцевому результаті, коми замінено пробілами. Використання оригінальної формули DATEDIF як "логічного тесту" всередині IF працює, оскільки IF трактує будь-який ненульовий результат як істину.

Хороші посилання

Детальна стаття про DATEDIF (Ablebits)

Цікаві статті...