お仕事に活かす・・・基礎から学ぶエクセル講座
 
 エクセルをたのしみながら身につけられるよう、日常生活に密接したシステムなどをテーマに、そのシステム作成に必要なExcel関数や、基礎的な操作について解説しています。
Yahoo! JAPAN
登録サイト

 

お仕事に活かす・・・基礎から学ぶエクセル講座のサイトへようこそ

 
ホーム > 面白エクセル > スケジュール管理表・・・(12)

7 スケジュール管理表  12 カレンダーを作る


 2006年から2015年までのスケジュール管理表を作りました
 振替休日を含む祭日も表示、六曜(大安・仏滅・・・)も表示しました

12.カレンダーを作る

  • カレンダーは日〜土の七曜表が見やすいですね

 スケジュール管理表のメインの部分は完成です。
 あとは、体裁を整えるだけ、と思ったのですが、カレンダーって、日曜日から土曜日までの七曜表の形式がやっぱり見やすいですね。

 作ってみましょう。

 まずは、セルJ2からP8に7列×7行の表を作ります。
 1行目に日〜土を入力します。
※セルJ2に「日」と入力して、右下隅のフィルハンドル■を右にドラッグするだけで、順番に土曜日まで入力できますよ。

  • 2行目のどこに1を入れるか

2行目のどこかに1が入ります。

さてどこに入れればいいのでしょうか。

セルJ3にはこんな式を作りました。
   =IF($D$10=J2,1,"")
表と比べてみると、理解できますね。

K3(月曜日)から土曜日まではこんな式です。
セルK3の式
  =IF($D$10=K2,1,IF(J3<>"",J3+1,""))

 少し複雑ですが、スケジュールの表の1日の曜日とカレンダーの1行目の曜日が同じだったら「1」、そうじゃない場合は左に数字が入っていたら(空白でなければ)1をプラスし、それ以外は空白とする。

 K3の式を、P3までコピーします。

 3行目から5行目までは難しいことを考えないで、次のようにします。
【日曜日】上の行の土曜日の数字に1をプラスする
  セルJ4の式:=P3+1
【月〜土】一つ左の数字に1をプラスする。
  セルK4の式:=J4+1  これをP4までコピー

 セルJ4からP4を範囲選択して、下方向に6行目までコピーします。
 セルP6の値は、最大で28、最少で22ですから、問題ありませんね。

セルJ7以降は、どこで「日」の表示を止めるか、が問題です。

まず、J7はこんな式でいいでしょう。

  =IF(DAY(MAX($C$10:$C$40))>=(P6+1),P6+1,"")

この式のミソは左のスケジュール表の「日」の最大値を求めているところです。何日でとめればいいかを判断しています。
 上の行の土曜日の日数に1をプラスしたとき、当月の最大日数を超えているかどうかを判断しています。

これが理解できたら、セルK7です。
エラーの回避を含めた次のような式になります。

=IF(ISERROR(IF(DAY(MAX($C$10:$C$40))>=(J7+1),J7+1,"")),"",
IF(DAY(MAX($C$10:$C$40))>=(J7+1),J7+1,""))

ちょっと複雑になりましたが、ぐっと睨んで、理解してください。
もう少しスマートな式になりそうな気もするんですけどね。

この式を土曜日のセルP7まで、そして、8行目のセルJ8からL8までコピーします。
M8からP8のセルに数字が入ることはありませんから、式を入れる必要もありません。

これで七曜表は完成です。

年月をさまざまに変更してみて、スケジュール表とカレンダーの表示が正常であることを確認してください。



前のステップにもどるスケジュール管理表トップに戻る次のステップに進む

- PR -

NTTのアフィリエイト


介護・医療・福祉の資格
無料資料請求















アクセス増加と広告収入



このページのTOPへ   ホーム > 面白エクセル > スケジュール管理表・・・(12)
 2009.9 Restart
 Copyright お仕事に活かす・・・基礎から学ぶエクセル講座 All rights reserved