[[20160218134807]] 『指定曜日での直近の未来の日付の取得』(n) ページの最後に飛ぶ

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

 

『指定曜日での直近の未来の日付の取得』(n)

お世話になります。イベント開催日から直近7日以内の未来の支払期限曜日から日付を割り出す方法を教えていただけますでしょうか。
3行目でいえば、 開催日2/16火曜日 毎週火曜開催の土曜日支払期限 なので C3には2/20と入るようにしたいです。
4行目は2/15月曜開催で金曜期限なので、2/19と入るように などです。
式の意味も教えていただけると勉強になります。お願いいたします。

	A	B	 C
1	開催日	支払期限	 支払期限
2		曜日	 月日
3	2月16日	土    2月20日(例)	
4	2月15日	金	

< 使用 Excel:Excel2013、使用 OS:Windows7 pro >


 質問の通りだと開催日から4日後になっていますが、実際は4日後だけではないということですか?
(3日後や5日後もある?)

 あと
[[20150914114112]]
 で回答が付かないからと新たに質問するのはなるべく避けた方がいいと思います。
(se_9) 2016/02/18(木) 14:18

 開催日が日付データだとして。
 =A3+MOD(FIND(B3,"日月火水木金土")-WEEKDAY(A3)+6,7)+1 
 これでいいのだろうか?

 開催日の曜日と支払期限の曜日が同じ場合は一週間後の日付としている。

 まず、
 WEEKDAY(A3)
 部分で開催日の曜日を日曜が「1」、月曜が「2」…土曜が「7」の値に変換。

 FIND(B3,"日月火水木金土")
 部分で支払期限の曜日を同じように日曜日が「1」…土曜が「7」の値に変換。

 支払期限の曜日番号から開催日の曜日番号を引いた値を開催日に足すことで支払期限の日付を求めている。
 ただしそのままだと「開催日の曜日番号>=支払期限の曜日番号」の場合に当日あるいは過去の日付になってしまうため
 「開催日の曜日番号>=支払期限の曜日番号」の場合に7をたすという作業をMOD関数を使って行っている。

 =A3+FIND(B3,"日月火水木金土")-WEEKDAY(A3)+IF(FIND(B3,"日月火水木金土")<=WEEKDAY(A3),7,0)
 とそのままでは曜日番号を求める部分2回使うのをMOD関数で使わずにしている。
(ねむねむ) 2016/02/18(木) 14:24

Se_9様 書き込みありがとうございます。
実際は6日後まであります。 だいたい開催日から3日から6日あとまでです。
最大でも開催した曜日の来週のその曜日の前日までです。
開催日を含めて7日間という書き方の方がいいですね。

昨日、前の質問のページでコメントの書き直しをしようとしたらエラーが出て読み込まれなかったので
新しくたててしまいました。失礼しました。

ねむねむ様
回答ありがとうございます。私の書き方があいまいだったのですみません。
開催日の曜日と支払期限の曜日は同じにならず、最大でも開催した曜日の来週のその曜日の前日までです。
式をあてはめたところ、1週間後の同じ曜日の日付が出てしまいました。

(n) 2016/02/18(木) 14:41


 すまないが開催日、支払期限曜日に何を指定して支払期限に何日が返ってきたかを書いてくれないか?
(ねむねむ) 2016/02/18(木) 14:48

ねむねむ様
開催日が2016/2/5 支払期限曜日が月 で 2016/2/12が返ってきました。
よろしくお願いします。

(n) 2016/02/18(木) 15:04


開催日 2016/2/11 支払期限曜日が火 では2016/2/3が返ってきました。 本当は2016/2/16が返ってほしいです。
(n) 2016/02/18(木) 15:10

 >昨日、前の質問のページでコメントの書き直しをしようとしたらエラーが出て読み込まれなかったので 

 そうでしたか。失礼しました。

 ところでこちらではねむねむさんの回答で正しい日付が返ってきました。
 開催日:2016/2/5→曜日:月→支払期限:2016/2/8
 開催日:2016/2/11→曜日:火→支払期限:2016/2/16

 もう一度しっかり確認してみてはいかがでしょうか。
(se_9) 2016/02/18(木) 15:16

 実際にセルに入力した式を示してみてくれないか?
(ねむねむ) 2016/02/18(木) 15:22

ねむねむ様
se_9様の言うとおり、私の方で式の行指定の方を間違っていました。失礼しました。
きちんとかえってくるようになりました。いつも本当にありがとうございます。
式の意味もじっくり読んで理解してみたいと思います。

 >昨日、前の質問のページでコメントの書き直しをしようとしたらエラーが出て読み込まれなかったので
このコメントで断りを入れてから新しく立てればよかったですね。気をつけます。

(n) 2016/02/18(木) 15:27


やはりねむねむさんの式で合っていたようですね。遅ればせながら、別案なぞ。
=A3+MOD(FIND(B3,"日月火水木金土")-WEEKDAY(A3)+6,7)+1
(???) 2016/02/18(木) 15:31

コメント返信:

[ 一覧(最新更新順) ]


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