平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 1 表計算ソフトを使って 万年カレンダーを作ろう! 県立広島大学 経営情報学部 経営情報学科 小川仁士
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 2 暦について 太陽暦・・・ 1 年の長さを太陽の動きによって 決める 太陰暦・・・ 1 月の長さを月の動きによって決 める 太陽太陰暦・・・ 1 年の長さを太陽の動きに調整 する ※日本では、明治 5 年までは「太陽太陰暦」を使用して いた → 「旧暦」
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 3 暦について 太陽太陰暦について 新月から新月までを 1 月とし、 1 月は平均すると約 29.5 日 通常 1 月は、 29 日(「小の月」)と 30 日(「大の 月」) 12 ヶ月を 1 年とすると、 1 年が約 355 日となり太陽の 周期に比べ 10 日ほど短い これを調整するために設けられているのが、「閏 月」 「閏月」のある年は 1 年が 13 ヶ月、だいたい3年に1 度の割合で閏月が存在
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 4 暦について 表1 日本で使われていた暦 法
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 5 暦について 太陽暦について 1 年を太陽の動きに合わせ 365 日とする 実際には太陽の周期は、約 日なので、こ れを調整する必要が出る これを調整するために設けられているのが、「閏 年」
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 6 暦について 「閏年」の設け方 「ユリウス暦」 ・・・ 4 年に 1 度「閏年」を設け 366 日とする 約 130 年毎に 1 日ずれが生じる 「グレゴリオ暦」 ・・・「ユリウス暦」でいう「閏年」のうち、 100 で 割り切れるが 400 では割り切れない年は「平年」とす る 例: 2000 年は「閏年」、 2100 年は「平年」
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 7 暦について 現在使われている「太陽暦」 図1 グレゴリオ暦の平年と閏年の関 係
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 8 暦について 現在の暦について → 「新暦」 明治 5 年( 1872 )の「改暦の布告」 太陽暦(ユリウス暦)に合わせた 明治 31 年( 1898 )の「閏年に関する勅令」 太陽暦(グレゴリオ暦)に合わせた
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 9 万年カレンダー作成(ガイダンス) 使用するソフトウェア OS ・・・ Microsoft Windows XP 表計算ソフト・・・ Microsoft Excel 2003 万年カレンダーの基本仕様 明治 33 年( 1900 )1月以降のカレンダー 年月を指定して、その月のカレンダーを表示 画像を取り込んで、カレンダーを装飾
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 10 万年カレンダー作成(ガイダンス) その月の1日の曜日と日数が分かれば、どんな年月 のカレンダーでも簡単に作成できる 1 日の曜日の調べ方 西暦 1900 年 1 月 1 日は月曜日 ← これを利用する 1. 西暦 1 年 1 月 1 日からその年の 1 月 1 日までの日数( a )を調 べる 2. 西暦 1 年 1 月 1 日から西暦 1900 年 1 月 1 日までの日数( b )を 調べる 3. a の値から b の値を引き 1 を足すと・・・ 西暦 1900 年 1 月 1 日からその年の 1 月 1 日までの日数( c ) が求まる 4. その年の 1 月 1 日からその月の 1 日までの日数( d )を調べ る 5. c+d を 7 で割り余りを求めると、余り 0 なら日曜日、余り 1 なら月曜日、余り 2 なら火曜日、・・・、余り 6 なら土曜日 である
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 11 万年カレンダー作成(ガイダンス) 日数計算で「閏年」を考慮に入れる(その 1) 西暦 1 年 1 月 1 日からある年の 1 月 1 日までの日数 ある年を x としたとき、「閏年」を考慮しなければ、 (x-1)×365+1 日になるが・・・ x-1 年間のうち、「閏年」があった数だけ日数が増え る x-1 年間で何回「閏年」があったのか? 1. 4 で割り切れる年は(一応)「閏年」なので、 (x-1)÷4 ← e で割り切れる年はそこから除くので、 (x-1)÷100 ← f で割り切れる年は入れるので、 (x-1)÷400 ← g 4. e-f+g だけの日数が加わることになる 注)上記の割り算はすべて端数は切捨て る
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 12 万年カレンダー作成(ガイダンス) 日数計算で「閏年」を考慮に入れる(その 2) その年の 1 月 1 日からその月の 1 日までの日数 前の月の終わりまでの累積日数を計算して 1 を足す 2 月を含む場合は、その年が「閏年」かどうかによっ て、 28 日か 29 日かいずれかを足す その年が「閏年」かどうかを判定するには? 1. 4 で割り切れない年は「平年」である 2. ( 4 で割り切れ、) 100 で割り切れない年は「閏年」であ る 3. ( 4 で割り切れ、かつ、 100 でも割り切れ、) 400 で割り 切れる年は「閏年」である。そうでなかったら、「平年」 である。
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 13 万年カレンダー作成(ガイダンス) カレンダーの表示パターンについて 1 行目は 1 日をどこから始めるか条件判断が必要 2 ~ 4 行目は前の日の日付を 1 増やしていけば良 い 5 行目、 6 行目はどこでその月の終わりの日付にな るか条件判断が必要 日曜から始まるとき 土曜から始まるとき 注)どちらも最短 28 日で終わるパターンが ある
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 14 万年カレンダー作成(ガイダンス) 入力フォームについて ユーザインタフェースを用いることで、簡便な月日入力ができる ようにする 西暦以外に対応する和暦の情報もコメントとして表示することに より、年月の選択をしやすくする 入力された月の情報を元にカレンダーに取り込む画像を自動的に 選択する 印刷結果を事前に確認し、すぐに印刷できるようにする
平成 20 年 8 月 23 日平成 20 年度 県立広島大学公開講座 15 それでは、手順書に従って万年カレン ダーを作っていきましょう!