
Загальна формула
=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 трактує будь-який ненульовий результат як істину.