2019/07/07(日)15:26
ExcelVBA で,第何曜日って計算できるか!?
お久しぶりの ExcelVBA ネタです.
毎月第1,第3日曜日に,hogehoge がある.ってとき
に,今月は何日が第1,第3日曜日なのか?
Excel 関数から計算できないかと,
パッと考えついたのが,=Day()÷7でしたけど......
コレって,関数というより,ただの計算式だね......
例えば2019年3月1日ならば,1÷7=0.142...
6日ならば,6÷7=0.867......
ということで,
得られた数値に1足して小数点以下切り落としで,
上手く行けそうと思ったけど,
7日が,7÷7=1になる......
14日は2になる......
これらに1足すと,それぞれ2と,3になる......
単純では無さそうなので,ゆっくり考え直す......
で,
毎日ボケッ~っと通勤電車に揺られてアレコレ考えて......
脳みそが疲れるね......
ゆっくり考え直して,
1週間は7日なので,毎月7日は必ず第1週で,
毎月8日は必ず第2週になる......
同じ曜日は,7日ずつ足すと第2曜日(14日)で,
更に7日足せば第3曜日(21日)になる規則性があるの
で,やっぱりなんとか上手く計算させられないものかと,
ここ3日位,ごにょごにょと考えてて,いい案が思いつか
ず...
で,けさ,
7を足すのではなくて,
6を足せば7日は13に日数が1つ減って,
代わりに8日も,同じように日数が一つ減って(ズレて)
14日になるので,
これを7で割れば,2が得られることが解りましてね......
7ではなく,6を加算で,日数の加算の規則性を1日遅ら
せてズラせば良いですね.
スッキリしたけど,気づくのに3日程かかった......
これで小数点以下を切り落とせば,上手く行くか?
Excel シートで検証してみたら,イイ感じですねぇ......
© 6ちゃん!@段々と思考能力が衰えていますね......