当サイトのコンタクトフォームへ「年間スケジュールの作成」についてご質問が寄せられたので、せっかくなので直接返信ではなく、記事のかたちで回答したいと思います(・∀・)
質問者の方もご了承いただければ幸いですm(_ _)m
コンタクトフォームへ寄せられたご質問
タイトル
年間スケジュールの作成について
本文
ガンチャートの作成について拝読させていただき、凄く参考になりました。
年間スケジュールのように、この月にこれをやりましょう的な自動管理を考えています。
たとえば、
・モーター交換 前回実施2014/5 必要交換時期1年
・オイル交換 前回実施2016/3 必要交換時期3か月というような項目があるとしましたら、
次回交換予定は何年の何月というような予定が、自動でカレンダーに表示出来る管理表の作り方をご教授していけたら幸いです。
回答
月単位で自動管理、ということなのでオーソドックスにDATE関数をメインで考えると自動化できます。
ちなみにご好評だったガントチャートのようなグラフ機能ではなく、関数だけで実現できますよ(*^-^*)
以下、具体的にスクリーンショットを交えて解説していきます。
全体像
イメージとしては、各項目の次回交換予定の該当月のセルに”★”を返すようにしています。
この”★”を条件付き書式で色を強調するなどすると、より視認性が良くなりますね。
入力箇所
入力箇所は青字のセルだけになります。
黒字のセルは関数か固定値になりますので基本いじらない想定です。
ちなみに月のセルは”yyyy/m/d”形式で入力、「必要交換時期」のデータは数値のみで入力します。
関数
「終了月」はDATE関数・YEAR関数・MONTH関数
C3セルに入力した「開始月」を参照し、C4セルはDATE関数などで2年後の「終了月」を返します。
ちなみにC4セルの「終了月」をもう少し掘り下げて解説すると、DATE関数の引数「年」はYEAR関数でC3セルを参照し、「+2」にしています。
これでYEAR関数でC3セルの年の2年後になるわけですね。
その他、DATE関数の引数「月」はC3セルを参照してC3セルと同月にしています。
引数「日」はなんでもいいんですが、一番きれいな形として”1″にしてみました。
あとは、セルの表示形式を”yyyy/mm”にするだけですね。
ちなみに、ここの「開始月」から「終了月」まで1か月単位でF6:AD6の範囲に表示されます。
「次回交換予定」もDATE関数・YEAR関数・MONTH関数
こちらもDATE関数メインです。考え方としては、「前回実施月」の日付に「交換必要時期」の月数を加算します。
たとえば7行目で解説すると、E7セルのDATE関数の引数「年」はYEAR関数でC7セルと同月にしています。
そして、引数「月」は、MONNTH関数でC7セルと同月にした上で「+$D7」のように「交換必要時期」の月数を加算しています。
DATE関数の良いところは、この引数「月」が12月を超える場合は、その分を引数「年」に繰り越してくれるため、結果正しい日付が返る点ですね(*^-^*)
最後に引数「日」は先ほどと同じくなんでもいいんですが、一番きれいな形として”1″にしています。
なお、C7セルがブランクだった場合に備えてIF関数を設置している点もミソです。
冒頭に「=IF($C7=””,””,」にしており、C7セルがブランクだったらブランクになりますよ。
該当月を示す”★”はIF関数
仕上げは「次回交換予定」に該当する月に”★”を表示するようIF関数をセットして終了です。
数式はシンプルに6行目の月と「次回交換予定」が同月だったら”★”、異なる場合はブランクになります。
相対参照・絶対参照をつける行・列のみ注意しましょう。
“★”以外の記号がよければ別な記号にしましょうね。
当サイトの関連記事
Excelでガントチャートをつくる方法 | Excelを制する者は人生を制す ~No Excel No Life~
まとめ
質問者の方には、なかなか本業が忙しくてご回答が遅くなって申し訳なかったです。。
Excelの魅力のひとつとして、人の頭では計算しにくい日付の計算も、関数で簡単に計算できる点ですね。
今回の解説で使用したファイルは下記にリンクをおいておきましたので、ぜひ参考にしていただければ幸いですm(__)m
私でわかる範囲であれば、今回のように回答していきますのでエクセルに関するご質問をお待ちしております。
なお、時間かかる場合ある旨はあらかじめご承知おきくださいませ。
参考ファイル
サンプルファイル_年間スケジュール
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)