こんにちは、デスクワークラボの吉井良平です。
エクセルを使って、毎月のスケジュール表、シフト表を作られている方も多いと思います。会社だけじゃなく、いろんなサークルやPTAなどでも作られてますよね。
これもちょっとしたコツで毎月の作業が楽になりますので、魔九郎君と一緒に作っていきましょう!
月の最初の一日だけを入力すれば、その後の日付を入力したり、曜日ごとに色を変えたりする必要がなくなりますよ。
今回使用したエクセルファイルはこちら。
営業カレンダーを作ろう
スケジュール表を作ったりするのは、その職場で一番若い人が作ることが多いんじゃないでしょうか。
たかがスケジュール表、されどスケジュール表で、日付だったり書式だったり、割とエクセルを使う時の主要なテクニックが身に付きます。やらされ仕事と思わず、この記事にたどり着いたあなたは将来の見込みがあると思います。ちょっとえらそうですが。
先輩が後輩に引継ぎをするために、この記事にたどり着いたあなたは、持つべきものは優秀な後輩です。きちんと基礎を教えて、自分も楽になりましょう。
まずは大枠を作ろう
スケジュール表に必要なのは、日付と曜日、後は個人名ぐらいでしょうか。
まずはそこまで作りましょう。
次は、ここに日付を入力していきます。
毎月、同じことを入力しなくても良いように、最初の日付だけを入力して、後は足し算で日付が出るようにしてみましょう。
日付も計算できる! エクセルでは、日付は実は数値で表されています。 日付を入力すると、エクセルが勝手に「1900年の1月1日から何日経っているか」を計算してくれているのです。 その数値を、書式設定で「日付」として表示してくれています。 なので、足し算も引き算も出来ます。(使うことはありませんが、かけ算、割り算もできます) この辺、分かりにくいと思いますので、動画で説明しますね。 |
日付をベタで入力するのではなく、足し算で入力するのがまず第一のテクニックです。
次は曜日の欄を作っていきます。
曜日も、「げつ」「か」「すい」・・・と入力して変換していくのではなく、「日付を書式で曜日表示させる」ということが大事です。
曜日は、基本的に入力する必要はありません。こうすれば、曜日を間違えて入力してしまう、ということも無くなります。
曜日の表示 曜日は入力しなくても、書式設定でエクセルが曜日として表示してくれます。便利ですよね。 ○○”曜日”まで表示させたい場合は、aaaa にしてみてください。 |
タイトルもこの応用で、日付から自動的に表示されることにしましょう。
割と「タイトルの変更忘れ」ということも起こりがちです。毎回、使いまわすような表は、あらかじめ設定しておく方が、変更忘れもないし、自分自身も余計なことに気を煩わせることもなくなります。
まぁこう書いている私も、昔はよくタイトルの変更忘れをしていたので、こういうことをするようになったのです。
日付の表示形式に関して yyyyで西暦を表します。 年号(平成○年、令和○年)を入れたい場合は、gggeです。 mは月、mmは月を二ケタで入れたい場合です。(例:07月) その他に表示させたい文字があれば、””(ダブルコーテーション)で囲んで入力します。 |
列幅が広くなってしまったりすることもあるかもしれませんが、その辺は後から調整します。
次は「曜日ごとに色を変える」というテクニックを使っていきましょう。
・ここまでの動画
まずは曜日を数値で表す
「何日が何曜日か」というのは、毎月変わっていきます。なので、普通に土日に色を付けると、毎月色を付けるセルを変更しないといけません。
そうならないように、「条件付き書式」というエクセルの機能を使います。
まずは、エクセルが日付を「土曜日か日曜日か」を判別できるように、曜日を数値で表していきましょう。
WEEKDAY関数 日付から曜日を数値で表すためには、WEEKDAY関数というのを使います。 =WEEKDAY(日付,種類) 種類のところには、 1,2,3 の3種類が選べます。日曜始まりか、月曜始まりか、のどちらかですね。 今回は、土曜日と日曜日が連絡した値にするために、2にしてみます。 この辺はあまり覚えなくても良いので、「曜日を数値に変換できる」ということを覚えておけば大丈夫です。「エクセル 曜日 数値」でググれば、すぐに答えは出てきます。 日付が計算できることを知っていたら、日付を 7で割った余りがどれかの曜日になる、という考え方でもたどりつけます。 |
本当は、わざわざセルに値を入れなくてもできる方法はあるのですが、印刷しなければいいだけの話なので、今回は欄外に曜日の値を入れておきます。
あまりテクニックに凝ると、引継ぎが難しくなってくる面もあるので、この辺りは職場のレベルに合わせる方が良いと個人的には考えています。エクセルのテクニックをひけらかして、職場で引かれても面倒なので、この辺りは周りに合わせるという私の性格によるところもありますが。
条件付き書式を設定しよう
こうすると、土曜日は6、日曜日は7ということになっているはずです。
「6と7の場合だけ色を付ける」という設定をしていきましょう。
L列が6と7の場合、ということで、「5より大きい場合」という条件にします。
セルを選択すると「$L$4」というように、$マークがついて、絶対参照になってしまいます。
Lという列は固定したいので、$マークがついて絶対参照のままでOKです。4という行は、その行ごとに変わって欲しい部分なので、$マークを外して相対参照にします。
「絶対参照、相対参照」というのは、エクセルを使う上では、ほぼ必ずマスターしておいた方が良い機能です。知らなかった方は、この機会にぜひマスターしましょう。知らないと損します。
・ここまでの動画はこちら
休日も設定しよう
ここからはちょっと面倒くさいです。なので、私も実はあまりやらないのですが、一応休日も設定する方法も説明します。
国によって祝日が違うとか、その年によって祝日も変わったりとか、その辺の設定が面倒なので、エクセルはデフォルトでは休日を判定してくれません。
まぁ、会社によっては会社独自の休日もあったりするので、自分で設定せざるを得ない面もあります。ゴールデンウィークとか、製造業の場合は休みが長いですが、サービス業は逆にその間が稼ぎ時、ということもありますし。
ということで、祝日の一覧を別シートで作ります。本当、面倒です。
今回は、VLOOKUP関数で読み込むので、色が出るように7の値を入れておきます。
で、スケジュール表に祝日判定の列を作って祝日をVLOOKUP関数で読み込みます。
これも、関数を凝れば曜日の値の欄に入れることができますが、あまり関数に凝るのもいかがなものか、と思うところもあるので、別の欄に表示させています。
で、祝日一覧の中に無い日付はエラーがでます。エラーが出た場合は、「IFERROR」という関数を使います。
エラーが出たら、「エラーだな・・・」とスルーできる場合は使わなくて大丈夫です。が、見た目の問題で、使うことが結構あると思います。
IFERROR関数 エラーの場合に、別の値を表示させる関数です。 =IFERROR(計算式,エラーの場合の値) 慣れないと面倒くさいですが、関数を使っている限りはエラーから逃れられない運命なのです。 |
これでエラーが出なくなりました。
これだけだと、条件付き書式の方には反映しないので、WEEKDAY関数が入っている部分の関数を、IF関数を使って条件分けしていきます。
IF関数 もし○○ならば××、○○じゃなければ△△、と、条件を付ける関数です。 =IF(条件,真の場合,偽の場合) これも慣れないと面倒くさいですが、ほぼ必須で知っておくべき関数なので、慣れてください。 エクセルでもなんでも、使うと慣れます。世の中の大体のことは、慣れれば何とも思わなくなります。 |
祝日の値が7の時は7が表示されて、それ以外の時はWEEKDAY関数そのままの値が表示されるようにします。
最初は頭がこんがらがると思いますが、それが普通です。
このぐらいは普通に使えるようになった方が良いので、こういうものだと思ってやってみましょう。
・ここまでの動画はこちら
印刷用に調整しよう
あとは印刷するだけです。
罫線をつけたり・・・というのは大丈夫かな、と思いますが、印刷範囲の設定もあるので、一応動画を作っておきました。
これで、毎月の最初の日付だけを変えたら、スケジュール表ができるようになりました。
あと、そういえば、毎月31日とは限らないので、28日までしかない2月の場合は3月分を消す・・・というのもありますが、それは説明するのが大変なので、また機会があれば紹介したいと思います。
日付を数値として扱う、条件付き書式、を使えるようになると、エクセルの使い方の幅が広がりますので、ぜひ身に着けていただきたいテクニックです。
この機会に覚えて損は無いと思いますので(そのために結構丁寧に記事を書いたので)、ぜひ使ってみてください!