Функція DATEDIF в Excel для отримання різниці між двома датами

  • Поділитися Цим
Michael Brown

Зміст

У цьому посібнику ви знайдете просте пояснення функції ДАТАИФ в Excel і кілька прикладів формул, які демонструють, як порівнювати дати і обчислювати різницю в днях, тижнях, місяцях або роках.

За останні кілька тижнів ми розглянули майже всі аспекти роботи з датами і часом в Excel. Якщо ви стежите за нашими блогами, то вже знаєте, як вставляти і форматувати дати в таблицях, як обчислювати дні тижня, тижні, місяці і роки, а також додавати і віднімати дати.

У цьому уроці ми зосередимося на обчисленні різниці дат в Excel, і ви дізнаєтеся різні способи підрахунку кількості днів, тижнів, місяців і років між двома датами.

    Легко знаходимо різницю між двома датами в Excel

    Отримайте результат у вигляді готової формули в роках, місяцях, тижнях або днях

    Читати далі

    Додавання та віднімання дат в пару кліків

    Делегуйте побудову формул дати і часу експерту

    Читати далі

    Розрахувати вік в Excel на льоту

    І отримайте індивідуальну формулу

    Читати далі

    Функція DATEDIF Excel - отримати різницю дат

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

    DATEDIF - одна з дуже небагатьох недокументованих функцій в Excel, і оскільки вона "прихована", ви не знайдете її на Формула вкладки, а також не буде підказки про те, які аргументи вводити, коли ви почнете вводити ім'я функції в рядку формул. Ось чому важливо знати повний синтаксис функції DATEDIF в Excel, щоб мати можливість використовувати її у своїх формулах.

    Функція DATEDIF Excel - синтаксис

    Синтаксис функції ДАТАДЕФ Excel наступний:

    DATEDIF(дата_початку, дата_кінця, одиниця виміру)

    Потрібні всі три аргументи:

    Дата_початку - початкова дата періоду, який ви хочете розрахувати.

    Дата закінчення - дата закінчення періоду.

    Одиниця виміру - одиниця часу, яка буде використовуватися при обчисленні різниці між двома датами. Задаючи різні одиниці, можна отримати функцію DATEDIF для повернення різниці дат в днях, місяцях або роках. Всього доступно 6 одиниць, які описані в наступній таблиці.

    Одиниця виміру Значення Пояснення
    Y Роки Кількість повних років між датами початку та закінчення.
    M Місяці Кількість повних місяців між датами.
    D Дні Кількість днів між датою початку та датою закінчення.
    ДОКТОР МЕДИЧНИХ НАУК Дні без урахування років та місяців Різниця дат у днях, без урахування місяців і років.
    YD Дні без урахування років Різниця дат у днях, без урахування років.
    YM Місяці без урахування днів і років Різниця дат у місяцях, без урахування днів і років.

    Формула DATEDIF Excel

    Щоб отримати різницю між двома датами в Excel, ваша основна робота полягає в тому, щоб поставити початкову і кінцеву дати у функцію ДАТАИФ. Це можна зробити різними способами, за умови, що Excel зможе зрозуміти і правильно інтерпретувати поставлені дати.

    Посилання на клітинки

    Найпростіший спосіб створити формулу ДАТАИФ в Excel - це ввести дві дійсні дати в окремі комірки і посилатися на ці комірки. Наприклад, наступна формула підраховує кількість днів між датами в комірках A1 і B1:

    =DATEDIF(A1, B1, "d")

    Текстові рядки

    Excel розуміє дати в багатьох текстових форматах, таких як "1-січ-2023", "1/1/2023", "1 січня 2023" і т.д. Дати у вигляді текстових рядків, укладених в лапки, можна вводити безпосередньо в аргументи формули. Наприклад, таким чином можна обчислити кількість місяців між зазначеними датами:

    =DATEDIF("1/1/2023", "12/31/2025", "m")

    Серійні номери

    Оскільки Microsoft Excel зберігає кожну дату як порядковий номер, починаючи з 1 січня 1900 року, ви використовуєте числа, що відповідають датам. Хоча цей метод підтримується, він не є надійним, оскільки нумерація дат відрізняється в різних комп'ютерних системах. У системі дат 1900 року ви можете використовувати наведену нижче формулу, щоб знайти кількість років між двома датами, 1 січня-2023 і 31 грудня-2025:

    =DATEDIF(44927, 46022, "y")

    Результати інших функцій

    Щоб дізнатися, скільки днів залишилося від сьогоднішнього дня до 20 травня 2025 року, слід скористатися такою формулою.

    =DATEDIF(TODAY(), "5/20/2025", "d")

    Примітка: у ваших формулах кінцева дата завжди повинна бути більшою за початкову, інакше функція ДАТАИФ Excel повертає помилку #ЧИСЛО!

    Сподіваємося, що наведена вище інформація була корисною для розуміння основ. А тепер давайте подивимося, як можна використовувати функцію ДАТАИФ в Excel для порівняння дат на робочих аркушах і повернення різниці.

    Як отримати кількість днів між двома датами в Excel

    Якщо ви уважно стежили за аргументами DATEDIF, то помітили, що існує 3 різні одиниці для підрахунку днів між датами. Яку з них використовувати, залежить від того, які саме потреби ви маєте.

    Приклад 1. Формула Excel DATEDIF для розрахунку різниці дат у днях

    Припустимо, у вас є дата початку в комірці A2 і дата закінчення в комірці B2, і ви хочете, щоб Excel повернув різницю дат у днях. Проста формула DATEDIF працює чудово:

    =DATEDIF(A2, B2, "d")

    За умови, що значення в аргументі start_date менше, ніж в end_date. У разі, якщо дата початку більше, ніж дата закінчення, функція DATEDIF Excel повертає помилку #NUM, як у рядку 5:

    Якщо ви шукаєте формулу, яка може повернути різницю дат у днях як позитивне або негативне число, просто відніміть одну дату безпосередньо від іншої:

    =B2-A2

    Будь ласка, дивіться статтю Як відняти дати в Excel для більш детальної інформації та більше прикладів формул.

    Приклад 2. Підрахунок днів в Excel без урахування років

    Припустимо, у вас є два списки дат, які належать до різних років, і ви хочете підрахувати кількість днів між датами, як якщо б вони належали до одного року. Для цього використовуйте формулу ДАТАИФ з одиницею виміру "YD":

    =DATEDIF(A2, B2, "yd")

    Якщо ви хочете, щоб функція ДАТАИФ Excel ігнорувала не тільки роки, але і місяці, то використовуйте одиницю "md". У цьому випадку ваша формула буде обчислювати дні між двома датами так, як якщо б вони належали до одного місяця і одного року:

    =DATEDIF(A2, B2, "md")

    Скріншот нижче демонструє результати, і порівняння його зі скріншотом вище може допомогти краще зрозуміти різницю.

    Порада. Щоб дізнатися кількість робочі дні між двома датами використовуйте функцію NETWORKDAYS або NETWORKDAYS.INTL.

    Як розрахувати різницю дат у тижнях

    Як ви, напевно, помітили, функція ДАТАИФ в Excel не має спеціального блоку для обчислення різниці дат у тижнях. Однак є простий обхідний шлях.

    Щоб дізнатися, скільки тижнів проходить між двома датами, можна скористатися функцією ДАТАИФ з одиницею "D", яка повертає різницю в днях, а потім розділити результат на 7.

    Для того, щоб дізнатися кількість повні тижні між датами, оберніть формулу DATEDIF у функцію ROUNDDOWN, яка завжди округляє число до нуля:

    =ROUNDDOWN((DATEDIF(A2, B2, "d") / 7), 0)

    Де A2 - це дата початку, а B2 - дата закінчення періоду, який Ви розраховуєте.

    Як порахувати кількість місяців між двома датами в Excel

    Подібно до підрахунку днів, функція ДАТАИФ Excel може обчислити кількість місяців між двома зазначеними вами датами. Залежно від одиниці виміру, яку ви вводите, формула видасть різні результати.

    Приклад 1. Обчислення повних місяців між двома датами (DATEDIF)

    Для підрахунку кількості цілих місяців між датами використовується функція DATEDIF з одиницею "M". Наприклад, наступна формула порівнює дати в A2 (дата початку) і B2 (дата закінчення) і повертає різницю в місяцях:

    =DATEDIF(A2, B2, "m")

    Примітка: для коректного розрахунку місяців за формулою ДАТАИФ, дата закінчення завжди повинна бути більшою за дату початку, інакше формула повертає помилку #NUM.

    Щоб уникнути таких помилок, можна змусити Excel завжди сприймати більш ранню дату як дату початку, а більш пізню - як дату закінчення. Для цього додайте простий логічний тест:

    =IF(B2>A2, DATEDIF(A2,B2, "m"), DATEDIF(B2,A2, "m"))

    Приклад 2. Отримати кількість місяців між двома датами без урахування років (DATEDIF)

    Щоб порахувати кількість місяців між датами так, ніби вони належать до одного року, введіть "YM" в аргументі одиниці виміру:

    =DATEDIF(A2, B2, "ym")

    Як бачите, ця формула також повертає помилку в рядку 6, де дата закінчення менше дати початку. Якщо у вашому наборі даних можуть бути такі дати, ви знайдете рішення в наступних прикладах.

    Приклад 3. Обчислення місяців між двома датами (функція МЕСЯЦ)

    Альтернативним способом підрахунку кількості місяців між двома датами в Excel є використання функції МЕСЯЦ, а точніше комбінації функцій МЕСЯЦ і РІК:

    =(РІК(B2) - РІК(A2))*12 + МІСЯЦЬ(B2) - МІСЯЦЬ(A2)

    Звичайно, ця формула не настільки прозора, як DATEDIF, і потрібен час, щоб розібратися в логіці. Але на відміну від функції DATEDIF, вона може порівнювати будь-які дві дати і повертати різницю в місяцях як позитивне або негативне значення:

    Зверніть увагу, що формула YEAR/MONTH не має проблем з обчисленням місяців у рядку 6, де дата початку є більш пізньою, ніж дата закінчення, сценарій, в якому аналог формули DATEDIF зазнає невдачі.

    Примітка. Результати, що повертаються формулами ДАТАИФ і РІК/МІСЯЦЬ, не завжди ідентичні, оскільки працюють за різними принципами. Функція ДАТАИФ в Excel повертає кількість повних календарних місяців між датами, в той час як формула РІК/МІСЯЦЬ оперує з номерами місяців.

    Наприклад, у рядку 7 на скріншоті вище формула DATEDIF повертає 0, оскільки між датами ще не пройшов повний календарний місяць, тоді як YEAR/MONTH повертає 1, оскільки дати належать до різних місяців.

    Приклад 4. Підрахунок місяців між двома датами без урахування років (функція MONTH)

    Якщо всі ваші дати відносяться до одного року, або ви хочете обчислити місяці між датами, ігноруючи роки, ви можете використовувати функцію МІСЯЦЬ для отримання місяця з кожної дати, а потім відняти один місяць з іншого:

    =МІСЯЦЬ(B2) - МІСЯЦЬ(A2)

    Ця формула працює аналогічно Excel DATEDIF з одиницею "YM", як показано на наступному скріншоті:

    Однак, результати, які повертають дві формули, відрізняються лише на пару рядків:

    • Рядок 4: дата закінчення менша за дату початку, тому DATEDIF повертає помилку, а MONTH-MONTH дає від'ємне значення.
    • Рядок 6: дати належать до різних місяців, але фактична різниця в датах складає лише один день. DATEDIF повертає 0, оскільки обчислює цілі місяці між двома датами. MONTH-MONTH повертає 1, оскільки віднімає номери місяців один від одного, ігноруючи дні та роки.

    Як порахувати роки між двома датами в Excel

    Якщо ви слідкували за попередніми прикладами, де ми обчислювали місяці та дні між двома датами, то ви легко виведете формулу для обчислення років в Excel. Наступні приклади допоможуть вам перевірити, чи правильно ви вивели формулу :)

    Приклад 1. Обчислення повних років між двома датами (функція DATEDIF)

    Щоб дізнатися кількість повних календарних років між двома датами, використовуйте старий добрий DATEDIF з одиницею "Y":

    =DATEDIF(A2,B2, "y")

    Зверніть увагу, що формула DATEDIF повертає 0 у рядку 6, хоча дати належать до різних років. Це тому, що кількість повних календарних років між початковою та кінцевою датами дорівнює нулю. І я думаю, що ви не здивовані, побачивши помилку #NUM! у рядку 7, де початкова дата є більш пізньою, ніж кінцева.

    Приклад 2. Обчислення років між двома датами (функція YEAR)

    Альтернативним способом обчислення років в Excel є використання функції ГОД. Подібно до формули МІСЯЦЬ, ви витягуєте рік з кожної дати, а потім віднімаєте роки один від одного:

    =РІК(B2) - РІК(A2)

    На наступному скріншоті можна порівняти результати, які повертають функції DATEDIF та YEAR:

    У більшості випадків результати ідентичні, за винятком цього:

    • Функція DATEDIF обчислює повні календарні роки, тоді як формула YEAR просто віднімає один рік від іншого. Рядок 6 ілюструє різницю.
    • Формула DATEDIF повертає помилку, якщо дата початку більше дати закінчення, а функція YEAR повертає від'ємне значення, як у рядку 7.

    Як отримати різницю дат у днях, місяцях та роках

    Щоб підрахувати кількість повних років, місяців і днів між двома датами в одній формулі, достатньо просто об'єднати три функції DATEDIF:

    =DATEDIF(A2, B2, "y") & "роки", "&DATEDIF(A2, B2, "ym") & "місяці", "&DATEDIF(A2, B2, "md") & "дні"

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

    =IF(DATEDIF(A2,B2, "y")=0, "", DATEDIF(A2,B2, "y") & "роки") & IF(DATEDIF(A2,B2, "ym")=0, "", DATEDIF(A2,B2, "ym") & "місяці") & IF(DATEDIF(A2,B2, "md")=0, "", DATEDIF(A2,B2, "md") & " дні"

    Формула відображає тільки ненульові елементи, як показано на наступному скріншоті:

    Про інші способи отримання різниці дат у днях див. розділ Як обчислити дні з або до дати в Excel.

    DATEDIF формули для розрахунку віку в Excel

    По суті, обчислення віку людини за датою народження - це окремий випадок обчислення різниці дат в Excel, де кінцевою датою є сьогоднішня дата. Отже, ви використовуєте звичайну формулу DATEDIF з одиницею "Y", яка повертає кількість років між датами, а в аргумент end_date вводите функцію TODAY():

    =DATEDIF(A2, TODAY(), "y")

    Де A2 - дата народження.

    Наведена вище формула обчислює кількість повних років. Якщо ви хочете отримати точний вік, включаючи роки, місяці і дні, то об'єднайте три функції DATEDIF, як ми робили в попередньому прикладі:

    =DATEDIF(B2,TODAY(), "y") & "Роки" & DATEDIF(B2,TODAY(), "ym") & "Місяці" & DATEDIF(B2,TODAY(), "md") & "Дні"

    І ви отримаєте наступний результат:

    Щоб дізнатися про інші способи перерахунку дати народження у вік, подивіться статтю Як розрахувати вік за датою народження.

    Майстер дати і часу - простий спосіб побудови формул різниці дат в Excel

    Як було показано в першій частині цього уроку, функція DATEDIF в Excel є досить універсальною функцією, яка підходить для різних застосувань. Однак є один істотний недолік - вона недокументована Microsoft, тобто ви не знайдете DATEDIF в списку функцій, а також не побачите підказки аргументів при введенні формули в комірку. Для того, щоб мати можливість використовувати функцію DATEDIF вна ваших робочих аркушах, вам доведеться запам'ятовувати його синтаксис і вводити всі аргументи вручну, що може зайняти багато часу і призвести до помилок, особливо для початківців.

    Ultimate Suite для Excel докорінно змінює цю ситуацію, оскільки тепер він надає Майстер зміни дати та часу який може зробити практично будь-яку формулу різниці дат в найкоротші терміни. Ось як:

    1. Виділіть комірку, в яку потрібно вставити формулу.
    2. Перейдіть на сторінку Ablebits Tools вкладка> Дата та час і натисніть кнопку Майстер зміни дати та часу кнопку:

  • На сьогоднішній день, на жаль, це не так. Майстер зміни дати та часу з'являється діалогове вікно, ви переходите на сторінку Різниця та введіть дані для аргументів формули:
    • Натисніть на кнопку Дата 1 (або натисніть кнопку Згорнути діалогове вікно праворуч від поля) та виберіть комірку з першою датою.
    • Натисніть на кнопку Дата 2 і виберіть комірку з другою датою.
    • Виберіть потрібну одиницю виміру або комбінацію одиниць виміру зі списку Різниця в При цьому майстер дозволяє переглянути результат у полі та формулу в комірці.
    • Якщо вас влаштовує попередній перегляд, натисніть кнопку Вставте формулу інакше спробуйте інші пристрої.

    Наприклад, таким чином можна отримати кількість днів між двома датами в Excel:

    Після того, як формула вставлена у вибрану комірку, ви можете скопіювати її в інші комірки звичайним способом, двічі клацнувши або перетягнувши маркер заповнення. Результат буде виглядати приблизно так, як показано на малюнку:

    Для того, щоб представити результати у найбільш зручному вигляді, доступні ще кілька додаткових опцій:

    • Без урахування років та/або без урахування місяців з розрахунків.
    • Показувати або не показувати текстові етикетки як дні , місяці , тижні і років .
    • Показувати або не показувати нуль одиниць .
    • Повернути результати як від'ємні значення якщо Дата 1 (дата початку) більша за Дату 2 (дату закінчення).

    Для прикладу візьмемо різницю між двома датами в роках, місяцях, тижнях і днях, нехтуючи нульовими одиницями:

    Переваги використання Майстра формул дати і часу

    Окрім швидкості та простоти, Майстер визначення дати та часу має ще кілька переваг:

    • На відміну від звичайної формули ДАТАИФ, розширеній формулі, створеній майстром, байдуже, яка з двох дат менша, а яка більша. Різниця завжди обчислюється ідеально, навіть якщо Дата 1 (дата початку) більша за Дату 2 (дату закінчення).
    • Майстер підтримує всі можливі одиниці виміру (дні, тижні, місяці та роки) і дозволяє вибрати одну з 11 різних комбінацій цих одиниць.
    • Формули, які майстер створює для вас, є звичайними формулами Excel, тому ви можете вільно редагувати, копіювати або переміщати їх, як зазвичай. Ви також можете ділитися своїми робочими аркушами з іншими людьми, і всі формули залишаться на місці, навіть якщо хтось не має Ultimate Suite в своєму Excel.

    Так обчислюється різниця між двома датами в різних часових інтервалах. Сподіваємося, що функція СРЗНАЧ і інші формули, які ви сьогодні вивчили, стануть у нагоді у вашій роботі.

    Доступні для завантаження

    Ultimate Suite 14-денна повнофункціональна версія (файл .exe)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.