こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【Excel】 カレンダーに曜日を表示したい。

こんにちは
カレンダーについての質問です。

    A     B
1 2008(年)
2 11(月)
3  1(日)
4  2(日)
5  3(日)
6  4(日)
・ ・
・ ・
・ ・
31 29(日)
32 30(日)
33 31(日)
※括弧内の文字は表示されていません。

上の表の B3以下のセルに曜日を表示したいのですが、
B3以下の式を教えてください。

また、A列の日をカレンダーに合わせて
31日や閏年の29日の表示、非表示を
制御するにはどうしたら良いでしょうか。

Excel2003です。

投稿日時 - 2008-10-16 09:01:42

QNo.4405273

困ってます

質問者が選んだベストアンサー

   A1   2008(年) B1
  A2    11(月) B2
1日 A3 =DATE(A1,A2,1)   B3 =A3 (書式ユーザー定義 aaa)
2日 A4 =A3+1    B4 =A4
3日 A5 =A4+1    B5 =A5
 ・
 ・
29日  =IF(MONTH(A31+1)=$A$2,A31+1,"")
30日 =IF(A32="","",IF(MONTH(A32+1)=$A$2,A32+1,""))
31日 =IF(A33="","",IF(MONTH(A33+1)=$A$2,A33+1,""))
以上のように、1日に相当するセルには、DATE関数として、年、月、を
それぞれのセルを参照し(例の場合は、A1とA2、日にちを1とする。)
2日以後は、上のセルに+1(A3+1)とし、次の日以後は、セルの右下を
クリックし、コピーしていけば自動的に(A4+1、A5+1)と表示される。
29日目以後は、その状態でいくと、質問に有るように31日がない月
でも31日が表示されるとともに、うるう年でも、29日以後すべて表示
されてしまう。そのため、29日以後の数式を要れ、表示されないように
工夫する必要があります。上記回答でのセル番号がもし、違っている
様であれば修正してお使いください。
私は自分で予定表を作成し、土日にはそれぞれ条件付書式で
色を変化させて表示するようにしていますし、いろいろな工夫が
可能です。(例えば、祭日なども条件付書式で色をへんこすること
も可能です)
この表を応用すると、縦だけでなく横に展開するカレンダー(日程表)
等も簡単に作ることができ、且つ現実の月にあわせて、29日、31日の非表示が可能です。上記の表にすると、2008年を変えると何年先の
カレンダーも可能です。(月も自由に表示可能です)昔の日付が
何曜日であったのかも簡単にわかりますので、非常にべんりですよ。

投稿日時 - 2008-10-16 09:56:22

お礼

早々にご回答頂き有り難うございました。
やりたいことが完璧に仕上がりました。
これからもよろしくお願いします。

投稿日時 - 2008-10-17 14:23:54

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

一例です。
A3に=IF(DAY(DATE($A$1,$A$2+1,0))>=ROW(A1),DATE($A$1,$A$2,ROW(A1)),"")を設定、下方向にコピー
B3に=A3を設定、セルの書式設定→表示形式をユーザ定義で(aaa)とし、下方向にコピー

投稿日時 - 2008-10-16 11:57:49

お礼

早々にご回答頂き有り難うございました。
大変参考になりまして、無事通過しました。
これからもよろしくお願いします。

投稿日時 - 2008-10-17 14:24:45

ANo.5

このサイトを参考にどうぞ
http://www.relief.jp/itnote/archives/001928.php

投稿日時 - 2008-10-16 10:27:13

ANo.4

補足:
◆A4の式(2日)
A4=IF(A3="","",IF($A$2=MONTH(A3+1),A3+1,""))
★下にコピー

◆下にコピーする前に、表示形式をユーザー定義で、 d にしてください

投稿日時 - 2008-10-16 09:57:58

ANo.2

◆こんな方法はいかがでしょう
◆A3の式(1日)
A3=DATE(A1,A2,1)
★表示形式をユーザー定義で、 d とします

◆A4の式(2日)
A4=IF(A3="","",IF($A$2=MONTH(A3+1),A3+1,""))
★下にコピー

◆B3の曜日の式
B3=A3
★表示形式をユーザー定義で、 aaa または (aaa) として、下にコピー

投稿日時 - 2008-10-16 09:55:32

お礼

早々にご回答頂き有り難うございました。
大変参考になりまして、無事通過しました。
これからもよろしくお願いします。

投稿日時 - 2008-10-17 14:22:42

ANo.1

年と月が別セルですのでこの場合曜日は分けたセルのほうが言いと思いますよ どうしても同じセルにしたいのであれば
一度計算用に適当なところに日と曜日を分けておいて
表記したいセルに =(日の書いたセル)&(曜日の書いたセル)
って感じにすれば同じセルに表記できます
まず曜日の表記ですが MID("日月火水木金土",WEEKDAY(セル1),1))
の関数で出来ます MID関数で文字列の配置 weekday関数で1~7までの曜日に対応する値を返してもらいます 最後の1は 日曜から始まる数値を返すってことですね 1:日 2:月・・・・って感じです
セル1には日付の入ったセルを入れるって感じです

日の式は単純ですね まずA3はDATE(A1,A2,1)それ以降は上のセル+1の式にすればOKです セルの書式で日だけを表示するようにします
っで29日以降の式ですが
セルの内容自体は○○年○○月○○日ってなってますから
まずIF(month(A30)<>month(A31)、””、A30+1)
って式を使います これは28日のセルの月と29日のセルの月が
同じかどうかを判断します。 計算で28日のセルに1日足して
コンピュータ上の日が3月になってるか2月のままかを計算します
もしうるう年でないのならもちろんコンピュータ上は3月になりますから違いますので空白を同じなた前日日付に+1をします。
30日31日も同じ計算式でOKです

投稿日時 - 2008-10-16 09:40:47

お礼

早々にご回答頂き有り難うございました。
大変参考になりまして、無事通過しました。
これからもよろしくお願いします。

投稿日時 - 2008-10-17 14:22:08

あなたにオススメの質問