- ベストアンサー
【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です。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
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年を変えると何年先の カレンダーも可能です。(月も自由に表示可能です)昔の日付が 何曜日であったのかも簡単にわかりますので、非常にべんりですよ。
その他の回答 (5)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 A3に=IF(DAY(DATE($A$1,$A$2+1,0))>=ROW(A1),DATE($A$1,$A$2,ROW(A1)),"")を設定、下方向にコピー B3に=A3を設定、セルの書式設定→表示形式をユーザ定義で(aaa)とし、下方向にコピー
お礼
早々にご回答頂き有り難うございました。 大変参考になりまして、無事通過しました。 これからもよろしくお願いします。
- gyouda1114
- ベストアンサー率37% (499/1320)
このサイトを参考にどうぞ http://www.relief.jp/itnote/archives/001928.php
- maron--5
- ベストアンサー率36% (321/877)
補足: ◆A4の式(2日) A4=IF(A3="","",IF($A$2=MONTH(A3+1),A3+1,"")) ★下にコピー ◆下にコピーする前に、表示形式をユーザー定義で、 d にしてください
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法はいかがでしょう ◆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) として、下にコピー
お礼
早々にご回答頂き有り難うございました。 大変参考になりまして、無事通過しました。 これからもよろしくお願いします。
- mappy0213
- ベストアンサー率26% (1706/6353)
年と月が別セルですのでこの場合曜日は分けたセルのほうが言いと思いますよ どうしても同じセルにしたいのであれば 一度計算用に適当なところに日と曜日を分けておいて 表記したいセルに =(日の書いたセル)&(曜日の書いたセル) って感じにすれば同じセルに表記できます まず曜日の表記ですが 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です
お礼
早々にご回答頂き有り難うございました。 大変参考になりまして、無事通過しました。 これからもよろしくお願いします。
お礼
早々にご回答頂き有り難うございました。 やりたいことが完璧に仕上がりました。 これからもよろしくお願いします。