Формула Excel: Год - високосный год -

Общая формула

=MONTH(DATE(YEAR(date),2,29))=2

Резюме

Чтобы проверить, является ли год определенной даты високосным, можно использовать формулу, в которой используются функции МЕСЯЦ, ГОД и ДАТА. В показанном примере формула в ячейке C5:

=MONTH(DATE(YEAR(B5),2,29))=2

Объяснение

Ядром этой формулы является функция ДАТА, которая автоматически корректирует значения месяца и года, выходящие за пределы допустимого диапазона. В формуле год передается в число без изменений, вместе с 2 для месяца (февраль) и 29 для дня. В високосные годы в феврале 29 дней, поэтому функция ДАТА просто вернет дату 29 февраля года.

Однако в невисокосные годы DATE вернет дату 1 марта года, потому что в феврале нет 29-го дня, а DATE просто переносит дату вперед на следующий месяц.

Наконец, функция MONTH просто извлекает месяц из результата, предоставленного DATE, который сравнивается с 2 с использованием знака равенства. Если месяц равен 2, формула возвращает ИСТИНА. В противном случае месяц должен быть равен 3, и формула возвращает ЛОЖЬ.

Только тестовый год

Чтобы проверить только год, а не полную дату, вместо даты измените формулу, как показано ниже:

=MONTH(DATE(year,2,29))=2

В этой версии мы не извлекаем значение года из даты, мы передаем значение года (например, 2020) непосредственно в функцию DATE.

Более буквальное решение

Если приведенная выше формула кажется слишком умной и вам нужно более буквальное решение, приведенная ниже формула проверит, содержит ли год 366 дней:

=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366

Эта формула генерирует две даты на основе предоставленной даты: (1) первая дата следующего года и (2) первая дата текущего года. Затем первое число текущего года вычитается из первого числа следующего года. В невисокосные годы результат равен 365, и формула возвращает ЛОЖЬ. В високосные годы результат равен 366, и формула возвращает ИСТИНА.

Хорошие ссылки

Библия Excel (Джон Уокенбах) Много способов проверить високосный год (Чанду)

Интересные статьи...