二十四節気の求め方【Excel版】

このページでは

二十四節気の略算式

・対象日付から当年の立春を算出する計算式

・対象日付から当月の節入日を算出する計算式

立春を加味した年を算出する計算式

・対象日付から節月を算出する計算式

を掲載しています。

Excelに入力する際は()を()に変換して入力してください。

 


 

二十四節気の略算式

=INT(♤+(♡*(対象日付の年-1900))-INT((対象日付の年-1900)/4))

※対象日付の年は、1~2月のみ対象年から「対象日付の年-1」を指定する。

※♤と♡は二十四節気算出用定数表から代入する。
♤:各節気に対応する定数

♡:各節気に対応する定数

二十四節気算出用定数表

節気 年補正
1月 小寒 6.3811 0.242778 あり
大寒 21.1046 0.242765 あり
2月 立春 4.8693 0.242713 あり
雨水 19.7062 0.242627 あり
3月 啓蟄 6.3968 0.242512
春分 21.4471 0.242377
4月 清明 5.628 0.242231
穀雨 20.9375 0.242083
5月 立夏 6.3771 0.241945
小満 21.93 0.241825
6月 芒種 6.5733 0.241731
夏至 22.2747 0.241669
7月 小暑 8.0091 0.241642
大暑 23.7317 0.241654
8月 立秋 8.4102 0.241703
処暑 24.0125 0.241786
9月 白露 8.5186 0.241898
秋分 23.8896 0.242032
10月 寒露 9.1414 0.242179
霜降 24.2487 0.242328
11月 立冬 8.2396 0.242469
小雪 23.1189 0.242592
12月 大雪 7.9152 0.242689
冬至 22.6587 0.242752

 

対象日付から当年の立春を算出する計算式

=INT(4.8693+(0.242713*(YEAR(対象日付のセル)-1-1900))-INT((YEAR(対象日付のセル)-1-1900)/4))

 

算出用定数表から立春の定数を

「対象日付から当月の節入日を算出する計算式」に代入した式。


 

対象日付から当月の節入日を算出する計算式

=IF(MONTH(対象日付のセル)<3,INT(♠︎+(♥*(YEAR(対象日付のセル)-1-1900))-INT((YEAR(対象日付のセル)-1-1900)/4)), INT(♠︎+(♥*(YEAR(対象日付のセル)-1900))-INT((YEAR(A2)-1900)/4)))

 

♠︎と♥は、別シートで節入日算出用定数表を作成し、

XLOOKUPやVLOOKUPで定数を代入させる。

例えば、XLOOKUPの場合だと、

♠︎=XLOOKUP(MONTH(対象日付のセル),'節入日算出用定数表'!A:A,'節入日算出用定数表'!C:C)
♥=XLOOKUP(MONTH(対象日付のセル),'節入日算出用定数表'!A:A,'節入日算出用定数表'!D:D)

例えば、XLOOKUPの場合だと、

♠︎=VLOOKUP(MONTH(対象日付のセル),'節入日算出用定数表'!A:D,3,FALSE)
♥=VLOOKUP(MONTH(対象日付のセル),'節入日算出用定数表'!A:D,4,FALSE)

 

節入日算出用定数表

節気 ♠︎ 年補正
1 小寒 6.3811 0.242778 あり
2 立春 4.8693 0.242713 あり
3 啓蟄 6.3968 0.242512
4 清明 5.628 0.242231
5 立夏 6.3771 0.241945
6 芒種 6.5733 0.241731
7 小暑 8.0091 0.241642
8 立秋 8.4102 0.241703
9 白露 8.5186 0.241898
10 寒露 9.1414 0.242179
11 立冬 8.2396 0.242469
12 大雪 7.9152 0.242689

 

立春を加味した年を算出する計算式

=YEAR(対象日付のセル)-(IF(MONTH(対象日付のセル)<3,IF(MONTH(対象日付のセル)=2,(IF(DAY(対象日付のセル)<INT(4.8693+(0.242713*(YEAR(対象日付のセル)-1-1900))-INT((YEAR(対象日付のセル)-1-1900)/4)),1,0)),1),0))

 

立春を加味した年は、=YEAR(対象日付のセル)-(1か0)

 

1か0は、IF(対象日付の当月<3,IF(対象日付の当月=2,IF(対象日付<立春,1,0),1),0)

1か0は、下記の場合分けをする。
・対象日付の当月が3月より後の場合は「0」の値を返す。
・対象日付の当月が2月の場合は、対象日付が立春より前の場合は「1」の値を返し、対象日付が立春より後の場合は「0」の値を返す。
・対象日付の当月が1月の場合は「1」の値を返す。


 

対象日付から節月を算出する計算式

節月"対象日付が1月で 対象日付が節入日より前だと0となる場合"

=MONTH(対象日付のセル)-(IF(DAY(対象日付のセル)<(IF(MONTH(対象日付のセル)<3,INT(♠︎+(♥*(YEAR(対象日付のセル)-1-1900))-INT((YEAR(対象日付のセル)-1-1900)/4)), INT(♠︎+(♥*(YEAR(対象日付のセル)-1900))-INT((YEAR(対象日付のセル)-1900)/4)))),1,0))

 

節月"対象日付が1月で 対象日付が節入日より前だと12となる場合"

=IF(MONTH(対象日付のセル)-(IF(DAY(対象日付のセル)<(IF(MONTH(対象日付のセル)<3,INT(♠︎+(♥*(YEAR(対象日付のセル)-1-1900))-INT((YEAR(対象日付のセル)-1-1900)/4)), INT(♠︎+(♥*(YEAR(対象日付のセル)-1900))-INT((YEAR(対象日付のセル)-1900)/4)))),1,0))=0,12,(MONTH(対象日付のセル)-(IF(DAY(対象日付のセル)<(IF(MONTH(対象日付のセル)<3,INT(♠︎+(♥*(YEAR(対象日付のセル)-1-1900))-INT((YEAR(対象日付のセル)-1-1900)/4)), INT(♠︎+(♥*(YEAR(対象日付のセル)-1900))-INT((YEAR(対象日付のセル)-1900)/4)))),1,0))))

 

節月"対象日付が1月で 対象日付が節入日より前だと0となる場合"は、

=MONTH(対象日付のセル)-(1か0)

 

節月"対象日付が1月で 対象日付が節入日より前だと12となる場合"は、

=IF(MONTH(対象日付のセル)-(1か0)=0,12,MONTH(対象日付のセル)-(1か0))

1月で 対象日付が節入日より前だと12となる場合は、計算結果が「0」となるため「12」の値を返す。

 

1か0は、IF(対象日付<節入日,1,0)

1か0は、下記の場合分けをする。
対象日付が節入日より前の場合は「1」の値を返す。
対象日付が節入日より前ではない場合は「0」の値を返す。


 

節月で月命星を算出する計算式はこちら

 

<参考文献>

二十四節気 - Wikipedia

二十四節気の略算式

二十四節気 - 仕事に役立つエクセル実践問題集

二十四節気・節入月日時刻計算

二十四節気 - 高精度計算サイト

二十四節気|暦の計算|計算サイト

Google スプレッドシートの関数リスト - Google ドキュメント エディタ ヘルプ

IF function - Google Docs Editors Help

INT - Google Docs Editors Help

DAY - Google Docs Editors Help

MONTH - Google Docs Editors Help

YEAR - Google Docs Editors Help

XLOOKUP function - Google Docs Editors Help

VLOOKUP - Google Docs Editors Help