Прескочи на основното съдържание

Как да проверя дали една година е високосна в Excel?

Автор: Xiaoyang Последна промяна: 2014-06-27

Знаете ли как да определите дали една година е високосна или не? В Excel няма директен метод за проверка, но можете да създадете дефинирана от потребителя функция или формула за решаване на този проблем.

Проверете дали годината е високосна с формула

Проверете дали годината е високосна с дефинирана от потребителя функция


стрелка син десен балон Проверете дали годината е високосна с формула

Да предположим, че имате списък с години в работния лист, следната дълга формула може да ви помогне да определите дали дадена година е високосна или не. Моля, направете следното:

1. Освен клетките за годината, в празна клетка въведете тази формула:

=АКО(ИЛИ(MOD(A2,400)=0,AND(MOD(A2,4)=0,MOD(A2,100)<>0)),"Висосна година", "НЕ е високосна година"), (A2 съдържа година, за която искате да приложите тази формула, можете да я промените според вашите нужди) вижте екранната снимка:

doc-check-if-leap-year-1

2. След това плъзнете манипулатора за попълване до диапазона, който искате да съдържа тази формула, и всички години са проверени дали са високосни или не.

doc-check-if-leap-year-1

Забележка: Ако относителната клетка е празна, тази формула ще показва и високосна година.


стрелка син десен балон Проверете дали годината е високосна с дефинирана от потребителя функция

Можете също така да създадете дефинирана от потребителя функция, за да проверите дали годината е високосна, можете да я завършите по следния начин:

1. Задръжте натиснат ALT + F11 ключове и отваря Прозорец на Microsoft Visual Basic за приложения.

2. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.

VBA код: проверете дали годината е високосна

Function IsLeapYear(pYear As Integer) As Boolean
'Update 20140623
If (pYear Mod 4) = 0 And (pYear Mod 100) <> 0 Or ((pYear Mod 400) = 0) Then
   IsLeapYear = True
Else
   IsLeapYear = False
End If
End Function

3. След това запазете и затворете този код, върнете се към работния си лист и въведете тази формула: =isleapyear(A2), вижте екранната снимка:

doc-check-if-leap-year-1

4. След това плъзнете манипулатора за попълване до клетките, които искате да съдържат тази формула, и всички години са отметнати, the FALSE не означава високосна година и TRUE показва високосна година. Вижте екранна снимка:

doc-check-if-leap-year-1


Свързана статия:

Намерете най-малкия общ знаменател или най-големия общ множител в Excel

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!

 

Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
ivec, your determination of a leap year within Excel itself works if the year is at / later than the Excel base year of 1900. For years before the Excel base year of 1900, I believe an external determination is required.
This comment was minimized by the moderator on the site
What about relying on Excel's own definition of a leap year?
The expression below checks the difference between March 1st and Feb 28 in that year - a leap year will have Feb 29 in-betweek, which makes a difference of 2 days.
IsLeapYear formula: = ( DATE( $$YEAR_REF$$ ;3;1)-DATE( $$YEAR_REF$$ ;2;28) > 1.5 )

The 1.5 is because I'm not sure if there is a risk of floating-point inaccuracies...
This comment was minimized by the moderator on the site
Please don't post my previous comment.
This comment was minimized by the moderator on the site
Using Excel 2013 the VBA returns backwards, saying 2015 is a leap year and 2016 is not
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations