
Обща формула
=MONTH(DATE(YEAR(date),2,29))=2
Обобщение
За да проверите дали годината на определена дата е високосна, можете да използвате формула, която използва функциите МЕСЕЦ, ГОДИНА и ДАТА. В показания пример формулата в клетка C5 е:
=MONTH(DATE(YEAR(B5),2,29))=2
Обяснение
Ядрото на тази формула е функцията DATE, която автоматично ще се приспособи към стойностите за месец и година, които са извън обхвата. Във формулата годината се предава на дата непроменена, заедно с 2 за месец (февруари) и 29 за деня. През високосна година февруари има 29 дни, така че функцията DATE просто ще върне датата 29 февруари от годината.
В извънскоковите години обаче DATE ще върне датата 1 март от годината, тъй като няма 29-ти ден през февруари, а DATE просто премества датата напред към следващия месец.
И накрая, функцията MONTH просто извлича месеца от резултата, предоставен от 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.