SYUNDOファイル

お役に立てればうれしいです。

万年カレンダー

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

投稿日:2016年11月29日 更新日:

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

万年カレンダー

用意するもの

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

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

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

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

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

二十四節気の略算式
http://www.h3.dion.ne.jp/~sakatsu/sekki24_topic.htm

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

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

練習用シートを用意しました。(範囲2010年~2020年)
バージョンExcel2010
【練習用シート】ダウンロード(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」と入力する
 
書式設定を日付に変更
右クリック→セルの書式設定

 

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

 

A5からG10までコピー貼り付けする【やり方】
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」キー

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

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

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


スポンサーリンク

-万年カレンダー

執筆者:


  1. rin より:

    こんにちは。
    2020年以降の旧暦(六曜)シートはダウンロードできないのでしょうか?

    • syundo より:

      大変遅くなりごめんなさい。

      万年カレンダーをクリックしてください。

      2050年までの万年カレンダー(エクセル)がダウンロードされます。
      その中に2050年までの旧暦シートがあります。

  2. 林 美聡 より:

    質問でもよろしいでしょうか。
    月齢カレンダーのD列の数式を参考に打ち込みましたが、下弦の表示が出てこないのはなぜでしょうか。
    2020年を作成すると9月から十三夜がたくさん表示されて、11月に#REFになります。
    年が変わると数式も変化するのでしょうか。

    • syundo より:

      大変遅くなってすみません。
      言い訳になりますが、暫くサイトを放置しておりました。
      先日(2019/9/18)、開いてご指摘があり急いで調べて見ました。
      確かに紹介している数式では、おっしゃるようにエラーが発生しました。

      調べて見るとMATCH関数は、順番に数字が並んでないとうまく抽出できないバグがあることが分かりました。
      そこで数式を次のように変更しました。
      数式(セルD44)
      【=IF(C44=(SMALL($C$44:$C$74,1)),”新月”,IF(E44=(SMALL($E$44:$E$74,1)),”三日月”,IF(C44=(SMALL($C$44:$C$74,COUNTIF($C$44:$C$74,”< =90")+1)),"上弦",IF(C44=(INDEX($C$44:$C$74,MATCH(MIN(ABS($C$44:$C$73-155)),ABS($C$44:$C$73-155),0))),"十三夜",IF(C44=(INDEX($C$44:$C$74,MATCH(MIN(ABS($C$44:$C$73-167)),ABS($C$44:$C$73-167),0))),"十四夜",IF(C44=(SMALL($C$44:$C$74,COUNTIF($C$44:$C$74,"<=180")+1)),"満月",IF(C44=(INDEX($C$44:$C$74,MATCH(180,$C$44:$C$74)+2)),"十六夜",IF(C44=(INDEX($C$44:$C$74,MATCH(MIN(ABS($C$44:$C$73-205)),ABS($C$44:$C$73-205),0))),"十七夜",IF(C44=(INDEX($C$44:$C$74,MATCH(MIN(ABS($C$44:$C$73-220)),ABS($C$44:$C$73-220),0))),"十八夜",IF(C44=(INDEX($C$44:$C$74,MATCH(MIN(ABS($C$44:$C$73-270)),ABS($C$44:$C$73-270),0))),"下弦",IF(F44=(INDEX($C$44:$C$74,MATCH(MIN(ABS($C$44:$C$73-320)),ABS($C$44:$C$73-320),0))),"二十六夜",IF(C44=(INDEX($C$44:$C$74,MATCH(MIN(ABS($C$44:$C$73-350)),ABS($C$44:$C$73-350),0))),"晦日",""))))))))))))】
      ※カーソルを一番後ろに持っていきCtrl+shiftキーを押しながらEnterキーを押して下さい。

      参考になれば幸いです。

      また、不具合あればコメントしていただければ嬉しいです。
      ありがとうございました。

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

エクセルで月齢カレンダー

エクセルで月齢カレンダーを作成しました。 年と月を変えると長期間使えます。 月齢は、ユーザー定義関数を作成して求めています。 ユーザー定義関数とは、マクロで自分でオリジナルな関数を作ることです。 詳し …

エクセルで万年カレンダー応用編(日めくり)

万年カレンダーの応用編で次は日めくりカレンダーです。 日めくりはスペースが十分に取れるのでいろいろなことを載せることができます。 載せている情報に番号をつけて説明します。 ①基になる日付 ②元号表記  …

万年カレンダー一覧表の説明

万年カレンダーに使用している一覧表の説明です。 目次1 万年カレンダーシート2 旧暦シート3 祝日一覧シート4 二十四節気シート4.1 日付4.2 項目4.3 定数と日付5 雑節シート6 二十四節気シ …

エクセルで干支カレンダー(マクロ編)

エクセルのマクロでユーザー定義関数を作成して万年干支カレンダーを作成しました。 干支は、新暦、旧暦、節切りの三種類求めることができます。 スポンサーリンク 目次1 新暦、旧暦、節切りの簡単な説明1.0 …

エクセルで万年カレンダー作成(3)レイアウトの調整

  エクセルで万年カレンダー作成(1) エクセルで万年カレンダー作成(2) エクセルで万年カレンダー作成(1)(2)で祝日、六曜、旧暦、二十四節気、雑用が表示されるようになり万年カレンダーは …

カテゴリー