- ベストアンサー
excel2000 週から日付を出したい
- みんなの回答 (6)
- 専門家の回答
その他の回答 (5)
- kagakusuki
- ベストアンサー率51% (2610/5101)
- tom04
- ベストアンサー率49% (2537/5117)
- tsubuyuki
- ベストアンサー率45% (699/1545)
あまりスマートとは言えませんが。 =FLOOR(B3,7)+C3*7 で該当週の土曜日をはじき出します。 他の曜日は足し算引き算ですので、問題なく応用できるでしょう。 B3セルには日付(年月日)が入力されているが、表示形式でYYYY年M月にしている と言うのが条件ではありますが。 > (3)VBAあっても、なくても、どちらでも可 と言うことですから、関数に関しては解説しなくてもご理解いただけるでしょうし、 上記条件以外の時にも応用できると思いますので、そこには言及しないでおきます。
お礼
回答ありがとうございました。 とても、分かりやすくて、簡単で、いいですね。斬新で面白いって思いました。 No2の方の回答と、どっちを使うか、非常に迷いました。どっちがいいのでしょうね・・? 今回はNo2の方の記述を利用させていただきましたが、何かの機会に活用させていただきたいと思います。
- TammyG3
- ベストアンサー率30% (34/111)
VBA可と言うくらいですから、「WEEKDAY()関数を使う」でわかるでしょう。 第1週の月曜日の月日は、1日の曜日をWEEKDAY()関数で知る。 幸い数値が返るので引き算で可能。第2引数を3にすると、シンプル。 先頭の月曜日は、A1が1日、B1が第?週として、 = ( A1- WEEKDAY( A1, 3 ) )+ (B1- 1 )* 7 鎌倉 曽野蜩
お礼
回答ありがとうございました。 今回は関数の記述で対応させていただきました。 しかし、VBAの記述も教わることが出来て、良かったです。 機会があれば活用させていただきます。 ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一案です。 ↓の画像のように7列のカレンダーを利用する方法です。 (画像では同Sheetにしていますが、目障りであれば別Sheetに作成します) B3セルの表示形式はユーザー定義から yyyy年m月 としておきます。 仮に 2012/10 とだけ入力すれば 2012/10/1 のシリアル値になります。 D6セル(表示形式は好みで!)に =$B$3-WEEKDAY($B$3,2)+COLUMN(A1)+7*(ROW(A1)-1) という数式を入れ列方向・行方向にオートフィルでコピーすると 7列カレンダーが作成されます。 C6セルから下に向かって第何週か?の数値を入力 (必ず1日がカレンダーの1週目になります) 最後にD3セル(こちらの表示形式は好みで!)に =INDEX(D6:D11,$C3) という数式を入れ列方向にオートフィルでコピーすると 画像のような感じになります。 これでB3・C3セルを変更すればご希望通りにならないでしょうか?m(_ _)m
お礼
回答ありがとうございました。 今回利用は見送らせていただきましたが、カレンダー作成の際に使える内容でした。 何かの際に是非活用させていただきます。 ありがとうございました。
お礼
回答ありがとうございました。 複雑すぎない関数式で、一番求めていたものに近い回答でした。