[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付の指定方法』(ゆに)
初めて質問させていただきます。WindowsXPでExcel2003を使っています。 TODAYで指定したA1セルに対して、A1の翌週木曜日の日付をB1に入れたいのですが、何か方法はありますでしょうか。 ダブってる質問があったらすみません。宜しくお願いします。
関数ではございませんが、、、 マクロで過去に、こんな感じのもの作ったことがあります。 参考になればいいのですが^^ [[20060512174928]]『指定曜日のみ順番に自動で入力する方法3パタ−ンについて追加事項』(もえタンぱぱ) (キリキ)(〃⌒o⌒)b
数式も作ってみました^^ B1 =A1+IF(5-WEEKDAY(A1)>0,5-WEEKDAY(A1),7+5-WEEKDAY(A1)) ※今回の「木曜日」用で作ってありますので他曜日には変更が必要です。 (キリキ)(〃⌒o⌒)b
当該セルがA1だとしますと、=IF(COUNT(A1),A1+WEEKDAY(70005-A1),"")では、どうでしょう? 参考に作式の途中も掲載させていただきました。 (LOOKUP)
A B C D 1 6/1(木) 7 5 6/8(木) 2 6/2(金) 6 6 6/8(木) 3 6/3(土) 5 7 6/8(木) 4 6/4(日) 4 1 6/8(木) 5 6/5(月) 3 2 6/8(木) 6 6/6(火) 2 3 6/8(木) 7 6/7(水) 1 4 6/8(木) 8 6/8(木) 7 5 6/15(木) 9 6/9(金) 6 6 6/15(木) ↑ =IF(COUNT(A1),A1+WEEKDAY(70005-A1),"") ↑ =WEEKDAY(A1) ↑ 加算日数
すごい! でも、なぜにそうなるのでしょう? LOOKUPさん、 70005 の意味を教えていただけないでしょうか? (キリキ)(〃⌒o⌒)b
当日が木曜日の場合は、そのままのつもりで、=MOD(…,7)を使用したものを書いたのですが、 キリキさんの回答を拝見し、誤りに気が付きまして、急遽、変更させていただきました。 =MOD(5-A1,7)は、0、6、5、4、3、2、1を戻します。5-A1がマイナスでもよいのですが、 7、6、5、4、3、2、1が、必要ですので、=WEEKDAY(5-A1)なのですが、 =WEEKDAY()の方は、引数にマイナスがエラーになりますので、 7日の倍数の70000を加算しています。 (LOOKUP)
そういった流れがあったのですね^^ 「70000」と言う数字に意味合いはあるのでしょうか? 何かの締め等の数字でしょうか? 普通にシリアル値で入力してみると「2091/8/25」になります。 一週間が「7」×数式上、問題の発生しないであろう「10000」 と言うことでしょうか? LOOKUPさんのコメントがヒントになり、下記の数式を考えました^^ =IF(COUNT(A1),A1+WEEKDAY(MOD(5-A1,7)),"") (でも、LOOKUPさんのヒントが無ければ、σ(^o^;)の頭では考えつかなかったな・・・) (キリキ)(〃⌒o⌒)b
>A1の翌週木曜日 翌週ってこういうのじゃないの? =A1+(7-WEEKDAY(A1)+5) BJ
>翌週ってこういうのじゃないの? さて、どちらでしょう?w ゆにさんが、戻ってこないですからね〜^^; (キリキ)(〃⌒o⌒)b
例えばA1セルが6/26(月)〜6/30(金)の時、7/6(木)になるように したかったんです! 私の説明不足で申し訳ありませんでした。
キリキさん、LOOKUPさん、BJさん、
丁寧なご回答ありがとうございました!!
(ゆに)
月曜日から始まる翌週の木曜日という意味では、このようなものでは、どうでしょう? =IF(COUNT(A1),A1+10-MOD(A1-2,7),"")または、 =IF(COUNT(A1),CEILING(A1-1,7)+5,"") (LOOKUP)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.