ある月の第2日曜日を出したい…といった場合は次の 簡単な式で出すことができます。
=WORKDAY.INTL(前月末尾,2,"1111110")
これは、前月末尾から2営業日を出す。但し月〜金はお休み、という式です。その月から数えて2日後の営業日、では初日(1日)を数えてくれませんから1日が日曜だった場合に第3日曜日を出してしまいます。よって前月末尾から2日目とすればいかなる場合にも対応できます。
▼ 例:1月~3月の第2日曜日を出す ※基準(開始日)は前月の末尾 A (月) 第2日曜日は? 1 2016/1/1 WORKDAY.INTL(A1-1,2,"1111110") 2 2016/2/1 WORKDAY.INTL(A2-1,2,"1111110") 3 2016/3/1 WORKDAY.INTL(A3-1,2,"1111110") 注:シリアル値で表示されるので、表示形式で日時にしてください。 初日-1で前月末尾を出せます。(EOMONTHを使わずとも)
▼ 例:1月~3月の第2日曜日を出す ※基準(開始日)は前月の末尾
A (月)
注:シリアル値で表示されるので、表示形式で日時にしてください。 初日-1で前月末尾を出せます。(EOMONTHを使わずとも)
■ 解説 ■
WORKDAY.INTL関数は定休日(曜日)を除いた○日後を出せるため出したい曜日以外を全て定休日(1)として指定すればOKです。2回目の日曜を出したいなら月~土は全部定休日にした2日後、で出 せます。 WORKDAY.INTL(開始日, 日数, 週末) を WORKDAY.INTL(前月末尾,第〇,曜日) と考える 開始日がその月の1日だと、1日が日曜の場合にそこから〇営業日目なので1回分多くなってしまいます。そこで開始日 を前月末尾とすれば正確に出すことができます。 例:5月の第2日曜日を出したい(母の日) =WORKDAY.INTL("2016/5/1"-1,2,"1111110") 例:6月の第3日曜日を出したい(父の日) ※ A1に2016/6/1と入力されている場合 =WORKDAY.INTL(A1-1,3,"1111110") 例:月だけが入力されている場合 ※ A1に6と入力されており、第3日曜日を求めたい =WORKDAY.INTL(DATE(YEAR(TODAY()),A1,1-1),3,"1111110")
WORKDAY.INTL関数は定休日(曜日)を除いた○日後を出せるため出したい曜日以外を全て定休日(1)として指定すればOKです。2回目の日曜を出したいなら月~土は全部定休日にした2日後、で出 せます。
WORKDAY.INTL(開始日, 日数, 週末) を WORKDAY.INTL(前月末尾,第〇,曜日) と考える
開始日がその月の1日だと、1日が日曜の場合にそこから〇営業日目なので1回分多くなってしまいます。そこで開始日 を前月末尾とすれば正確に出すことができます。
例:5月の第2日曜日を出したい(母の日)
=WORKDAY.INTL("2016/5/1"-1,2,"1111110")
例:6月の第3日曜日を出したい(父の日) ※ A1に2016/6/1と入力されている場合
=WORKDAY.INTL(A1-1,3,"1111110")
例:月だけが入力されている場合 ※ A1に6と入力されており、第3日曜日を求めたい
=WORKDAY.INTL(DATE(YEAR(TODAY()),A1,1-1),3,"1111110")