Последнее обновление:
Как определить високосный год в Excel?
Иногда в практике требуется определить, является ли какой-нибудь год високосным или нет. Конечно, можно посмотреть в календарь или в смартфон. Но, иногда это требуется сделать программным образом, т.е. путем расчета. Рассмотрим, как это сделать в Excel.
Алгоритм определения високосного года
В быту високосность года определяется, начиная с 2000 г., очень просто: к прошлому високосному году прибавляется число 4 и получившийся год и будет являться високосным. Например, високосными будут года 2016, 2020, 2024 и т.д.
Однако, иногда, раз в 100 и раз в 400 лет вносятся коррективы. Поэтому путем прибавления числа 4 можно определять високосный год только до 2100 г. Общий же алгоритм определения високосного года, согласно действующего Григорианского календаря, следующий:
- год, номер которого кратен 4 —високосный;
- но год, номер которого кратен 100 — не високосный;
- но год, номер которого кратен 400 — високосный.
Формула для расчета високосного года в Excel
Исходя из алгоритма, нами разработана следующая формула определения високосного года:
=ЕСЛИ(ЕСЛИ(НЕ( ОСТАТ((A1);100)); НЕ(ОСТАТ((A1);400)); НЕ(ОСТАТ((A1);4)));"Високосный"; "Невисокосный")
При этом в ячейке «А1» должен присутствовать год, например, 2019, 2100, 1917 и т.д.
Аналогично, можно рассчитать число дней в феврале того или иного года:
=ЕСЛИ(ЕСЛИ(НЕ (ОСТАТ((A1);100)); НЕ(ОСТАТ((A1);400)); НЕ(ОСТАТ((A1);4))); 29;28)
Вот пример расчета по нашей формуле:
2000 | Високосный | 2015 | Невисокосный |
2001 | Невисокосный | 2016 | Високосный |
2002 | Невисокосный | 2017 | Невисокосный |
2003 | Невисокосный | … | … |
2004 | Високосный | 2095 | Невисокосный |
2005 | Невисокосный | 2096 | Високосный |
2006 | Невисокосный | 2097 | Невисокосный |
2007 | Невисокосный | 2098 | Невисокосный |
2008 | Високосный | 2099 | Невисокосный |
2009 | Невисокосный | 2100 | Невисокосный |
2010 | Невисокосный | 2101 | Невисокосный |
2011 | Невисокосный | 2102 | Невисокосный |
2012 | Високосный | 2103 | Невисокосный |
2013 | Невисокосный | 2104 | Високосный |
2014 | Невисокосный | 2105 | Невисокосный |
Как видно, расчет дает полное соответствие годов висикосным или невисокосным.
Обратите внимание на 2000 г. и на 2100 г. Первый делится без остатка и на 4, и на 100, и на 400, поэтому является високосным. Второй кратен только 4 и 100, поэтому он – НЕвисокосный.
Замечание
Строго говоря, приведенный выше алгоритм расчета является не совсем точным. Потому, что средняя продолжительность тропического года (время между двумя весенними равноденствиями) составляет примерно 365 суток 5 часов 49 минут.
Т.е. год в среднем превышает 365 суток примерно на 5 часов 49 минут или на 0,24236 суток. Тогда как по указанному алгоритму превышение составляет 0,2425 суток. Разница составляет 0,00014 суток. Следовательно, если пользоваться указанным алгоритмом, каждый очередной год ошибка составит 0,00014 суток. Через 1/0,00014 = 7199 лет ошибка в определении времени между двумя весенними равноденствиями составит уже 1 сутки. Однако, 7 с лишним тысяч лет – это дело очень отдаленного будущего и неизвестно, будет ли вообще существовать человечество к тому времени. И будет ли актуальна программа Excel.
Пока же, в ближайшие тысячи лет, равно как и для прошедшего времени, Вы вполне спокойно можете пользоваться приведенной выше формулой определения високосного года в Excel.