
Мне нужна формула, в которой, если дата больше или равна 01.03.2015 и меньше или равна 29.02.2016, то я получаю результат «Високосный год» или «Невисокосный год».
Спасибо! Сумит
решение1
Другой способ заключается в том, что функция даты в Excel увеличит месяц, если день выходит за пределы диапазона, поэтому =date(2015,1,32)
(32 января) вернет 1 февраля 2015 года.
Таким образом, если у вас есть год в ячейке A1, эта формула вернет, високосный это год или нет.
=IF(DATE(A1,2,29)=DATE(A1,3,1),"No Leap Year","Leap Year")
Если год не високосный, программа округляет 29 февраля до 1 марта и получается одинаковое число (високосный год не является високосным).
Редактировать на основе вашего комментария: Если ваша дата в A1 и вы хотите узнать, будет ли 29 февраля в следующем году
=if((date(year(A1)+1,month(A1),day(A1))-A1)=366,"Leap Year","No Leap Year")
Увеличьте год на 1, вычтите исходное значение и проверьте, есть ли 366 дней.
решение2
Некоторые люди используют:
ЕСЛИ( дата(год(A1), 2, 29) <> дата(год(A1), 3, 1) ,"Скачок", "Без скачка")
Но мне не нравится использовать недействительные даты в моей формуле, поэтому я использую эту:
ЕСЛИ( месяц( дата(год(A1), 2, 28)+1 )=2 ,"Скачок", "Без скачка")
Или вы можете посчитать количество дней в году (или в феврале) следующим образом:
ЕСЛИ( дата(год(A1) + 1, 1, 1) - дата(год(A1), 1, 1) = 366 ,"Скачок", "Без скачка")
решение3
Вот способ рассчитать количество дней между двумя датами: https://support.office.com/en-ca/article/Рассчитать-разницу-между-двумя-датами-8235e7c9-b430-44ca-9425-46100a162f38
Посчитайте между 1 января и 31 декабря. Если получится 366, то это високосный год.
надеюсь, это поможет
решение4
Високосные годы случаются каждые 4 года, на четвертый год.
Поэтому самое простое решение:
=IF(MOD(YEAR(A1),4)=0,"Leap Year","No Leap Year")
Определите год, разделите его на четыре ( MOD
функция), и если остаток равен нулю, то это високосный год.
РЕДАКТИРОВАТЬ:
Извините, для вашей конкретной проблемы я вижу, что вам нужно вернуть выбранное вами значение в течение первых двух месяцев високосного года или в течение последних десяти месяцев года перед високосным годом... Поэтому вам нужна будет следующая формула:
=IF(MONTH(A1)<3,
IF(MOD(YEAR(A1),4)=0,"Leap Year","No Leap Year"),
IF(MOD(YEAR(A1),4)=3,"Leap Year","No Leap Year"))