![見出し画像](https://assets.st-note.com/production/uploads/images/71841221/rectangle_large_type_2_f98d034b6cb5c88727295ba98465ea33.png?width=1200)
予約表をExcelの関数で作る
パソコン教室を経営している山田です。
今回は、教室で使っている予約表を関数を使って作っていきたいと思います。
今回の目標
今回は以下の機能を作ってみました。
年月を指定したら日付を自動的に更新
休日と研修日を予約表に色を付けて分かりやすくする
予約表について
![](https://assets.st-note.com/img/1644399308875-7TyMclSQlm.png?width=1200)
用紙サイズ:A3
1枚に1週間分の予約を記入できる(生徒さんが自分で記入する)
火曜日始まり(日・月はお休みのため)
なぜいまさらこんなものを作るのか
日付を変えて印刷するだけだったので、手入力したほうが早いと怠けていました。
関数を組み合わせるとこんなこともできるというネタ作りもあって今回は頑張ってみました。
作成の流れ
5週間分の予約表の日付を一括で更新
休日・研修日の日にちの一覧を作成
条件付き書式を使ってセルを色分け
1.5週間分の予約表の日付を一括で更新
最初の日付を手入力して、日付+1して月末まで日付を更新しても良いのですが、最初の火曜日がいつか確認するのが面倒なので月を指定したら最初の火曜日を表示するようにしました。
毎月の1日は、DATE関数を使えば簡単に求められます。DATE関数は年・月・1を引数に渡せば、作成できます。
=DATE(年のセル,月のセル,1)
次にWeekday関数を使って火曜日の日にちを求めました。
=DATE(年のセル,月のセル,1)- (Weekday(DATE(年のセル,月のセル,1)-3)
Weekday関数は、日付を引数に渡すと日曜:1、月曜:2、火曜:3・・・と各曜日を整数で返してきます。それを利用して最初の火曜日を計算しました。後は、そのセルに+1して日付を更新しました。
2.休日・研修日の日にちの一覧を作成
休日と研修日の日付を入力した表を作成しました。
![](https://assets.st-note.com/img/1644400629358-IHyiycxyS1.png)
3.条件付き書式を使ってセルを色分け
1日ごとに条件付き書式を設定していきました。
![](https://assets.st-note.com/img/1644400687668-saGHO4FyAc.png?width=1200)
書式ルールの設定、「数式を使用して、書式設定するセルを決定」を選び数式を設定します。
![](https://assets.st-note.com/img/1644400709322-5v4qPqgGVn.png?width=1200)
![](https://assets.st-note.com/img/1644400983034-8BgmnB8YbB.png?width=1200)
COUNTIF関数を使って、該当する日にちがリストに載っているかを確認するようにしました。
次に、条件を満たした場合の書式を指定します。
![](https://assets.st-note.com/img/1644401086746-RrUUuv9hur.png)
この作業を休日の時と研修日の時で実施します。
![](https://assets.st-note.com/img/1644401236549-nXGQL5ctqA.png?width=1200)
第1週目のシートが完成したら、そのシートを第5週分までコピーします。
以上で完成です。
最後に
条件付き書式は、使い方が面倒そうだったので敬遠してきましたが、今回の作業で理解が深まりました。色をセル単位で変えるのか、列で変えるのか、いくつかの範囲で変えるのかで、絶対参照を適用する必要があります。
ご注意ください。