コラム

第147回

スプレッドシートのカレンダーの作成手順を解説!日付入力の設定方法とは

スプレッドシートのカレンダーの作成手順を解説!日付入力の設定方法とはスプレッドシートのカレンダーの作成手順を解説!日付入力の設定方法とは

スプレッドシートでカレンダーという言葉が出てきたとき、話し手が求めているものは同じではありません。

セルに日付を入れやすくしたいのか、月間のカレンダーを作りたいのか、Googleカレンダーの予定を取り込みたいのかなど、用途によってやるべきことはまったく異なります。

本記事では三つの用途を切り分けたうえで、それぞれの設定と作成の手順を説明します。あわせて、スプレッドシートでスケジュールを管理することの限界とその代替策についても触れます。

スプレッドシートのカレンダーが指す三つの用途

イメージ

最初に、自分がどれを求めているのかを確かめておきましょう。ここを取り違えると、必要のない手順を調べることになります。

用途実現する方法難易度
セルに日付を入力しやすくするデータの入力規則で日付を指定する数分で設定できる
月間や年間のカレンダーを作る関数と条件付き書式を組み合わせる、またはテンプレートを使う作り込む範囲による
Googleカレンダーの予定を取り込むGoogle Apps Scriptで連携させるスクリプトの知識が必要

もっとも需要が多いのは一つ目です。日付を毎回手入力していると、表記の揺れが発生して集計しにくくなります。まずはここから解決していきましょう。

カレンダーから日付を入力できるようにする設定

イメージ

セルをダブルクリックすると小さなカレンダーが開き、そこから日付を選べるようにする設定です。入力の手間が減るだけでなく、表記の統一にもつながります。

対象の列を選択し、上部メニューのデータからデータの入力規則を開きます。条件として日付を選び、必要に応じて範囲を指定して保存します。設定後は、そのセルをダブルクリックするとカレンダーが表示され、クリックするだけで日付が入ります。

この設定の本当の価値は、入力の速さではありません。日付として認識される値だけが入る状態を作れることにあります。手入力では、全角の数字や独自の区切り記号が混ざり、後から並べ替えも集計もできない表になりがちです。

入力規則には、条件に合わないデータを拒否するか、警告を表示するだけにするかの選択があります。共有して多くの人が入力するシートでは、拒否する設定にしておくほうが確実です。警告だけでは、そのまま入力されて残ります。

見た目の整え方は表示形式で行います。表示形式から数字、日時と進み、年月日の並びや曜日の表示を指定してください。中身は日付、見た目は表示形式という分担が、扱いやすい表の基本です。

入力規則を日付以外にも広げる

イメージ

日付の入力規則を設定すると、その効果を実感できます。同じ考え方を他の列にも広げると、表全体の質が変わります。

担当者の列にはプルダウンを設定し、選択肢から選ぶ形にしておきましょう。手入力では、同じ人の名前が姓だけだったりフルネームだったりと揺れます。揺れた状態では、担当者ごとの件数を集計できません。

状態を表す列も同様です。未着手、進行中、完了といった選択肢を用意しておけば、集計も色分けも思いどおりに動きます。条件付き書式と組み合わせれば、状態に応じて行の色が変わる表を作れます。

列の種類設定する入力規則得られる効果
日付日付を条件に指定するカレンダーから選べ、並べ替えと集計が可能になる
担当者リストから選択する形にする表記の揺れがなくなり、集計できる
状態限られた選択肢を指定する条件付き書式と組み合わせて視認性が上がる
数量や金額数値の範囲を指定する桁の入力ミスをその場で検出できる

共有して複数人が入力する表ほど、この設定の価値は高まります。入力の自由度を下げることが、データの品質を上げます。作る側が数分をかければ、使う側の全員が恩恵を受けます。

関数で月めくりカレンダーを作る

イメージ

毎月手作業で日付を打ち直しているなら、関数で自動化できます。年と月を入力するだけで、日付と曜日が自動で並ぶ形にしておくと、以後の手間がなくなります。

基本の考え方は、その月の初日を関数で求め、そこから連番で日付を生成するというものです。年と月を入力するセルを用意し、DATE関数でその月の1日を作ります。あとは前のセルに1を足していけば、日付が並びます。

曜日はTEXT関数で表示できます。日付の入ったセルを参照し、曜日を表す書式を指定すれば、日付に応じた曜日が自動で入ります。年と月を変えるだけで、曜日の並びも追随するようになります。

土日に色を付けたい場合は条件付き書式を使います。カスタム数式でWEEKDAY関数を使い、土曜と日曜に該当するセルへ背景色を設定します。祝日については別のシートに一覧を作り、その一覧に含まれるかどうかを判定する数式を組めば対応できます。

  • ・年と月の入力セルを一箇所にまとめ、他はすべて参照で組み立てる
  • ・祝日は年ごとに変わるため、一覧を別シートに分けて更新しやすくしておく
  • ・印刷して使う場合は、印刷範囲と余白を先に設定してから体裁を整える

一度作れば翌年以降も使い回せます。作り込む時間は数時間かかるかもしれませんが、毎月の手作業と比べれば十分に回収できるでしょう。

印刷して掲示する場合の設定

作ったカレンダーを紙で掲示するなら、印刷の設定を先に整えておきましょう。ファイルメニューから印刷を選び、用紙のサイズ、向き、余白、そして印刷する範囲を指定します。画面上で体裁を整えてから印刷設定を触ると、思ったとおりに収まらず調整をやり直すことになります。

ページの区切りが不自然な位置に入る場合は、行の高さと列の幅を調整するか、印刷時の倍率を指定するとよいでしょう。ヘッダーの行を各ページに繰り返す設定も用意されているため、複数ページにわたる表では有効にしておくと読みやすくなります。

共有して複数人で使う場合の保護

関数で組み立てたカレンダーを共有すると、誰かが数式のセルを上書きして壊してしまうことがあります。データメニューのシートと範囲を保護する機能で、数式の入った範囲を編集できないようにしておきましょう。

保護の設定では、編集を許可する人を指定することも、警告を表示するだけにすることもできます。社内で少人数が使う表であれば警告で足りますが、多くの人が触る表では編集そのものを制限したほうが安全でしょう。

カレンダーで使う日付関数の基礎を押さえる

イメージ

カレンダーを自動化するには、日付を扱う関数の性質を知っておく必要があります。いくつか押さえておけば、応用は効きます。

前提として、スプレッドシートは日付を数値として扱っています。表示上は年月日に見えても、内部では連続した数値です。だからこそ、日付に1を足せば翌日になり、日付どうしを引き算すれば日数が求まります。

この性質を理解すると、多くのことが単純になります。締切までの残り日数を出したいなら、締切から今日を引くだけです。月末の日付を求めたいなら、翌月の1日から1を引きます。特別な関数を探す前に、数値としての引き算で解けないかを考えてみましょう。

やりたいこと使う考え方
翌日を求める日付に1を足す
日数の差を求める日付どうしを引き算する
その月の1日を求める年と月を指定して日付を作る関数を使う
曜日を表示する日付を書式で変換する関数を使う
土日を判定する曜日を番号で返す関数の値で判定する

注意点として、日付として認識されていない値には、これらが通用しません。文字列として入力された日付は、見た目が同じでも計算できないのです。計算が合わないときは、まずセルの中身が日付なのか文字列なのかを確認してください。

縦型の一覧カレンダーという選択肢

イメージ

壁掛けのような月めくり型だけが正解ではありません。業務で使うなら、日付を縦に並べた一覧型のほうが実用的な場面が多くあります。

縦型は、一行が一日に対応する形です。日付、曜日、予定、担当者、備考といった列を並べれば、そのまま管理表として機能します。並べ替えも絞り込みも自由にでき、集計関数も素直に使えます。

月めくり型は見た目が直感的ですが、セルの中に情報を詰め込むことになり、後から集計できません。印刷して掲示する用途なら月めくり型、データとして扱うなら縦型。この基準で選ぶとよいでしょう。

スプレッドシートをスケジュール表として使う列設計

イメージ

縦型のカレンダーを業務のスケジュール表として使うなら、列の設計が使い勝手を決めます。後から列を足すと、既存の数式が崩れることもあります。

基本の構成は、日付、曜日、区分、内容、担当者、状態、備考という並びです。日付と曜日を左端に固定しておけば、右へスクロールしても日付を見失いません。列の固定は表示メニューから設定できます。

工程の管理に使う場合は、開始日と終了日を別の列に持たせておきましょう。一つの列に期間を文字で書くと、期間の長さを計算できません。日数を求める必要があるなら、日付は二列に分けておきます。

  • ・日付と曜日の列を左端に固定し、横スクロールでも見失わないようにする
  • ・期間を扱う場合は、開始日と終了日を別の列に持たせる
  • ・土日と祝日は条件付き書式で自動的に色を変える
  • ・フィルタを設定し、担当者や状態で絞り込めるようにする

四つ目のフィルタは、人数が増えるほど効いてきます。全体を見たい人と自分の担当だけを見たい人が、同じ表を別の見え方で使えるようになります。フィルタ表示という機能を使えば、他の人の表示に影響を与えずに絞り込むこともできます。

カレンダーのテンプレートを活用して手間を省く

イメージ

ゼロから作らなければならない理由はありません。用途に近いテンプレートを探し、必要な部分だけ手を入れるほうが早いことも多いのです。

スプレッドシートには年間カレンダーやスケジュールのテンプレートが用意されており、新規作成の画面から選べます。外部で公開されているテンプレートを利用する方法もありますが、業務で使う場合は提供元と共有設定に注意が必要です。

とくに、公開されているファイルをコピーして使う際は、コピー後のファイルの共有範囲を確認しておきましょう。元のファイルの設定を引き継いでいる場合、意図せず社外から閲覧できる状態になることがあります。

条件付き書式でカレンダーの見やすさを作り込む

イメージ

日付が並んだだけの表は読みにくいものです。色の情報を加えると、目で追う負担が大きく下がります。

条件付き書式は、セルの値に応じて自動的に見た目を変える機能です。表示形式メニューから設定でき、数式を使った条件も指定できます。カレンダーの表では、次のような使い方が定番になっています。

  • ・土曜と日曜の行に、それぞれ異なる背景色を付ける
  • ・別シートに用意した祝日の一覧に含まれる日付を色分けする
  • ・今日の日付の行を強調し、開いた瞬間に現在地がわかるようにする
  • ・期限が近い予定を、残り日数に応じて段階的に色を変える

四つ目は工程管理の表で効果を発揮します。期限まで一週間を切ったら黄色、過ぎたら赤という設定にしておけば、一覧を眺めるだけで対応すべき項目が浮かび上がります。人が毎回判断する必要がなくなります。

ただし、色を使いすぎると効果が薄れます。三色までを目安にするとよいでしょう。すべてが目立つ表は、結果として何も目立ちません。強調したいものを絞り込むことが、視認性を上げる近道になります。

Googleカレンダーとスプレッドシートを連携させる

イメージ

実際の予定はGoogleカレンダーにあり、集計はスプレッドシートで行いたい。この要望に応えるには、標準機能だけでは足りません。

Googleカレンダーの予定をスプレッドシートへ書き出すには、Google Apps Scriptを使います。指定した期間の予定を取得し、シートへ行として追加するという処理を書き、時間主導のトリガーで定期実行させる形が一般的です。稼働時間の集計や、会議時間の分析といった用途に使えます。

逆に、スプレッドシートに並べた予定をGoogleカレンダーへ一括登録する処理も同じ仕組みで実現できます。研修日程やシフトを表で作り、確定後にカレンダーへ流し込むといった運用が可能になります。

スクリプトを自社で書けない場合でも、開発を依頼するという選択肢があります。サテライトオフィスは、Google Workspaceの導入支援に加えてGoogle Apps Scriptの個別開発にも対応しています。詳しくはサテライトオフィスの公式ページをご確認ください。

スプレッドシートでのスケジュール管理には限界がある

イメージ

柔軟に作れる反面、スプレッドシートには向いていない使い方もあります。無理に押し込むと、かえって非効率になります。

複数人の予定を突き合わせて空き時間を探す、会議室の重複を防ぐ、変更を関係者へ通知する。こうした処理は、カレンダーの仕組みが本来担う領域です。スプレッドシートで再現しようとすると、更新の抜けや二重予約が起こりやすくなります。

では、どう使い分けるとよいでしょうか。予定そのものはGoogleカレンダーで管理し、スプレッドシートは集計や計画の検討に使う。この役割分担であれば無理がありません。

なお、標準のGoogleカレンダーは、誰の予定かを一覧で把握する用途にはあまり向いていません。縦軸に人、横軸に日付を置いた表形式の表示を求める声は、国産のグループウェアに慣れた組織から特に多く上がります。サテライトオフィスは、こうした日本の商習慣に合わせた組織カレンダーを含むアドオンツールを自社開発しており、導入実績は8万社以上にのぼります。

サテライトオフィスの組織&グループカレンダーfor Google Workspaceの詳細はこちら

用途に合った形を選んでカレンダー運用を整えましょう

イメージ

スプレッドシートでカレンダーを扱う方法は、目的によって三通りに分かれます。まず自分が求めているものを見極めることが、遠回りを避ける近道です。

日付を入れやすくしたいだけなら、データの入力規則を設定するだけで済みます。表として使いたいなら、月めくり型ではなく縦型を検討してみましょう。予定そのものの管理は、カレンダーの仕組みに任せたほうが確実です。

サテライトオフィスはGoogle Cloudプレミアパートナーとして、Google Workspaceのライセンス販売から導入、運用サポート、そして業務に合わせたスクリプト開発までをワンストップで提供しています。

業務課題に対する解決支援や業務効率化、AI活用のことならサテライトオフィスにぜひご相談ください

サテライトオフィスの組織&グループカレンダーfor Google Workspaceの詳細はこちら

※プライバシーポリシはこちら

TOPへ
GoogleEnterpriseProfessional Google Apps for Business