[[20031031204404]] 『休日の表示方法』(じゃぽね) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『休日の表示方法』(じゃぽね)

 いつもいつも本当にありがとうございます。
 先日おたずねして毎月の1回目の土曜日の表示方法を教わったのですが、
 応用したつもりで敬老の日(9月の第3月曜日)を表示させるべく
 以下のような関数を設定してみたのですがうまくいきません。
 9月22日となってしまいます。関数の意味を理解していないのだと
 思いますがどうしたらよいでしょう。

 =DATE($R$2,T18,1+21-WEEKDAY(DATE($R$2,T18,1),3))
 $R$2には2003 T18には9 を入力しています。


 余りスマートではないですが、
=IF(MONTH(DATE($R$2,T18,1+1)-WEEKDAY(DATE($R$2,T18,1),2))<T18,DATE($R$2,T18,1+8)-WEEKDAY(DATE($R$2,T18,1),2),DATE($R$2,T18,1+1)-WEEKDAY(DATE($R$2,T18,1),2))+14
で出来ます。もっと良い方法が有りそうな気がしますが・・・(ケン)


 すすごい。考えもつきません。ありがとうございます。土日のような関数
ということではいかないんですね。(じゃぽね)


 この祭日休日の設定というのは結構ややこしいんですよね。
 近年は振り替え休日なるものもあって、政府決定が
 急に変わりカレンダー屋さんが大弱りだとか(まわし者では有りませんが)
 私は対応表を別シートに作ってそれを参照させてます。
 一応、振り替え休日にも対応してますが(そのつもり)、
 その仕組みが変わる事もあり年1回の見直しが欠かせません。
 皆さんはどんな対処をしてるんでしょうかね。  (jun53)


 第3月曜日の表示例(7月海の日、9月敬老の日) 
 =DATE($R$2,T18,IF(WEEKDAY(DATE($R$2,T18,1),1)<=2,3,4)*7-4-WEEKDAY(DATE($R$2,T18,1)))

 =DATE($R$2,T18,IF(WEEKDAY(DATE($R$2,T18,1),1)<=2,2,3)*7-WEEKDAY(DATE($R$2,T18,1))+3)

 第2月曜日(1月成人の日、10月体育の日)
 =DATE($R$2,T18,IF(WEEKDAY(DATE($R$2,T18,1),1)<=2,2,3)*7-4-WEEKDAY(DATE($R$2,T18,1)))

 =DATE($R$2,T18,IF(WEEKDAY(DATE($R$2,T18,1),1)<=2,1,2)*7-WEEKDAY(DATE($R$2,T18,1))+3)
で求められます。
 (シニア)


 やっぱり、そんなすっきりした方法が有ったのですね。そこまで、とても頭が回りませんでした。
シニア師匠、有難う御座います。(ケン)


 遅くなりまして大変申し訳ございませんでした。(ケン)さん(シニア)さんありがとございます。不勉強でまだ提示していただいた関数の意味を理解していないところがありますが、
本当に助かりました。(じゃぽん)

 =($R$2&"/"&T18&"/21")-MOD($R$2&"/"&T18&"/5",7)などとも書けそうです。
 例が2003年だったのですね。                       (LOOKUP)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.