万年カレンダー

エクセルで万年カレンダーを作りました。

更新日:

エクセルで万年カレンダーの作成を調べましたがあってもほとんど祝日くらいまでです。
そこで旧暦や六曜、二十四節気、雑節を含む万年カレンダーを作成しました。
(範囲は2010年~2050年までです。)
その手順を紹介します。

用意するもの

旧暦と六曜一覧
祝日一覧
二十四節気計算表
雑節一覧

旧暦は、計算がかなり難しいので一覧表を作りました。
六曜は、旧暦があれば計算できます。

旧暦の月と日を足して6で割った余りで出します。
余りが0=大安、1=赤口、2=先勝、3=友引、4=先負、5=仏滅

祝日一覧はネットで探せばあります。

二十四節気計算は略算式で計算します。

二十四節気の略算式
https://addinbox.sakura.ne.jp/sekki24_topic.htm

を利用させていただきました。

雑節一覧は、調べて作成しました。

練習用シートを用意しました。(範囲2010年~2050年)
バージョンExcel2021
【練習用シート】ダウンロード(zip) 【シート説明】

はじめに

旧暦と六曜一覧、祝日一覧、二十四節気計算表、雑節一覧を
エクセルのシートにそれぞれを置きます。

作り方

万年カレンダーシートに作ります。

年と月を入れる
年のところに数字を入力した時に○○○○年と表示させる方法こちら(別ウインドウで開きます)

■当月の年と月を自動にしたい場合は
年のところ
=YEAR(TODAY())
月のところ
=MONTH(TODAY())

年と月が日付表示で〇〇〇〇/〇〇/〇〇になる場合は、セルの書式設定で標準にしてください。


     ⇩    ⇩    ⇩    ⇩

1行開けて曜日を入れる
曜日を簡単に入力する方法→こちら
4行目に1~7の数字をいれる
H5から0、7、14、21、28、35を入れる
セルA5に「=FLOOR(DATE($A$1,$B$1,0),7)+A$4+$H5」と入力する

「=FLOOR(DATE($A$1,$B$1,0),7)+A$4+$H5」の式の説明
■FLOOR関数

「基準値の倍数に最も近い値で切り捨てする」関数

=FLOOR(数値,基準値)

■DATE関数

DATE関数は日付を求めることができます。

=DATE(年,月,日)

日=0(ゼロ)にすると前月末日の日付になります。

■「=FLOOR(DATE($A$1,$B$1,0),7)+A$4+$H5」

DATE($A$1,$B$1,0)

○○年○○月0(ゼロ)日=前月末の日付

FLOOR関数で前月末の日付のシリアル値を7で割り、余りを切り捨てる

すると先週の土曜日の日付になる。

+A$4
4行の数字を足すと
+1が日曜日
+2が月曜日
+3が火曜日
+4が水曜日
+5が木曜日
+6が金曜日
+7が土曜日
となる。

+$H5
列Hで各週ごとに+7日している。
1週目は+0日
2週目は+7日
3週目は+14日
4週目は+21日
5週目は+28日
6週目は+35日

 
書式設定を日付に変更
右クリック→セルの書式設定

 

ユーザー定義→種類を「d」に変える→OK

 

A5からG10までコピー貼り付けする【やり方】
 
 

【曜日を月曜スタートにする場合】
【曜日を月曜スタートにする場合】

4行目に2~7の数字を入れ、日曜日には1を入れる。
月曜日から土曜日まで
セルA5に「=FLOOR(DATE($A$1,$B$1,0),7)+A$4+$H5」と入力する
セルA5~F10までA5をコピー貼り付け

日曜日の列には
セルG5に「=FLOOR(DATE($A$1,$B$1,0),7)+G$4+$H5+7」と「+7」を付け足す。
セルG6~G10までG5をコピーし貼り付け
 

A2に「=MONTH(A5)」と入力してG2までコピー、貼り付け
A11に「=MONTH(A9)」と入力してG12までコピー、貼り付け

※ここまでで年と月を変えれば日が変わります。
試に年と月を変えてみてください。
ちゃんと変わればここまでは成功です。
次に進んでください。

見た目を整える(レイアウト)

■表の間隔を文字幅に合わせます。【やり方】

 
■文字の大きさを少し調整します。【やり方】

 
年と月を選択して文字サイズを20
曜日を選択して文字サイズを18
日付を選択して文字サイズを20

■日曜日の列を赤字、土曜日の列を青字にします。【やり方】

 
六曜、旧暦、祝日、二十四節気、雑節を挿入するスペースを開ける。

列に一列づつ、行の日付の下に三行づつスペースを開ける

【スペースを入れる方法】

ついでに年と月調整しておきます。
月の1を切り取りしてセルD1に貼り付け(コピーではない)
年をセルA1からA3までセルの結合、月をセルD1とD2をセルの結合します。
年と月が表示されるようにします。
スペースを開けた行の高さを18ピクセルにします。

 
VLOOKUP

六曜の挿入

B5(日付の右側)に六曜を挿入します。
数式「=”旧暦”&(VLOOKUP(B5,旧暦!$A$1:$B$18629,2,FALSE))」

B5をクリックして「関数の挿入」ボタンをクリック

 

「関数の挿入」ダイアログボックスが開きます。
こういったウインドウを「ダイアログボックス」といいます。

 

開いた時は「最近使用した関数」になっています。
ここに「VLOOKUP」がなければ

「すべて表示」に変えます。

 
「VLOOKUP」をクリック

 
「関数の引数」ダイアログボックスが開きます。

 

検索値・・・○○日に対する項目を挿入したい場合の○○日

例えば、
12月27日に対する六曜を入れたいので検索値は「12月27日(カレンダーでは27)」になります。
ダイアロボックを開いた状態で27(A5)をクリックする。
27はセル「A5」なので「関数の挿入」ダイアログボックスにはA5と表示されます。

範囲・・・挿入したいデーターの範囲

範囲の数式ボックスをクリックして「旧暦」タブをクリック

2行目から1番下までドラッグして範囲指定します。

 
範囲の数式ボックスに「旧暦!A2:G18629」と表示されます。
「$」を付け足し「旧暦!$A$2:$G$18629」にします。
【「$]を入れる意味】

列番号・・・範囲指定した表で挿入する文字が左から何列目の何

 
範囲指定した表で六曜は左から6列目にあるので「6」と入力
赤丸のところに六曜が表示されていれば成功です。

 
検索方法・・・TRUE(近似一致)かFALSE(完全一致)を入力します。
ここでは後でします。

「OK」ボタン

文字の大きさを「10」色を「自動」変え、下揃えにします。

数式にFALSE(完全一致)を付け足します。

数式バーの数式の最後の「)」の前をクリック。

「6」と「)」の間に「,(半角コンマ)」を入れる

「FALSE-完全一致」をダブルクリック

「Emter」キー

日付の右側に全てコピー貼り付け

これで六曜の挿入は完了です。

次は祝日の挿入です。次へ

-万年カレンダー

Copyright© SYUNDOファイル , 2025 All Rights Reserved Powered by STINGER.