【スプレッドシート】カレンダー日付や曜日を自動表示する方法

作りながら学ぶ!

シリーズ連載を通して、勤怠管理システムを作りながらスプレッドシートを体系的に学ぶ方法を解説。


第4回は「カレンダー日付や曜日を自動表示する方法」について説明していきます。

新しく【勤怠入力】シートを作成し、カレンダーの日付と曜日が自動表示されるようにしましょう。


タマ

全シリーズは以下シートにまとめてます

※スプレッドシート初心者向けの学習を目的とした連載記事となります。勤怠管理システムの実用性には期待しないでください。



※目次をクリックすると
タイトルの先頭まで移動します(↓)

目次

前回のおさらい

前回は、データ入力規則の機能を活用して勤怠管理システムの設定ページを作成しました。

前回の記事はこちら

今回は、その続きで【DATA関数】【TEXT関数】を使って、日付や曜日を自動表示する方法について解説します。

サンプルシート

タマ

サンプルシートを用意しています

のでコピーして参考にしてください


シートを追加する

左下部のボタンをクリックし、新しくシートを追加してください。

spreadsheet-date-day01

タブをドラッグして左下部の設定シートの左横に移動してください。

spreadsheet-date-day02

ワークシート名(シートタブの名前)をダブルクリックし【勤怠入力】に変更してください。

spreadsheet-date-day03

見出しを入力する

セル範囲「A1:J1」に以下項目を入力して見出しを作ってください。

A1:日付
B1:曜日
C1:出勤
D1:退勤
E1:休憩
F1:稼働時間
G1:残業時間
H1:区分
spreadsheet-date-day04

日付を作成する

DATE関数を使ってカレンダーの日付を作成する方法を学びましょう。

DATE関数は「年」「月」「日」の3つの数値から日付データを作成します。

DATE関数の構文はこちら。

=DATE(❶年,❷月,❸日)

【❶年】【❷月】設定シートから値を参照し【❸日】は「1」と入力することで日付が反映されます。

それでは、DATE関数を使って勤怠入力シートに日付を入力してみましょう。

勤怠入力シートのセル「A2」に入力する完成した数式はこうなります。

=DATE('設定'!B1,'設定'!B2,1)

勤怠入力シートのセル「A2」に「=DATE('設定'!B1,'設定'!B2,1)」と直接入力することで値が参照されます。

こちらは、【❶年】設定シートのセル「B1」を参照し、【❷月】セル「B2」を参照しています。

spreadsheet-date-day06

セルを選択しながら数式を作成する方法も覚えておきましょう。

以下❶〜❺の手順で、DATE関数を入力してみてください。

  • 半角で「 =DATE( 」と記入
  • 【設定】シートに移動し参照するセルB1をクリック
  • , (カンマ)」で区切る
  • 【設定】シート「B2」をクリック
  • , (カンマ)」で区切る
  • 数字の「1」を指定
  • 半角「 ) 」で閉じる

日付が反映されました。

spreadsheet-date-day19

表示形式を変更する

「2020/02/01」のままでは桁数が多くて見づらいので、表示形式で変更して「日」だけの表示に変更しておきましょう。

セル「A2」を選択した状態で、メニューバーの表示形式から数字表示形式の詳細設定その他の日付や時刻の形式と選択し【カスタムの日付と時刻の形式】のウィンドウを開いてください。

spreadsheet-date-day07

上部の枠内で日(05)だけを残して、他の要素はキーボードのDeleteで削除してください。

削除できたら適応ボタンをクリックしてください。

spreadsheet-date-day08

「2020/02/01」の表示が「01」に変更されました。

spreadsheet-date-day09

28日までの日付を作成する

次に、「02」から「28」までに日付を作成します。

セル「A3」に「=A2+1」という計算式を入力してください。

この数式は、セル「A2」にプラス「1」をしているので、「2020/02/01」の翌日「2020/02/02」が返されます。

spreadsheet-date-day10

セル「A3」をコピーし、A4からA29までにペースト(貼り付け)してください。

「2020/02/01」に1日ずつプラスされ、01日から28日まで日付が反映されました。

spreadsheet-date-day11

29日から31日までの日付作成については「第5回:うるう年か判定し自動入力する方法」で解説します。


曜日を作成する

TEXT関数を使って日付を曜日に変更しましょう。

TEXT関数は、数値に指定した書式を設定し文字列に変換した結果を返す関数です。

TEXT関数の構文はこちら。

=TEXT(❶数値, ❷表示形式)

【❶数値】で指定された数値が、【❷表示形成】で指定した【表示形式】で結果が返されます。

それでは、TEXT関数を使って勤怠入力シートに曜日を入力してみましょう。

勤怠入力シートのセル「B2」に入力する完成した数式はこうなります。

=TEXT(A2,"ddd")

こちらは、【❶数値】にセル「A2」を指定し、【❷表示形成】に「 "ddd" 」と指定することで、日付データを曜日に変換し反映させてます。

spreadsheet-date-day20

次に、オートフィル機能を使って、セル「B3」をA4からA29までコピペします。

セルの右下に表示されている「■」にカーソルを合わせると「+」に変わるので、これをドラッグしてください。

spreadsheet-date-day21

オートフィルで関数がコピペされ、曜日が反映されました。

spreadsheet-date-day22

TEXT関数に使用できる【表示形式】 には以下の種類があります。

日付 使用例 結果
2月1日 "yyyy/mm/dd" 2020/02/01
2月1日 "yyyy" 2020
2月1日 "mmm" 2月
2月1日 "mm" 02
2月1日 "m" 2
2月1日 "dddd" 土曜日
2月1日 "ddd"
2月1日 "dd" 01
2月1日 "d" 1


まとめ

今回はGoogleスプレッドシートの【DATA関数】と【TEXT関数】の使って「カレンダー日付や曜日を自動表示する方法」についてお伝えしました。

日付や曜日を扱うシートを作るときに役立つスキルとなっています。

どんどん活用していきましょう。

次回は、IF関数・DAY関数・OR関数を使って閏年(うるうどし)を自動判定しカレンダー月末の29日・30日・31日を自動表示&自動非表示する方法 についてお伝えします。