- ベストアンサー
毎週週頭を月曜として 日付を自動的に入力したいです
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
>B2に当月の日付を"ctrl+れ"を押すと当月の最初の人最後の日を自動的に入力する数式はわかったのです。 先ず、質問文の字句の訂正をさせて頂きます。 「B2に当月の日付」→「B1に今日の日付」、「ctrl+れ」→「ctrl+;」、「当月の最初の人」→「B2に当月の初日と」、「最後の日」→「D2に当月の末日」、「自動的に入力する数式」→「代入する数式」 当月の最初の日は1日なので悩むことは無いでしょう。 しかし、提示の数式以外にも次の数式が使えます。 B2=EOMONTH(B1,-1)+1 当月の最後の日とは当月の末日と言い換えた方が良いと思います。 D2=EOMONTH(B1,0) 提示の数式で良いでしょう。 >しかし、各週の最初の日と最後の日が自動表示する関数がわかりません。 第1週目の月曜日は前月の日付で良いか?、それとも空欄にするか? 当月の末日を含む週の日曜日が翌月になるときは前述のように翌月の日付にするか?、空欄にるすか?、の指定が必要です。 1つの関数ではできませんので、幾つかの関数を組み合わせた数式を組み立てます。 基本的には第1週の日付と第2週以降の日付の算出方法が異なります。 第1週の月曜日が前月の日付になることを認める場合は次の数式で良いでしょう。 B3=B2-WEEKDAY(B2,2)+1 第1週の日曜日は単純な加算で求められます。 D2=B3+6 第2週の月曜日は次の数式が適当と思います。 B4=IF(B3="","",IF(B3+6<EOMONTH($B$1,0),B3+7,"")) 第2週の日曜日は次の数式で良いでしょう。 D4=IF(D3="","",IF(D3<EOMONTH($B$1,0),D3+7,"")) B4とD4セルを下へ8行目(第6週)までコピーすれば完成です。 Excel 2013で検証した結果が添付画像です。
その他の回答 (6)
- tsubu-yuki
- ベストアンサー率46% (179/386)
まず・・No2殿。 直近では来月、2016年10月が第6週が発生するケースに当たりませんか。 と、煽り合いをしてもしょうがないので本題に。 添付ファイルの通り、作ってみました。 式はいろいろ出ていますので、とりあえず参考までにどうぞ。 各セルには以下。 B2セル:=DATE(YEAR(B1),MONTH(B1),1) D2セル:=DATE(YEAR(B1),MONTH(B1)+1,0) ※翌月の0日目、との指定で、当月の末日を出します。 閏年にも対応します。 B3セル:=B2-WEEKDAY(B2,3) ※第2引数に3を指定すると、月曜を0として計算します。 なので、その日(B2)の曜日を引いてやれば、月曜日が出てきます。 D3セル:=B3+6 ※6日後 B4セル:=B3+7 ※7日後 以下省略。 そんな感じです。 問題の6週目ですが、私なら条件付き書式を仕込みます。 つまり、8行目に 「B1セルの『月』と、B8セルの『月』が違ったら」 という条件を付けて、文字色を背景色に合わせています。※白です。 こんな感じでもできますよ。
お礼
ちょっと条件付き設定に慣れておらず、2時間ほど苦戦しましたが、動作確認できました。 ありがとうございます。
- Chiquilin
- ベストアンサー率30% (94/306)
すみません。曜日を間違えました。 第1週目の初日(月曜):=$B$2-WEEKDAY($B$2-2) ですね。 当日初日は「=B1-DAY(B1)+1」でもいいです。
お礼
ありがとうございます。
- Chiquilin
- ベストアンサー率30% (94/306)
第1週目の初日:=$B$2-WEEKDAY($B$2-1)+7 これが分かれば 後は全部足し算なのですから考えるまでもないでしょう。 ついでに。少し不細工だと思ったので 当日の初日:=EOMONTH(B1,-1)+1 当月最終日:=EOMONTH(B1,0)
お礼
先月分に+1を加えると当日初日が求められるということですね。 ありがとうございます。
- msMike
- ベストアンサー率20% (364/1804)
》 月の初めが日曜日だった場合、… 昨年の11月、今年の5月、来年の1月、10月が正に該当しますね。 果たして貴方の「第六週目と計算できる」が的を射ているかカレンダーを見て!
お礼
ありがとうございます
- msMike
- ベストアンサー率20% (364/1804)
》 各週の最初の日と最後の日が自動表示する関数 最初の日は「週頭を月曜」の記述から分かるけど、「最後の日」は日曜でOKですよね?まさか、金曜とかじゃなくて、祝日も関係ないですよね? 後になって「そうじゃなかった」なんて嫌だから確認しています。 》 B2に当月の日付を なんて高らかに謳っていますけど、添付図では B1 になってるのはこれ如何に? ついでながら、添付図の6行目に「第6週目」なんてシャーシャーと入力してますが、何月のことですか? 後で「あれは単なるサンプルだった」なんて、ほざかないでぇ~!
お礼
ありがとうございます
補足
説明不足ですみません。 ・最後の日は日曜日です。 ・B1に当月の日付を入力するとB2に月の最初の日が表示されます。すみません、おっしゃっているように間違えました。 ・第六週はあり得ると思います。 7×4で28、月の最高日数が31です。 としまして、仮に月曜日が週の始まりだとしますと、月の初めが日曜日だった場合、その日曜日が一週目で、2日目が月曜日としますと、5週いっぱいまでに29日として、残りの2日を第六週目と計算できると考えたのですが。 これは私の考えです。 このとおりでない週の第何週の計測でも構いませんので、アドバイスくだだい。 よろしくお願い致します。
- mshr1962
- ベストアンサー率39% (7417/18945)
まあ基本として、ハッピーマンデーの祝日の計算と同じなので、下記が参考になります。 ・エクセル技道場 関数35.成人の日/体育の日 http://www2.odn.ne.jp/excel/waza/function.html#SEC35
補足
第n曜日を求める が使えそうです。 明日、検証します。 ありがとうございます。
お礼
bunjiiさん いつもありがとうございます。 遅くなりました。 動作確認できました。 今後、使用させていただきます。 ありがとうございます!