- ベストアンサー
エクセルでカレンダー作成
エクセルでカンレンダーを作成することができるでしょうか?もしできるとすればその方法を教えて下さい。 例えば:1つのシートに常に2月分(当月と翌月)表示できればよいのですが?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
かなり面倒ですが、通常の(分析ツールに含まれない)日付関数だけを使う方法として、 今月1日のシリアル値 A1に =DATEVALUE(YEAR(TODAY())&"/"&MONTH(TODAY())&"/1") 来月1日のシリアル値 A2に =IF(MONTH(TODAY())=12,DATEVALUE((YEAR(TODAY())+1)&"/1/1"),DATEVALUE(YEAR(TODAY())&"/"&(MONTH(TODAY())+1)&"/1")) 再来月1日のシリアル値 A3に =IF(MONTH(TODAY())>10,DATEVALUE((YEAR(TODAY())+1)&"/"&(MONTH(TODAY())-10)&"/1"),DATEVALUE(YEAR(TODAY())&"/"&(MONTH(TODAY())+2)&"/1")) 今月の日数 B1に =A2-A1 来月の日数 B2に =A3-A2 今月1日以前の最後の日曜日と、先月末日との日数の差 A4に =2-WEEKDAY(A1) B4に =A4+1 B4をC4~G4にコピー A5に =A4+7 A5をA5~G9にコピー A10~G10に、日月火水木金土 A11に =IF(AND(A4>0,A4<=$B$1),A4,"") A11をA11~G16にコピー これで、今月のカレンダーが完成 来月1日以前の最後の日曜日と、今月末日との日数の差 I4に =2-WEEKDAY(A2) J4に =I4+1 J4をK4~O4にコピー I5に =I4+7 I5をI5~O9にコピー I10~O10に、日月火水木金土 I11に =IF(AND(I4>0,I4<=$B$2),I4,"") I11をI11~O16にコピー これで、来月のカレンダーが完成 (検算してください)
その他の回答 (3)
「挿入」->「オブジェクト」で表示されるリストのなかから「Microsoft カレンダーコントロール *.*」をクリック。 で如何でしょう。 翌月分用はマクロを組まないといけませんが...
- shkwta
- ベストアンサー率52% (966/1825)
セルに月火水木金土と数字を入れるだけだと思いますが。 あとは、フォントやサイズ、配置、行高・列幅、色、飾りを上手にデザインし、さらに写真や絵をあしらうのもいいでしょう。 数字を全部入れるのが面倒なら、たとえば B2に =A2+1 (左のセルに1を加える) B2に =B1+7 (上のセルに7を加える) などと式を入れてコピーすれば手間を省けます。 (年と月を入力したら自動的にその月のカレンダーが現れる、というのも日付関数を巧妙に使えば可能と思いますが、そういう質問でしょうか。)
補足
お話のとおり、日付関数?のようなものを使用する方法をイメージしております。 できれば、そのシートを開くと常に当月と翌月が表示されているとよいのですが よろしくお願いします。
- gutugutu
- ベストアンサー率14% (184/1234)
過去ログ参照 ご質問の直接の回答ではありませんが参考になると思います。
お礼
ありがとうございました、関数の意味もわからず ひたすら入力したところ2005年8月と9月のカレンダーが完成しました。 もう1つ教えてほしいのですが、例えば2005年10月のカレンダーを作成するときに、あるセルに2005年10月と入力すると10月のカレンダーが作成される設定はできないでしょうか?よろしくお願い致します。マクロを使用してもかまいません。
補足
ありがとうございます、簡単な設定ではないだろうを考えておりました。試してみます。 まだよく分かりませんが、日時の情報はパソコンのもっている日時を利用しているのでしょうか。