久々のEXCELでカレンダー作り

EXCELでカレンダー

横一列とか縦一列に、該当月のカレンダーを表示するのは、出勤簿などでよく使うので、何度も作ってたけど、意外とカレンダー形式って使うことがなかった。

久々にEXCELやってみるぞ。

最終目標として、架空の猫カフェの営業日のみに、Aさん、Bさん、Cさん、Dさんに順繰りに当番を割り当てるイメージ。

定休は”水曜日”、もし、水曜日が祝日ならば、その日は営業し、翌日の”木曜日”がお休みになる。

まずは、5月のカレンダー作成まで。

カレンダーは日曜始まりとする。

西暦を表示

セルA1に西暦、「2020」を入力。

セルの書式設定(Ctr+1)で、表示形式を「ユーザー定義」を選択し、種類に「G/標準”年”」を入力。

月を表示

セルA2には、ドロップダウンで月を選択できるようにします。

セルA2を選択した状態で、データタブのデータツールから「データの入力規則」を選択。

下の画像のように入力して「OK」。

データの入力規則

ドロップダウンから「5」を選択する。

西暦同様、書式設定で「G/標準”月”」とする。

曜日を表示

セルA4に”日”、B4に”月”と入力し、セルA4B4を選択した状態で、カーソルを合わせると右下に現れる”+”をセルG4まで引っ張ると曜日が、”土”まで入力されます。

カレンダーの最初の日付を調べる

カレンダーの始まりが、1日とは限らないのがミソなので、まずは最初の週、つまり5月1日がある週の日曜日が何日なのかを求める。

セルA5に「=DATE($A$1,A2,1)-(WEEKDAY(DATE($A$1,A2,1),1)-1)」と入力。

DATE($A$1,A2,1)で、2020/5/1のシリアル値を求めます。DATE(西暦,月,日) (シリアル値は43952)

WEEKDAY(DATE($A$1,A2,1),1)で、2020/5/1に対応する曜日を1~7の整数で求めています。WEEKDAY(DATE(西暦,月,日),種類) ※WEEKDAY 関数 – Office サポート

求めたシリアル値-(曜日の整数-1)※5月1日は金曜日なので、整数”6”が返るので、そこから”1”引いた数戻ると日曜日の日付になる。(シリアル値43952-(6-1))

日曜日の日付は4月26日(シリアル値43947)。

※セル番地を一部固定($)していますが、後々他の月を作る場合にコピーするためですので、今の段階ではお気になさらずに。

※この段階では、「2020/4/26」と表示されます。後々、表示を整えます。

ここまで出来たら、とりあえずのカレンダー表示はできたようなもの。

隣のセルの日付を求める

セルB5に「=A5+1」と入力。

4月26日に1日プラスしました。

入力したB5をクリックし、セルの右下にカーソルを合わせると現れる”+”をクリックしながら、セルG5までずいッと引っ張ります。

土曜日までの日付が表示されます。

次の週の最初の日付を表示

セルA6に「=G5+1」と入力。

その週の土曜日までの日付を表示

セルB6に「=A6+1」と入力。

カーソルを合わせて、またずいッと土曜日まで引っ張る。

(このあたりは、色々手順ややり方があると思いますがよしなに)

その他の日付を表示させる

セルA6~セルG6を選択した状態で、右端の”+”を下方向に引っ張って、月の最終週まで表示させる。

見た目を整える

セルA5G10を選択した状態で、「セルの書式設定(Ctr+1)」を表示し、表示形式タブで「ユーザー定義」を選択し種類に「d」を入力。

セルの書式設定

これで、「日」のみ表示されました。

文字の大きさや配置などは適宜調整。

該当月以外の日は、文字色を薄く

条件付き書式を使用します。

セルA5~G10を選択した状態で、ホームタブの「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」。

「次の数式を満たす場合に値を書式設定」に「=MONTH(A5)<>$A$2」と入力。

「書式」をクリックして、文字色を薄めのグレーに設定(お好みで)。

まとめ

以上で、最上部のカレンダーのひと月分(5月)はできるはず。

さ~あ、ここからが難題。

果たしてたどり着けるのか?

いつになることやら・・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA