
Загальна формула
=MONTH(DATE(YEAR(date),2,29))=2
Резюме
Щоб перевірити, чи рік певної дати є високосним, можна скористатися формулою, яка використовує функції МІСЯЦЬ, РІК та ДАТУ. У наведеному прикладі формула в комірці С5 має вигляд:
=MONTH(DATE(YEAR(B5),2,29))=2
Пояснення
Основою цієї формули є функція DATE, яка автоматично регулює значення місяця та року, що виходять за межі діапазону. У формулі рік передається датою без змін, разом із 2 для місяця (лютий) та 29 для дня. У високосні роки лютий має 29 днів, тому функція DATE просто поверне дату 29 лютого року.
Однак у не високосні роки DATE поверне дату 1 березня року, оскільки в лютому немає 29-го дня, а DATE просто переносить дату на наступний місяць.
Нарешті, функція МІСЯЦ просто витягує місяць із результату, наданого DATE, який порівнюється з 2 за допомогою знака рівності. Якщо місяць 2, формула повертає TRUE. Якщо ні, місяць повинен бути 3, а формула повертає FALSE.
Тільки випробувальний рік
Щоб перевірити лише рік, замість повної дати замість дати змініть формулу, як показано нижче:
=MONTH(DATE(year,2,29))=2
У цій версії ми не витягуємо значення року з дати, ми передаємо значення року (тобто 2020) безпосередньо функції DATE.
Більш буквальне рішення
Якщо наведена вище формула здається вам занадто розумною, і ви хочете отримати більш буквальне рішення, формула нижче перевірить, чи замість цього рік містить 366 днів:
=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366
Ця формула генерує дві дати на основі наданої дати: (1) першого наступного року та (2) першого поточного року. Тоді перший поточного року віднімається від першого наступного року. У позаскокові роки результат становить 365, а формула повертає FALSE. У високосні роки результат становить 366, і формула повертає TRUE.