treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

Excelでカレンダーを作る時の基礎知識

ちょっとしたカレンダーを用意して、曜日を算出したい用事があったのでExcelでちょっとやってみたのでご報告です。
ほぼ自分用メモ。

動機はWindows Update

前回「Windows Updateの公開日と一日のズレ - treedown’s Report」で一日が水曜日の月はWindows Updateのスケジュール設定に注意が必要ということを改めて認識しました。

これについては、まだ上手いスケジュールを決められてないのですが、せめて第二火曜日の翌日が第三水曜日になる月がどれくらいあるのか把握しておこう、と思って、Excelで簡単にカレンダー作れないかな、と思ったのがそもそもの動機です。

Windows Update関連で曜日出したくなった

では、さっそくExcelでちょっと出してみよう、ということでちょっとやってみた記録です。
A2に「2019/1/1」を入れたらあとはA3以降に年月日が連続するよう「=A2+1」という式を入れてドラッグしていき、年月日をA列に並べていきました。

見やすくするため、重複しますけどB列にも同じように日付を入力し、セルの書式設定で表示形式を「yyyy"年"」としました。(これで、日付「2019/1/1」が「2019年」という表記になります。)

f:id:treedown:20190707151920p:plain
同じように、C列に月はセルの書式設定で「m"月"」を指定し、

f:id:treedown:20190707151940p:plain
D列にはセルの書式設定で「d"日"」を指定します。

f:id:treedown:20190707152000p:plain

そして肝心の曜日を出すE列には、計算式で「=TEXT(A2,"aaa")」と入力、

f:id:treedown:20190707152014p:plain
すると、こういう感じで

f:id:treedown:20190707152027p:plain
カレンダー的な表ができました。

あとは、日の列(D列)でオートフィルタから「指定した値と等しい」抽出条件を選択して、「1日」を抽出し、

f:id:treedown:20190707152038p:plain
曜日列(E列)で水曜日だけ抽出するようにしたら、

f:id:treedown:20190707152051p:plain
一日が水曜日になる年月日を出すことができました。

f:id:treedown:20190707152105p:plain
思っていたより結構あるなという印象です。

1日が水曜日なのは…

1日が水曜日となる年月は(2030年1月1日までを算出してみた結果)以下の通りでした。
--------------------------------------------------------------
2019年 5月1日(水)
2020年 1月1日(水)
2020年 4月1日(水)
2020年 7月1日(水)
2021年 9月1日(水)
2021年12月1日(水)
2022年 6月1日(水)
2023年 2月1日(水)
2023年 3月1日(水)
2023年11月1日(水)
2024年 5月1日(水)
2025年 1月1日(水)
2025年10月1日(水)
2026年 4月1日(水)
2026年 7月1日(水)
2027年 9月1日(水)
2027年12月1日(水)
2028年 3月1日(水)
2028年11月1日(水)
2029年 8月1日(水)
--------------------------------------------------------------
今年の5月1日のように1日が水曜日で第二火曜日の翌日が第三水曜日になるのは、これだけ、ということになります。来年2020年がさっそく1月、4月、7月と三回もあることが分かります。

みてみると、一回もない年ってのはないみたいですね。毎年1回はどこかの月で1日が水曜日になるということが存在していることが分かります。

ひとまず、これで把握できたので、割り出したこの月は何かしら手を打たないとならない月なんだな、ということは認識しました。