[[20170626103048]] 『半年毎に指定日を表示』(ちょうさん) ページの最後に飛ぶ

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

 

『半年毎に指定日を表示』(ちょうさん)

関数を使用して指定月・日が表示される方法があればお教え下さい。
例えば、K4に=TODAY()を設定しておき、毎年直近の4月及び10月の第2水曜日をG56、第3水曜日をC60に表示したいのです。6/26の段階ではG56が10/11、C60が10/18といった感じです。
よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 >6/26の段階ではG56が10/11、C60が10/18といった感じです。 

 「直近」の定義が少し不明瞭です。

 TODAYが、10/11とか、10/13とか、10/18の段階だとしたら、どうなりますか?

 (具体的な日付は必要ないです。考え方だけで結構です)

(半平太) 2017/06/26(月) 10:47


説明不足で申し訳ございません。
TODAYは毎日カウントされていきますが、10月第2水曜日等指定日を超えるまではそのまま、超えれば次の指定日(4月第2水曜日)が表示されるようにして頂きたいです。
よろしくお願いします。
(ちょうさん) 2017/06/26(月) 11:41

 >10月第2水曜日等指定日を超えるまではそのまま、

 と言うことは、TODAY()が10/13だと

 G56 が 来年4月の第二水曜日、
 C60 は 10/18  のままですね。(こっちは、指定日を超えていないので)

 (1) G56セル =DATE(YEAR(K4),CEILING(MONTH(EDATE(K4,(EOMONTH(K4,-1)-WEEKDAY(EOMONTH(K4,-1)-2,3)+14<K4)*1))+2,6)-2,0)-WEEKDAY(DATE(YEAR(K4),CEILING(MONTH(EDATE(K4,(EOMONTH(K4,-1)-WEEKDAY(EOMONTH(K4,-1)-2,3)+14<K4)*1))+2,6)-2,0)-2,3)+14
 (2) C60セル =DATE(YEAR(K4),CEILING(MONTH(EDATE(K4,(EOMONTH(K4,-1)-WEEKDAY(EOMONTH(K4,-1)-2,3)+21<K4)*1))+2,6)-2,0)-WEEKDAY(DATE(YEAR(K4),CEILING(MONTH(EDATE(K4,(EOMONTH(K4,-1)-WEEKDAY(EOMONTH(K4,-1)-2,3)+14<K4)*1))+2,6)-2,0)-2,3)+21

(半平太) 2017/06/26(月) 14:37


半平太さん
ありがとうございました。
(ちょうさん) 2017/06/26(月) 14:52

 こっちの方が少しマシだった。

 G56セル =LOOKUP(K4-0.5,DATE(YEAR(K4),4+{-1,0,1,2}*6,0)-WEEKDAY(DATE(YEAR(K4),4+{-1,0,1,2}*6,0)-2,3)+14,DATE(YEAR(K4),4+{0,1,2,3}*6,0)-WEEKDAY(DATE(YEAR(K4),4+{0,1,2,3}*6,0)-2,3)+14)
 C60セル =LOOKUP(K4-0.5,DATE(YEAR(K4),4+{-1,0,1,2}*6,0)-WEEKDAY(DATE(YEAR(K4),4+{-1,0,1,2}*6,0)-2,3)+21,DATE(YEAR(K4),4+{0,1,2,3}*6,0)-WEEKDAY(DATE(YEAR(K4),4+{0,1,2,3}*6,0)-2,3)+21)

(半平太) 2017/06/26(月) 15:19


半平太さん
わざわざありがとうございました。
(KK) 2017/06/27(火) 08:04

コメント返信:

[ 一覧(最新更新順) ]


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