日本史と VBA(家康から慶喜まで)
昨日は、日本史における Excel の用例として、出来事と関係者の年齢表を紹介しました。
そういえば自分は、江戸幕府の将軍を全員知らないかも。
そこで今度は、歴代将軍の表を作成してみました。
これは、非常にわかりづらいですね。誕生と没年、そして享年、全て数字の羅列であるため、関係が掴み辛くなっています。そこで、視覚化を試みてみました。
Function CalcDateDiff(startDate As Date, endDate As Date) As Date CalcDateDiff = DateDiff("yyyy", startDate, endDate) End Function Public Function 棒グラフ(開始 As Date, 終了 As Date, 誕生 As Date, 没 As Date) Dim 享年 As Long Dim 前 As Long Dim 後 As Long 享年 = WorksheetFunction.Round(CalcDateDiff(誕生, 没) / 10, 0) 前 = WorksheetFunction.Round(CalcDateDiff(開始, 誕生) / 10, 0) 後 = WorksheetFunction.Round(CalcDateDiff(没, 終了) / 10, 0) 棒グラフ = WorksheetFunction.Rept("・", 前) _ + WorksheetFunction.Rept("●", 享年) _ + WorksheetFunction.Rept("・", 後) End Function
1500年~2000年の、どの期間に存命だったか、グラフの機能を用いずに表しています。大きな黒丸が存命期間です。これで多少、全体像が掴み易くなったでしょうか。
今回の特徴は、REPT関数を用いた点だと思います。指定した文字列を、指定回数繰り返し表示します。
余談ですが、痛ましいことに、7代将軍が僅か7歳で亡くなったことを今回初めて知りました。また、4代将軍:家綱と5代将軍:綱吉が兄弟(父親は3代将軍:家光)であることも、今回初めて知りました。
この試みで、子供が日本史に興味を持ってくれるかどうかは分かりません。しかし少なくとも私にとっては、大変良い勉強になりました(思わぬ副次効果でした)。
参考まで。