【Excel】閏年であるかを判定する数式|閏年の条件も解説

  • URLをコピーしました!

セルに入力された日付の年が、閏年であるかを判定する数式を紹介します。
後半では、閏年の仕組みや由来について解説します。

目次

閏年の条件

閏年の条件は次のとおりです。

  • 4で割り切れる年は、原則として閏年
  • 4で割り切れても、100で割り切れる年は平年
  • 400で割り切れる年は必ず閏年

閏年を判定する数式

入力した日付の年が4・100・400で割り切れるかを数式で直接確認すると、数式が長くなります。
そこで、2月末が29日になるかどうかを確認する方法がおすすめです。

【おすすめ】DATE・YEAR・DAY関数で確認する

セルA1に入力された日付の年が閏年なら「TRUE」、平年なら「FALSE」を返します。

=DAY(DATE(YEAR(A1),3,0))=29

なお、上の数式では閏年でない西暦1900年が閏年であると判定されます。
Excelの1900日付システムでは、互換性を保つために1900年を閏年として扱う仕様があるためです。
1900年を含めて正確に判定する場合は、次の数式か、後述のMOD関数を使った数式を使用してください。

=AND(DAY(DATE(YEAR(A1),3,0))=29, YEAR(A1)<>1900)

補足:DATE関数について

DATE関数は、「=DATE(年,月,日)」の形式で指定し、年月日を表す日付を返す関数です。
第3引数の「日」に「0」を指定すると、指定した月の前月末の日付が返されます。
そのため、「=DATE(年,3,0)」とすると、指定した年の2月末の日付を求めることができます。

2月末が2月29日であれば閏年、2月28日であれば平年と判定できます。

閏年の条件をそれぞれ確認する

やや複雑になりますが、閏年の条件をそれぞれ確認する数式です。

=OR(MOD(YEAR(A1),400)=0, AND(MOD(YEAR(A1),4)=0, MOD(YEAR(A1),100)<>0))

LET関数を使用できる環境なら次のように整理できます。
この数式では、YEAR関数で取り出した西暦を「y」という名前で定義し、以降の計算で使用しています。

=LET(y,YEAR(A1), OR(MOD(y,400)=0, AND(MOD(y,4)=0, MOD(y,100)<>0)))

過去・今後の閏年

2026年8月時点の、今後10回と過去3回の閏年は次のとおりです。

過去3回の閏年を開く/閉じる
  • 2024年
  • 2020年
  • 2016年

今後10回の閏年を開く/閉じる
  • 2028年
  • 2032年
  • 2036年
  • 2040年
  • 2044年
  • 2048年
  • 2052年
  • 2056年
  • 2060年
  • 2064年

【コラム】閏年とは?

閏年はなぜ必要?

閏年が必要な理由は、季節が一巡する期間である「1太陽年」が、ちょうど365日ではないからです。
1太陽年は約365日5時間49分、つまり約365.2422日です。
カレンダーを毎年365日にすると、毎年約6時間ずつ実際の季節とずれていき、約4年でほぼ1日のずれになります。

そこで、約4年に1度、1日を追加して調整するのが閏年です。

なぜ100年・400年の条件があるのか

単純に4年ごとに1日追加すると、1年の平均は次のようになります。

365日+1日÷4年=365.25日

しかし、1太陽年は約365.2422日なので、少し追加しすぎです。

その誤差を修正するため、現在のグレゴリオ暦では次のルールになっています。

  • 4で割り切れる年は閏年
  • 4で割り切れても、100で割り切れる年は平年
  • 400で割り切れる年は必ず閏年

例えば、2000年は400で割り切れるため閏年です。一方、2100年は100で割り切れますが400では割り切れないため、平年となります。

このルールによる1年の平均は365.2425日となり、1太陽年にかなり近くなります。

閏年の由来

古代ローマでは、暦と季節のずれを調整するため、不定期に日や月を追加していました。
ユリウス・カエサルは紀元前46年に暦を改革し、原則として4年ごとに1日を追加するユリウス暦を紀元前45年から導入しました。
しかし、ユリウス暦でも少しずつ誤差が蓄積したため、1582年にローマ教皇グレゴリウス13世が暦を修正しました。これが現在広く使われているグレゴリオ暦です。

なぜ2月に1日追加するのか

古代ローマでは、現在の3月を年の始まりとする暦が使われていた時期があり、2月は年末にあたる月でした。
2月に日数を調整していた名残から、現在も閏年には2月29日が追加されます。

まとめると、閏年は、カレンダーの日付と季節のずれを抑えるために、1日を追加した年です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

元・エクセル迷子。関数やグラフに頭を抱えつつ、地道に勉強してきました。
今では「むずかしいを、やさしく」にこだわって、初心者さん向けにExcelのコツを発信中。
「なんか分かるかも!」って思える瞬間を一緒に楽しみましょう♪

目次