【シフト表作り】月日の入力を完全自動化しよう

【シフト表作り】月日の入力を完全自動化しよう Excel

こんにちは、零二(@ReijiMinami)です。

今回は連載「見やすいシフト表をエクセルで簡単に作る方法」の第1回目です。
シフト表作りで毎月必ず行う、新しい月日の入力の手間を省き、完全に自動化してみましょう。

今日からあなたの職場のシフト表は
年月を入れるだけ日付と曜日の入力が完全自動化されます。

零二
零二

日付と曜日の入力は今日から1秒で終わらせよう!

スポンサードサーチ

自分の職場のシフト表で年月の入力を確認してみる

はじめに、実際に作っていく前に確認してほしいことがあります。
自分の職場のシフト表から以下を確認して下さい。

  1. 年と月は文章ではなく別々のセルに数字だけ入っているか
  2. 年が入力されているセルの場所
  3. 月が入力されているセルの場所

まず1.の確認は重要です。
下の図のような感じでタイトルを付けている方は、今すぐ変えましょう。

良い例は以下の通りです。

これが出来ていないと、次以降の説明が分からなくなってしまうので、注意しましょう。

2.と3.は、年月が入力されているセルの場所の確認でしたね。
今回の例では、年が「A1」、月が「A2」となります。
皆さんは自分の勤務表のセルの場所をメモしておきましょう。

日付を自動入力させる方法

それでは早速、入力された年月をもとに自動で日付を入れていきましょう。

日付のセルの書式設定を変更する

はじめに日付を入力したい場所全てを選択し、書式を「日付のみ表示する」ように設定します。

日付を入力する場所をマウスでドラッグして選択したら、
その場所を右クリック「セルの書式設定」を選択します。

次に、「表示形式」タブの中の分類というところから、
「日付」を選択します。ここではまだOKは押さないで下さい。

続いて「ユーザー定義」を選択します。
右側に「種類」という欄で、「d」だけにします。
「d」とはdayの略で、日付を意味します。

入力したら「OK」を選択します。

月の1日を入力する

それではさっそく日付を入力していきます。

まずは初日の「1日」が入るセルを選択します。
ここで、年月のセルの場所を使って、数式を入力します。

数式は、
=DATE($年が入力されているセル, $月が入力されているセル, 1)
です。

今回の例では、
=DATE($A$1,$A$2,1)
となりました。

この年月が入力されているセルを入力する時、そのセルの場所をクリックすれば自動入力されます。
この時に、F4キーを押すと$マークがつきます。

必ず$マークが2個ついた状態にして下さい。
(詳しくはExcelの絶対参照と相対参照などで調べると分かります。今回はこの説明は割愛させていただきます。)

月の2日から28日まで入力する

次に、2日から28日までの日付を入力します。

2日のセルには、次の数式を入力します。
=1日が入力されているセル+1

ここでは、1日が入力されているのはC3ですので、
=C3+1
となります。($マークは不要)

続いて、28日のセルまでコピーしていきます。

2日のセルを選択し、右下の+マークの部分をマウスでドラッグして引っ張っていきます。

これでどうなるかと言うと、
お隣のセル+1が繰り返されて連番が入力されるようになります。

これで28日までは完了しました。

月の29日以降を入力する

最後に、29日以降を入力します。
どうして28日までと29日以降を分けるのか、勘の良い方なら分かりますよね?

そう、月によって29日以降は存在したりしなかったりするからです。
31日がない月に「31日」が書かれていたら変ですよね?

ここでは、無い日付は空白にするという数式を入力していきます。

上の図は、これからやりたいことを簡潔に説明しています。
このイメージを頭に入れながら、早速29日~31日までのセルの数式を入力していきましょう。

29日のセル

=IF(MONTH(28日のセル)<>MONTH(28日のセル +1),””,28日のセル +1)

30日のセル

=IF(MONTH(28日のセル)<>MONTH(28日のセル+2),””,28日のセル+2)

31日のセル

=IF(MONTH(28日のセル)<>MONTH(28日のセル+3),””,28日のセル+3)

今回の例ですと、28日のセルAD3ですので、それに置き換えて入力すれば完了です。

以上で、年月を変えるだけで日付が全て自動で入力されるはずです。
ちょっと試して確認してみましょう!

曜日を自動入力させる方法

日付が完成したら、次は曜日です。

曜日は日付より簡単に出来ます。
色々やり方はありますが、ここでは日付から曜日を文字として表示させる方法で行います。

まず、1日の曜日を入力するセルを選択します。
数式を入力します。
=TEXT(1日の日付のセル, “aaa”)

ここでは、1日の日付はC3に入力されているので、
=TEXT(C3, “aaa”)
となります。

あとは他の日付の曜日も入力するだけです。
上の図のようにコピーし、31日まで同じ数式を入れれば完成です。

29日~31日までが空白であれば、曜日も空白になるので心配無用です。

本記事で紹介している勤務表のサンプルはこちら

本連載記事の3回目まで終えた時点での勤務表サンプルです。
皆さんの職場に合わせて自由に改変していただいて構いません。

まとめ

いかがでしたでしょうか?

これで年月を入れるだけで、日付や曜日はもう自分で入力する必要がなくなりましたね。
こうして徐々に楽になる工程を増やし、シフト表作りの時間を減らしていけるようやってみましょう。

連載目次: 見やすいシフト表をエクセルで簡単に作る方法

本シリーズでは、見やすいシフト表を時間をかけず少しでも簡単に作れるよう記載しています。

  1. 【シフト表作り】月日の入力を完全自動化しよう~今ここ~
  2. 【シフト表作り】 土日祝の色付けを完全自動化しよう
  3. 【シフト表作り】 勤務日数や休みの数を自動で数えてみよう
  4. ~以下、随時加筆予定~

コメント

タイトルとURLをコピーしました