海外で働きたい人募集!ver.2 / LIGセブ島支社
海外で働きたい人募集!ver.2 / LIGセブ島支社
2016.12.22

基本から学べる!Excelで万年カレンダーを作成する方法

村上
(編集部注*2013年7月4日に公開された記事を再編集したものです。)

今年もあっという間に 12 月。そろそろ来年のカレンダーを用意する時期がやってきました。

Excel はなんとなく使えるけど……という方のために、基本もさらっと押さえながら、 Excel ステップアップで万年カレンダーのつくり方をご紹介します。

まずはExcelの基本の確認

Excel は計算できるもの(数値)と計算できないもの(文字列)に分けられる

文字列は日本語入力 ON で入力しますが、数値は日本語入力を OFF にして入力すると Enter キーを 2 回押す手間が省けるのと、慣れてきて関数などを直接入力するときのエラーを回避できるので、ぜひ最初の段階で日本語入力切り替えのクセ付けをしておきましょう。

計算式を作るには頭に「=」を入力する

半角英数で = を入力してから計算式を入力します。関数を入れるときも自動で = が入りますよね。自分で関数を入力するときも日本語入力を OFF にして = から入れていきます。

オートフィルができる

「文字が入っているセルをアクティブにして、右下の■上にマウスを載せ下方向にドラッグする」

オートフィルの対象となるのは月・日・曜日・数値 + 文字列などがオートフィル可能です。その他変わったものだと「子」「甲」などもオートフィルできます。

ステップアップしよう!

複数のセルに同時に同じ文字を入力できる

「最後に選んだセルに「-」を入力 セル確定する際に、Ctrl + Enter ( Mac : option + enter )」

たとえばゲーム表のように、対戦しない部分には「ー」を入力したい場合、もちろんコピー & ペーストでもいいのですが、 Ctrl キー + クリック( Mac : command + クリック)で離れたセルを複数選択して、一番最後のセルに「ー」を入力します。

確定のときに Ctrl + Enter ( Mac : option + enter )を押すと、複数選択していたセルにまとめて入力完了! そのまま中央揃えしてしまいましょう。

複数のセルへの入力が完了したエクセル画面

よく使う関数は直接入力

その日の日付を自動入力する Today 関数などは、 = today ( ) と入れてしまうと早いです。すべて半角英数で入力してくださいね。

名前をつけて保存はF12が早い

大事な書類をつくるときはすぐに名前をつけて保存。これは F12 を押すとすぐに上書き保存のダイアログボックスが表示されます。( Windows のみ)

万年カレンダーをつくってみよう

エクセル上で作成したカレンダー

ここまで読んでくださった方に感謝を込めて、万年カレンダーのつくり方をご提供します。

万年カレンダーとは?

万年カレンダーとは、その名の通り万年使えるカレンダーのことです。 Excel の数式を活用してカレンダーを作成すると、毎月の日月の暦を正確に表示させることができます。一度つくり方に慣れてしまえば、今後長らく役に立つと思うので是非挑戦してみてください。

セルをカレンダーサイズに合わせる

「A行と1行の間にあるここをクリックするか Ctrl+Aで全セル選択 行の高さと列の幅をカレンダーっぽく調整する」

セルを全選択( Ctrl + A )または左上の全選択をクリックして、行の高さと列の幅をお好きなサイズに調整します。

年、月、曜日を入力します

年、月、曜日を入力したエクセルシート

月曜始まりにするか、日曜始まりにするかでこの後の関数が変わります。
今回は日曜始まりをつくっていきますね。

A1に西暦、C1に月を入力して、G1にDate関数を入れます

Date 関数は数字を日付に変換する関数で、「 = date (年,月,日)」と入力をします
今回は「 = date ( A1 のセル, C1 のセル, 1 )」と入れてその月の 1 日を G1 で常に表示させておきます。

「= date ( A1,C1,1)」と入力したエクセルシート

この部分は計算に使うだけなので、文字の色を薄く(最終的には見えないように白)にしておきましょう。

Date関数をうすい色に設定したエクセルシート

日曜日に始まる日付を計算します

先ほど入力した G1 の日付から、日曜日は何日かを計算して引き算をして、前の月の日付を計算します。
まず日曜日の日付を表示させるのに Weekday 関数を使います。

「 = weekday (日付,種類)」の順に入力しますが、

  • 日曜始まり→種類は省略可: = weekday ( G1 )
  • 月曜始まり→1と入力: = weekday ( G1, 1 )

という決まりがあるので、月曜始まりのカレンダーを作っている人は「 = weekday ( G1, 1 )」とする必要があります。気をつけましょう!

「=G1–weekday(G1)+1」を入力したエクセルシート

その月の始まりの日ー日曜日の日付で引き算をしてしまうと、その日 1 日分が足りなくなるので +1 で調整して「 = G1 – weekday ( G1 ) + 1 」となります。

これで日曜日の日付が求められるという仕組みです。
よくわからない人は間違えないように入力だけすれば OK ですよ。

日付だけの表示形式に変更しよう

日付の箇所に「2017/3/26」と表示されているエクセルシート

計算で求めると、 2017 . 3 . 26 と表示されてしまうので、日付の 26 だけが表示されるように形式を変更します。

リボンのセルの書式設定(または command + 1 )でセルの書式設定ダイアログを表示して、一番左の表示形式タブに切り替え、左側一覧からユーザー定義を選んで、種類の中に半角英数で「d」と入力します。

セルの書式設定ダイアログ画面

  • 年→ Y
  • 月→ M
  • 日→ D

という仕組みです。 01 などの 2 桁表示にしたい場合は DD と入力するとなりますよ。

文字の大きさもお好みで調整しておきましょう。

オートフィルで他の日付を完成させよう

B3 には A3 の日付 + 1 で次の日を求めます。 C3 から G3 まではオートフィルで自動計算。

B3に「=A3+1」と入力されたエクセルシート

A4 だけは、 G3 + 1 と再計算(もちろん A3 + 7 でも OK )を入力して、

A4に「=G3+1」と入力されたエクセルシート

B5 も同様に A4 + 1 としてからオートフィル。

B4に「=A4+1」と入力されたエクセルシート

ちょっと面倒ですが後もうちょっとです、がんばって!
A4 から G4 を選択し、まとめて下方向にオートフィルしたらカレンダーとしては完成です!

完成したカレンダー

4月じゃない部分は色を薄くしよう

このままだとどこからが 4 月かわかりにくいので、該当しない月の日付は薄く表示するように「条件付き書式」を使って設定します。

日付が入っている部分をすべて選択して、条件付き書式(「セルの強調表示ルール→日付→数式を使用して〜」を選択)ボックスの中に「 A3 の部分の月が、 C1 に入っている月以外だったら」という条件を組み立てたいので、「 = month ( A3 ) <> $C$1」と入力します。

「条件付き書式」の設定画面

このときに A3 に付いている $ マークは削除します。( C1 はそのまま $C$1 で)
条件付き書式の設定はなんだかおかしくて、カーソルを矢印キーで動かそうとすると、他のセルを拾いに行ってしまうので、面倒ですがマウスクリックで修正をしてください。

 

「=month(A3)<>$C$1」と入力された書式設定画面” width=”1222″ height=”902″ /></p>
<p>書式ボタンをクリックして、文字の色を灰色にします(忘れやすいので忘れずに!)</p>
<h3>でーきあーがりー!</h3>
<p><img title=

1行目の年と月を変えてみて、ちゃんと連動してカレンダーが変われば大成功です。

いかがですか? 万年カレンダーとしては使わないかもしれないですが、この下にメモ要素を追加して印刷用の予定表にしたり、関数って便利で面白いじゃん! という取っ掛かりになれば嬉しいです。

それでは。

【こちらもおすすめ】
エクセルの使い方まとめ
エクセルのショートカットキーまとめ
エクセルの選択型のセルの作り方
エクセルをもっと便利に使うには