その1では、とりあえず形にしましたが、もう少し実用に耐えうるように変更して行きたいと思います。
前回は、モノクロ印刷して、実物のカレンダーとしての実用出来るようなところまでは作りました。
今回は、Excelのファイルとしても、印刷しても、実用に耐えうるようなところまで掘り下げます。
目指すは、
こんな感じです。
Excelはxlsやxlsxといった拡張子のファイルとして管理されています。
まずは、その1で作ったものをファイル保存しましょう。
ファイル名はカレンダーとでもしておきましょうか。
ファイルは、Sheet1、Sheet2、Sheet3、…、といったタブで区切られていることがわかると思います。
では、シートごとに別の月のカレンダーが表示されるようにしてみましょう。
まず、シート名には/(スラッシュ)など使えない文字があります。
シート名に2014/1とかは使えないんですね。
Sheet1を2014-1に変更します。
変更の仕方は、Sheet1を右クリックして、名前の変更です。
シート名が変更されましたので、そのシート名から年月を求める式をD2セルに設定します。
D2セルを、
=DATEVALUE(RIGHT(CELL("filename",D2),LEN(CELL("filename",D2))-FIND("]",CELL("filename",D2))))
にします。
一応複雑なので解説しておくと、
CELL()関数は、セルのいろいろな情報を取得する関数で、第1引数の"filename"は、第2引数のセルを含むファイルのフルパスを返します。
フルパスとは、
ディレクトリ\[ファイル名.拡張子]シート名
という形で返してくるので、FIND()関数で"]"が何文字目なのかを調べて、それより右にあたるところをRIGHT()関数で抜き出したものがシート名になり、それをDATEVALUE()関数でシリアル値に変換しているということになります。
というわけで、CELL()関数のfilenameを利用するためには、ファイル保存しておく必要があるということです。
これで、シート名を
2014年1月
2014-1
Jan-2014
といった書式にしても認識してくれることでしょう。
2014-1シート名を右クリックして、移動またはコピーを選択。
コピーを作成するのチェックを入れ、OK。
シートがコピーされましたが、いろいろなところが#になってしまいましたね。
シート名を正しい月日の書式にしてみてください。
これで、シートのバックアップも出来るということです。
さて、カレンダーに先月や翌月も小さく表示させたいですね。
前回までの講座では、セルが隣り合っていたので、オートフィルなど簡単に行えました。
今回は、列や行を挿入していきます。
説明していませんでしたが、列は縦方向、行は横方向です。
覚え方は、漢字をよく見てください。列は縦に2本、行は横に2本、続けて書きますね。
では、操作がし易いように、今まで広げたセルの列や幅を小さくしましょう。
Aセルをクリックして、Shiftを押しながら、→を押して、Iセルまでを選択します。
A列からI列までが選択されました。
まず、フォントサイズを10くらいにしてしまいましょう。
AとBの間の|をマウスでずらして、幅を50ピクセルくらいにしましょう。
A列からI列が同じ列幅になりました。
続いて、行の高さを変更します。
1セルをクリックして、Shiftを押しながら、↓を押して、9セルまでを選択します。
1行から9行までが選択されました。
1と2の間の-をマウスでずらして、高さを25ピクセルくらいにしましょう。
1行から9行が同じ高さになりました。
では、列を挿入して行きます。
各日にちを3列ずつにしたいので、2列ずつ挿入しましょう。
B列のどこかのセルを選択した状態で、
Altを押しなら、Iを押し、続けてCを押すと、列が挿入されます。
もう一度同じ操作をします。
これで、月曜日と火曜日の間に2列挿入されましたね。
同様の操作で、それぞれの曜日の間に2列挿入しましょう。
続いて、行を挿入して行きます。
2行のどこかのセルを選択した状態で、
Altを押しながら、Iを押し、続けてRを押すと、行が挿入されます。
同様の操作を繰り返し、曜日の行が8行目になるまで繰り返します。
8行目のどこかのセルを選択した状態で、行を挿入します。
曜日の行が9行目になりました。
これで、データの位置関係は出来上がりました。
それでは、セルを結合して行きましょう。
I1セルを選択し、カーソルキーを使って、M6セルまで選択します。
I1からM6まで選択されました。
セルを結合して中央揃えをします。
結合をすると、左上のセルが表示されるのですが、J1セル以外が空白であったために、J1セルの情報がI1セルに移動しました。
同様の操作で、I7からM7、曜日のセルを3セルずつに結合しましょう。
結合作業で、基準のセルはI7セルになりましたので、注意して下さいね。
では、左上の先月のカレンダーを作りましょう。
A1セルからG1セルまでを選択して結合します。
A2セルからG7セルまでを選択し、ホーム→書式→セルの書式設定→表示形式→ユーザー定義で、種類をdとする。
A1セルに、
=DATE(YEAR(I7),MONTH(I7)-1,1)
を入れます。
A2セルに、
=A1-MOD(WEEKDAY(A1)+3,7)-3
B2セルに、
=A2+1
を入れ、G2までオートフィルし、G7までオートフィルする。
A3セルに、
=G2+1
を入れ、A7までオートフィルします。
A2セルからA7セルまでを選択して、フォントの色を赤にする。
G2セルからG7セルまでを選択して、フォントの色を青にする。
B2セルからF2セルまでを選択して、フォントの色を黒にする。
左上の先月のカレンダーの格好がつきましたね。
翌月のカレンダーは、これをコピーしましょう。
A1セルからG7セルまでを選択し、Ctrlを押しながら、Cを押す。
これで、コピーされましたので、
O1セルを選択して、Ctrlを押しながら、Vを押す。
これで、ペーストされました。
O1セルに、
=DATE(YEAR(I7),MONTH(I7)+1,1)
を入れます。
これで、正しく表示されていると思います。
あとは、フォントサイズを調整したり、セルのサイズを調整したり、いろいろやってみてください。
次回は、条件付き書式を使って、カスタマイズしていきたいと思います。
では、よりよりエクセルライフを…
↧
カレンダーを作ろう -その2-
↧