Excelでつくったカレンダーをベースにカレンダーを手作りしてみましょう!プロデザイナーがオシャレになるコツを伝授!部屋に飾ればちょっとしたインテリアにもなるオリジナルのカレンダーが簡単にできちゃいます!

クリエイター最終更新日: 20190207

簡単&オシャレに自分だけのオリジナルカレンダーを作ろう!

  • このエントリーをはてなブックマークに追加

「カレンダーが欲しいんだけど、気に入ったものが見つからない…」そんな時はカレンダーを手作りしてみませんか? Excelでつくったカレンダーをベースに、プロデザイナーがオシャレになるコツを伝授! 部屋に飾ればちょっとしたインテリアにもなる、オリジナルのカレンダーが簡単にできちゃいます!

ベースとなるカレンダーを作ろう!

まずは、Excelでベースのレイアウトを作りましょう。
今回はOffice365のExcelを用いてカレンダーを作成します。
A1のセルに、作りたいカレンダーの年月を「2019/1」のような形式で入力します。

※設定によって表示される文字が「2019年1月」「2019/1/1」「Jan-19」など様々な形式になりますが、いったんそのままにしておいてください。

A3からG3までのセルには、あらかじめ曜日を入れておきましょう。
(今回は、後からオシャレにデザインするために、英語表記にしてみました。)

A1のセルに年月を入力A1のセルに年月を入力

WEEKDAY関数で1週目の日付を入れる

次に、「WEEKDAY関数」を使って、A1に設定した年月日から、このカレンダーの1日が始まるセルの位置を決めます。
WEEKDAY関数は、参照した日付の「曜日」を1~7の数字で返す関数です。
1週間は7日間なので、日曜=1、月曜=2、火曜=3となり、土曜=7までの数字が入ります。

<A4に入れるWEEKDAY関数>

=IF(WEEKDAY($A$1)=2,$A$1,"")

「A1が2(月曜)の時はA1の値を入れますが、それ以外は空白」

A4のセルに関数を入力したが空白になったA4のセルに関数を入力したが空白になった

A4のセルは空白になったので、2019年1月1日は月曜ではないことが分かります。
では同じように、火曜日のセル(B4)に

=IF(WEEKDAY($A$1)=3,$A$1,"")

「B4が3(火曜)の時はA1の値を入れますが、それ以外は空白」
と入れて、火曜日から1日が始まるのかどうかを判別します。

火曜日のセル(B4)に「1」が入った火曜日のセル(B4)に「1」が入った

火曜日のセル(B4)に1が入りました!
このセルから日付を入れていくことになります。

B4セルに表示される値が下図のようになってしまう場合はセルの表示形式が日付でないことが考えられます。

B4の値が上図のようになる場合はセルの書式設定を変更するB4の値が上図のようになる場合はセルの書式設定を変更する

日付形式で表示したいセルを右クリックし、「セルの書式設定」を選択します。
表示されたウィンドウ内「表示形式」タブ左カラムの「分類」内にある「ユーザー定義」を選択します。
ここでは日付だけを表示させたいので、「種類」から「d」を選択します。
「種類」の中に「d」がない場合は直接「種類」下の入力ボックスをクリックし、内容を「d」に打ち替えてください。
「d」に変更して「OK」をクリックすると、表示が日付の数字のみになっていることが確認できます。

※同様の方法で、最初に書いたA1セルの表示書式も任意の形に変更することができます。

セルの書式設定で上図のように表示形式を設定するセルの書式設定で上図のように表示形式を設定する

日付が意図通りに表示されることを確認できたら、B4セルに入れるWEEKDAY関数を下記のように書き換えます。

<B4に入れるWEEKDAY関数>

=IF(A4="",IF(WEEKDAY($A$1)=3,$A$1,""),A4+1)

「A4が空白の場合、A1のセルが火曜日ならA1の値を入れる。それ以外は空白。
A4が空白でない場合はA4+1の値を入れる。」

続いて、B4セルに入れた上記の関数をコピーし、C4(水曜日)からG4(日曜日)のセルにペーストし、A1セルの値にあたる部分を曜日に合わせて書き換えると、C4〜G4セルの関数は下記のようになるはずです。(赤字部分が手動で書き換える部分です)

「C4」… =IF(B4=””,IF(WEEKDAY($A$1)=4,$A$1,””),B4+1)
「D4」… =IF(C4=””,IF(WEEKDAY($A$1)=5,$A$1,””),C4+1)
「E4」… =IF(D4=””,IF(WEEKDAY($A$1)=6,$A$1,””),D4+1)
「F4」… =IF(E4=””,IF(WEEKDAY($A$1)=7,$A$1,””),E4+1)
「G4」… =IF(F4=””,IF(WEEKDAY($A$1)=1,$A$1,””),F4+1)

上記を入力した上で、A1セルの年月を書き換えてみると、その月の1日が何曜日かによって日付の表示位置が切り替わるはずです。

A1セルが2019年1月の場合A1セルが2019年1月の場合

A1セルが2019年8月の場合A1セルが2019年8月の場合

日付の下に、祝日の名前を入れる

では次に、祝日を表示させていきましょう。
まず、「list」という名前でシートを追加し、その中に祝日の一覧表を作成します。
わかりやすいように「list」シートのA1セルに「祝日」と入力した上で、A列に日付、B列には祝日の名前を下図のように入力していきます。

日付と祝日の名前をlistシートに入力日付と祝日の名前をlistシートに入力

日付と祝日の名前は一つずつ手作業で入力しても良いですが、内閣府のホームページ等に上図と同じような形でCSV形式のデータが配布されていますので、そちらを活用いただいてもかまいません。

出典:内閣府ホームページ(https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html#syukujitu

カレンダーを作成しているシートに戻って、日付の下のセルに「list」シートから紐付けされるように、関数を入れていきます。

<B5に入れる関数>

=IFERROR(VLOOKUP(B4,list!$A$2:$B$23,2,0),"")

「日付と祝日の一覧にある日付が一致したら、祝日名を入れる。もし該当の値がない場合は空白にする。

listシートの内容を参照して祝日名を表示するように関数を入れるlistシートの内容を参照して祝日名を表示するように関数を入れる

B5セルに先ほどlistシートで入力していた祝日の名前「元日」が表示されることを確認したら、同じ行にあるA5、C5、D5、E5、F5、G5セルにも同様に、下記関数を入力しておきます。
B5セルを選択してコピーし、A5、C5、D5、E5、F5、G5セルにペーストすると各セル内の関数が下記のようになっているはずですのでペーストの上、確認してみてください。
赤字部分がセルごとに変わる部分です)

「A5」… =IFERROR(VLOOKUP(A4,list!$A$2:$B$23,2,0),””)
「C5」… =IFERROR(VLOOKUP(C4,list!$A$2:$B$23,2,0),””)
「D5」… =IFERROR(VLOOKUP(D4,list!$A$2:$B$23,2,0),””)
「E5」… =IFERROR(VLOOKUP(E4,list!$A$2:$B$23,2,0),””)
「F5」… =IFERROR(VLOOKUP(F4,list!$A$2:$B$23,2,0),””)
「G5」… =IFERROR(VLOOKUP(G4,list!$A$2:$B$23,2,0),””)

これで1週目の日付・祝日の設定ができました。続いて2週目以降の設定を進めます。

月末を判別して、2週目以降の日付を入れる

2週目からは、月末が何日なのかを取得する必要があります。月末までは、直前の日に1を足して日付を入れていく関数を入れていきましょう。IFERROR関数とEOMONTH関数を組み合わせます。

月末まで直前の日に1を足して日付を入れる関数を設定月末まで直前の日に1を足して日付を入れる関数を設定

<A7に入れる関数>

=IFERROR(IF(EOMONTH($A$1,0)>=G4+1,G4+1,""),"")

「A1の月末が何日かを調べる。直前の日付がそれより大きいか同じ場合は、直前の日付に+1する」
A列のセルの直前はG列ですからG4、B列の直前のセルはA列です。
A列から一気にG列までコピーすると違う結果になりますので注意してくださいね。

「IFERROR関数」では「=IFERROR(値,エラーの場合の値)」で、
入力値がエラーであった場合、特定の文字列または非表示(空白)にします。

「EOMONTH関数」は「=EOMONTH(開始日,経過月)」で、
開始日から起算して指定された月数の月末の日付を求めることができます。
今回の場合は、当月の月末の日付を算出したいので、経過月は0になっています。

<B7に入れる関数>

= IFERROR(IF(EOMONTH($A$10)>=A7+1,A7+1,""),"")

ここまで来たらあとはB7のセルをコピーしてG列までペーストするだけですが念の為、下記のようになっているか確認してください。

「C7」… = IFERROR(IF(EOMONTH($A$10)>=B7+1,B7+1,””),””)
「D7」… = IFERROR(IF(EOMONTH($A$10)>=C7+1,C7+1,””),””)
「E7」… = IFERROR(IF(EOMONTH($A$10)>=D7+1,D7+1,””),””)
「F7」… = IFERROR(IF(EOMONTH($A$10)>=E7+1,E7+1,””),””)
「G7」… = IFERROR(IF(EOMONTH($A$10)>=F7+1,F7+1,””),””)

A8には1週目と同様に祝日の関数を入れます。
A5のセルをコピーしてA8からG8までペーストします。

これで2週目ができ上がりました!
2週目の数式(A7:G8)をコピーして、3週目の行(A10)にペーストします。

2週目の数式をコピーして、3週目の行にペースト2週目の数式をコピーして、3週目の行にペースト

4週目、5週目も同じようにコピー&ペーストすると、すべての日付を入れることができます。

祝日の日付を赤色にする

せっかく祝日を入れたので、祝日になっている日付は、分かりやすく赤色にしておきましょう。
「ホーム」タブ内の「セルのスタイル」グループにある「条件付き書式」を使います。

日付部分に条件付き書式を設定日付部分に条件付き書式を設定

日付の部分のセルを全て選択します。
離れたセル範囲を選択するには、最初のセルを選択した後、[Ctrl]キーを押しながら離れたセル範囲を選択します。[Ctrl]キーを押さないと、前に選択したセル範囲の選択が解除されてしまうので注意してください。

「ホーム」タブの中の「条件付き書式」>「新しいルール」を選択して「新しい書式ルール」ウィンドウが開いたら、ルールの種類の中にある「数式を使用して、書式設定するセルを決定」を選択します。
祝日の部分のセル(この場合A5のセル)の値の中に“日”が入っていたら、赤字にする書式ルールを設定します。

「次の数式を満たす場合に値を書式設定」のボックス部分に

=SEARCH("日",A5)

と入れます。参照セルをクリックして数式に入力することも出来ますが余計なセルも参照される事があるので手入力をおすすめします。

続いて、数式を入力したボックス右下にある「書式」ボタンをクリックし、開いた「セルの書式設定」ウィンドウ内「フォント」タブの中央付近にある「色」のボックスをクリックし、赤色を選択後、右下「OK」ボタンをクリックします。
先ほどの「新しい書式ルール」ウィンドウ下部の「プレビュー:」部分に表示されている文字が赤色になっていることを確認して、「OK」をクリックします。

祝日に該当する日付の文字色が赤色になった祝日に該当する日付の文字色が赤色になった

「元日」や「成人の日」の入っている日付が赤字になりましたね。
これでカレンダー作りは完了!

いよいよ次から、これをオシャレにデザインする技に入ります。

シンプル&オシャレなカレンダーにしてみよう!

レイアウトを整理する

カレンダーはひと目で日付や曜日が分かることが大切です。レイアウトを整理することによって、ただのエクセルの表には留まらない、考えられたレイアウトのカレンダーにしていきましょう。

実は、先程まで作成したエクセルの表をA4縦でプリントアウトしようとすると、日曜日部分だけはみ出してしまいます。そこで「表示>ページレイアウト」をクリックします。

エクセル

エクセル

A〜Gの列を「Shift」キーを押しながら複数選択し、右クリックで「列の幅」を選択して数値を「2.5cm」にすると、ちょうど良い幅になります。

エクセル

エクセル

作業画面上でデザインを確認しながら進めたいので、「目盛線」は隠しておきましょう。「表示」メニューに「目盛線」のチェックが入っている場所がありますので、そこのチェックを外します。

エクセル

下画像のようにプリント範囲の枠が設定されている場合には「ページレイアウト>印刷範囲>印刷範囲のクリア」を選択すると、黒い枠がなくなります。

エクセル

カレンダーの日付部分(A3〜G18)を選択し、右クリックをして「セルの書式設定>配置>文字の配置」で横位置・縦位置ともに「中央揃え」にします。

エクセル

エクセル

いかがでしょうか!
これだけでも随分と整理されて、見やすくなりました。「デザイン」と言うと難しく感じるかもしれませんが、webやチラシなどを制作する時には、プロのデザイナーも情報の優先順位を整理して、分かりやすい見た目になるように心掛け、伝えたいことがしっかりと伝わるようにしています。このように「どうしたら機能的になるか」を考えて制作すると、一段と良いものができると思います。

エクセル

文字のメリハリを付けて見やすく調整

とは言え、このままでは文字の大きさがすべて同じなので、文字の大きさを調整してカレンダーらしくしていきましょう。まずカレンダーですから、日付が遠くからでも見やすいように大きくしてみましょう。日付の行を「Ctrl」キーを押しながらクリックして、複数選択します。

エクセル

選択できたら、文字の級数を思い切って「36」くらいにしてみましょう。カレンダーっぽくなってきましたね!

エクセル

曜日は順番で、祝日は文字の色である程度把握できるので、小さめに設定しても大丈夫だと思います。曜日の級数は「10」、祝日は「8」あたりに設定してみましょう。このときに忘れてはいけないことをひとつ。現在表示している1月のカレンダーは、祝日が5行目と11行目に入っていますが、他の月を制作する時には、祝日の位置が変わってしまいます。祝日の級数を設定する時には、今表示されている場所だけでなく、必ず祝日が入る行全てに同じ設定をしてください。

エクセル

エクセル

次に、月の表示を調整していきましょう。
右クリックで「セルの書式設定」を選択します。「日付」の「種類」にいろいろな表記の仕方がありますので、お好みのものを選択してください。今回は、できるだけ短めの表記で大きく見せたいと思いますので「Mar-12」と表記されているものにしてみます。これは月の表記を3文字の略称で表記し、西暦の下二桁を併記するということです。

エクセル

月が表記されている行のA〜Gまで選択し、右クリックで「セルの書式設定>配置>文字の配置」で横位置を「左詰め(インデント)」、縦位置を「中央揃え」、その下の「文字の制御」の中の「セルを結合する」にチェックを入れて、OKをクリックしてください。

エクセル

級数を「100」に設定し、バランスを整えるために、月が表記されている行を選択して、右クリックで「行の高さ」を「8cm」に設定します。

エクセル

エクセル

カレンダーらしくなってきましたね!ただ、どことなく西暦の下二桁の表記が大き過ぎる印象がありますので、月だけの表記にしてみましょう。
月が表記されているセルを選択し、右クリックから「セルの書式設定>表示形式>分類>ユーザー定義」を選択します。
いろいろな表記の設定がありますが、一部の表記を紹介します。

「y」
西暦(year)を表しています。「y」「y y」の場合は西暦の下二桁の表記。「y y y」「y y y y」の場合は西暦を4桁で表示します。

「m」
月(month)を表しています。「m」は1文字の表示、「mm」は2文字の表示、「mmm」は3文字の表示、「mmmm」は全て表示します。

「d」
日(day)を表しています。「d」で一桁、「dd」で二桁を表示します。ただし、英語表記の曜日も同じく「d」で表示します。「ddd」で3文字の略称、「dddd」で英語表記を全て表示します。

今回は月を3文字の略称で表示しようと思います。種類の場所に「mmm」と入力するとサンプルで「Jan」と表示されると思いますので「OK」をクリックしてください。

エクセル

最後にフォントを変えて、好みの雰囲気にしてみましょう。PCに入っているフォントでも良いと思いますが、今回はGoogle Fontsからダウンロードした「Overpass(Semi-Bold)」にしてみました。フォントによって雰囲気が様々に変化しますので、いろいろ試してみると面白いと思います。

※Google Fontsのダウンロードの仕方はこちらの記事を参考にしてください。
“パソコンでオリジナルウェルカムボードをおしゃれに作る”
https://www.pc-koubou.jp/magazine/10280

エクセル

これで、シンプルだけどちょっとオシャレ感のあるカレンダーができました。部屋の雰囲気を損ねないものが欲しい人や、予定を書き込みたい人には、こんなタイプのカレンダーがおすすめです。

日頃撮りためた写真を使ってみよう!

次に、日頃撮りためた写真を使ったカレンダーに変えてみましょう!
まずは写真が入るスペースを上部に作るために、レイアウトを調整します。全体的に小さくコンパクトにしてみたいと思います。月の級数を「36」に、日付の級数を「18」に変更します。月の行の高さを右クリックの「行の高さ」を選択して「2cm」に設定します。

エクセル

エクセル

このままでは、日付と日付の幅が級数を小さくしたことにより、全体が広がり過ぎてしまっているので、列の幅を調整します。A〜Gまで選択し右クリックから「列の幅」を選択し「1.5cm」に設定します。

エクセル

各祝日が表記されている行の下の行を縮めて、縦の幅もコンパクトにしましょう。この場合6,9,12,15,18行目を「Ctrl」を押しながら複数選択し、右クリックから「行の高さ」を「0.3cm」に設定します。

エクセル

一番左のAの列を選択し、右クリックから「挿入」を選択して、新しい列を作成します。この新しい列を選択し、右クリックで列の幅を「3.5cm」設定して日付部分を中央に寄せます。

エクセル

エクセル

次に、月を表示している1行目を選択し、「挿入」を選択して新しい行を作成します。この新しい行をドラッグして高さを広げながら、カレンダー全体(19行目まで)が入るように調整しましょう。

エクセル

エクセル

それでは写真を入れていきましょう。「挿入>図>画像」を選択し、予め用意しておいた画像を選択してください。

エクセル

横幅をだいたい12cmくらいにして縦横比を固定し、大きさを調整したら、正方形にトリミングしてひと手間加えた写真にしましょう。

エクセル

配置した写真を選択して右クリックから「トリミング」を選択。トリミングの高さを横幅と同じくらいにして中央に配置します。

エクセル

エクセル

カレンダーの日付部分と写真を中央に配置しましたので、月の表示も真ん中に揃えておきましょう。

エクセル

写真が入ったカレンダーが完成しました!家族やペット、旅行先の風景など、お気に入りの写真を入れたオリジナルカレンダーを安価に作れるので、写真立ても兼ねて部屋に飾ってもいいですね。

エクセル

まとめ

Excelを使うと日付や曜日などの入力の手間を軽減できて、簡単にカレンダーが作れます。さらに上記のようなひと手間を加えると、おしゃれなカレンダーを自分で作ることができます。オリジナルカレンダーなら、書体を別のものに変えたり、他の写真に変えたりすることで、飾る場所や部屋の雰囲気に合わせたデザインに仕上げることもできますよね!
家族で使ったり、地域のイベントで使ったり、サークルで使ったり用途はさまざま!みなさんもぜひ挑戦してみてください!

ライタープロフィール パソコン工房NEXMAG
[ネクスマグ] 編集部

パソコンでできるこんなことやあんなこと、便利な使い方など、様々なパソコン活用方法が「わかる!」「みつかる!」記事を書いています。

記事を
シェア