エクセルは日付を扱うのが非常に簡単になっています。今回はエクセルで日付を扱うための基礎を身に着ける目的で、エクセル関数でカレンダーを作ってみます。日付関数を学べばエクセル関数が楽しくなってくると思います!
最終的には1年分のカレンダーを作っていきますが、最初は本当に簡単なものから始めていきますので、段階を踏んでじっくりとカレンダーを作っていきます。
カレンダーはこの記事でどんどん進化させる予定ですので、お楽しみにしてください!
※2020/9/3 セル位置を全体的に改訂してしまいました。ごめんなさい。
目次
シンプルなカレンダーを作ってみる
いまのカレンダーの完成形
対象の月、日にち、曜日が表示されるスタイルです。
カレンダー作成対象の西暦、月を入力するエリアの作成
初めに、エクセルの関数を少し使い簡単なカレンダーを作ってみます。まずはシンプルに一か月のカレンダーです。
A2は西暦、B2は月を入力するセルになります。下記のように入力してください。
- セル「A2」に「2020」
- セル「B2」に「1」
単純に数値を入力するだけですので、特に注意点はないはずです。
DATE関数を使い開始する日付を認識させる
DATE関数は数値から日付に変換する関数です。
DATE(西暦, 月, 日)
例えば DATE(2020, 1, 31)であれば、「2020/1/31」と日付になります。
西暦と月を先に入力したセルを参照して、2020年1月1日の日付を認識させます。(日については1固定)セルA4に下記の関数を埋め込んでください。
=DATE(A2, B2, 1)
DATE関数で、セルA4に「2020/1/1」と表示されるはずです。関数中のセルA2は西暦、セルB2は月を、引数3番目の「1」は単純に1日を指定するために1と入力しています。
DATE関数は何が良いのかを確認するには、セルA2を2019と入れてもらえばわかるかと思いますので、興味のある方は試してみてください。(確認したらセルA2を2020と入れなおしていただいた方が良いです。)
セルA4は「月」を表示するエリアとなりますので、書式設定を変更して「月」部分のみを表示します。
- セルA4を右クリック
- メニューの「セルの書式設定」をクリック
- セルの書式設定が表示されます
- 「表示形式」より「ユーザー設定」を選択
- 右側のエリアの「種類」の下にに「m”月”」と入力する
- 「OK」をクリック
セルA4は「1月」と表示されます。
書式が月だけの表示になっているだけで、内部的には日付のままになっているので安心してください。
日付の「一日」の部分の作成
ここからはエクセルならではのシンプルさで進んでいきます。セル「B4」に日付のついたち部分を作ります。値はセルA4に既にある日付をそのまま利用します。
セルB4に下記を入力してください。
=A4
書式を引き継いでしまい、1月と表示されてしまいますが、ここもちゃんと日付として認識されています。確認するため、セルの書式設定を日付形式にして確認します。(日付形式になっている場合はそのままでOK)
「OK」をクリックすると日付形式になっているのが確認できると思います。
二日以降を表示する
エクセルで日付を簡単に扱える事がわかるのがここのお話になるのですが、既に日付がある場合、それに1を加算することで次の日ができてしまうんです!
セル4に下記を埋め込んでください。
=B4+1
セルC4は「2020/1/2」になりました!日付に1を加算すると次の日になるんです。本当に簡単だと思いませんか??
あとは、セルC4を右に29セル分コピーしてください。
それぞれのセルが1を加算したセルになり、連続の日付になります。
書式を整える
残りは見た目の問題だけになるので、セル「B3」~「AF3」を選択状態にして、「セルの書式設定」を開き、「表示形式」の「ユーザー設定」を選択して、「種類」の下に「d(aaa)」と小文字で入力し、”日(曜日)”形式にします。
「OK」をクリックすると下記のようになります。
これでカレンダーっぽくなりましたね!あとは見やすいようにセルの幅を日付に合わせて適切な長さにしてください。セルA4の「月」の表示部を着色しても良いでしょう。
このカレンダーを作る際に使った関数は、DATE関数一つだった事にお気づきでしょうか?エクセルではとても簡単に扱う事ができると言うのが理解できたかと思います。
これは既にどんなカレンダーにも対応しています!セルA2「西暦」やセルB2の月を自由に入力してみてください。エクセル内では内部でカレンダーを持っていて、うるう年なんかにもきちんと対応されていますので、このように簡単に日付を扱う事が可能なのです。
1年分のカレンダーにする
一か月分のカレンダーですと少し物足りないので一年分に展開していきたいと思います。ここまでの労力より少ない手間で一年分にできるのですが、エクセルの凄さが理解できる例になるので楽しく進んでいきましょう!
次の行に2月分を作っていきます!
セルA4は1月になっていますが、一か月後の日付にしたいのですが、ここで新しい関数が出てきます。
EDATE(日付, 加算する月数)
お分かりと思いますが、その通りです!2020/1/1の一か月後を求めます。
セルA5に下記を入力してください。
=EDATE(A4, 1)
「なんじゃこりゃー!」と思ったかもしれません、がしかし、この数字は日付の「シリアル値」と言いまして、1900年1月1日が1として、積みあがってきた数値なんです。まだ意味が分からないかもしれませんが、ひとまず2020年2月1日であるかを確認するため、セルA5の書式設定を日付にしてみましょう。
いつものようにセルの書式設定を開いて、下記を選択してください。
OKを押してください。(ドキドキ)
ちゃんと2020年2月1日になっていましたので一安心ですね。
確認出来たらセルA5も1月にならい、書式設定を変更します。
OKを押してください。
1月と同じ形式でセルA5は2月と表示されました。
次は2月の「日」の部分を作成します。
セルB4~AF4までを選択してコピー、続けてセルB5にペーストしましょう。
2月が完成しましたが、ここから12月まで一気に行きます!
セルA5~AF5までを選択してコピー、続けてセルA6~A15までを選択しペーストしてください。
ここのステップは一気に10か月分できたこともあり爽快感があったのではないでしょうか??エクセル面白い、ってなりましたかね??
1月、2月と同様に着色しましょう。
うーん、言いたいことはわかります。こんな見にくいカレンダーは使い物になりませんよね。ここまではエクセルの日付関数の基本を身に着けると言う事でしたのでご容赦ください。
単純に見にくいのと…
「後ろの方どうなってんねん!」との怒りの声が聞こえてくるのがわかりますが、このあたりの処理は少しだけ複雑なので次の機会に解決していきますのでお楽しみに!
セルA2を2019などにすると前年のカレンダーにクルリと変わりますので、とりあえずはこの辺を楽しんでいただければありがたい!
うーん。あまり面白くなかったかもしれない。曜日しか変化していないからですね…すみません。
次は完璧な万年カレンダーを作っていきたいと思いますので、またよろしくです!