Googleスプレッドシートで日付が入力されているとき、隣のセルに「曜日」も表示させたいときもあるでしょう。しかしセルの数が多いと、曜日をすべて手動で入力するのは面倒。そのようなときは簡単な関数を入力すると、自動的に曜日を表示できます。本記事では、スプレッドシートで日付の曜日を自動入力する方法や、応用テクニックを画像付きで解説します。
Googleスプレッドシートで日付の「曜日」を入力する方法
スプレッドシートで日付の「曜日」を自動的に入力する方法は、主に以下の2通りです。
・TEXT関数で日付の「曜日」を入力する方法
・カスタム数値形式で日付の「曜日」を入力する方法
TEXT関数で日付の「曜日」を入力する方法
TEXT関数は、数値や日付に表示形式を付けて文字列として返す関数です。下記の手順で「TEXT関数」を使うと、日付の曜日を自動的に入力できます。まずはA列に「2021/12/01」のように適当な日付を入力してから、下記の手順で続けてください。
【1】①日付の横のセルをクリックします。②「=TEXT(A1,”dddd”)」と入力します。なお「=TEXT(A1,”dddd”)」の「A1」という部分には、日付を入力したセルを指定します。A3のセルに日付を入力したのであれば「A3」と指定しましょう
【2】B列のセルに曜日が表示されます
実際には単独ではなく連続した日付の横に、曜日を表示したいことが多いはずです。その場合は、まずA列に連続した日付を入力してから、下記の手順で進めましょう。
【3】B1セルに入力した数式をコピーします
【4】曜日を入力したい範囲を指定して、セルに関数をペーストします
カスタム数値形式で日付の「曜日」を入力する方法
TEXT関数で別のセルに曜日を自動的に表示するのではなく、ひとつのセルに日付と曜日を同時に表示したいこともあるでしょう。下記の手順で「カスタム数値形式」を設定すると簡単に実現できます。
【1】①書式を設定したいセルの範囲を指定します。②メニューにある「表示形式の詳細設定」をクリックします。③「カスタム数値形式」をクリックします
【2】①「yyyy年m月d日(dddd)」と入力します。②「適用」をクリックします
【3】「2021年12月1日(水曜日)」のように、分かりやすい形で日付と曜日が自動的に表示されます
スプレッドシートの「曜日」の表示形式を変更する方法
先ほど紹介した「カスタム数値形式」で、スプレッドシートに曜日を簡単に自動表示できます。同様に操作することで、スプレッドシートの曜日の表示形式を自由に変更可能です。
【1】①書式を変更したいセルを選択し、②「表示形式」→③「数字」→④「カスタム数値形式」と進みます
【2】①一覧から好みの表示形式があれば選択し、②なければ自身で入力します。アルファベットは大文字・小文字どちらでもOKで、「mm」や「dd」のように2つ重ねると「01月09日」のように2桁で表示します。曜日は「ddd」なら1文字で、「dddd」なら「○曜日」と正式名称で表示されます。③「適用」を選択すると反映されます
【3】筆者は「yyyy/mm/dd(ddd)」と入力したので、「2021/12/01(水)」のように、月日は2桁表示で曜日は略称で表示されるようになりました。複雑に感じるかもしれませんが、書式設定は慣れると簡単です
Googleスプレッドシートの特定の曜日に色をつける方法
特定の曜日に色を付けたい場合は、下記の手順で「条件付き書式」を設定すると、曜日の色が自動的に変わります。
【1】①色付けしたいセル全体を選択し、②「表示形式」から③「条件付き書式」へ進みます
【2】①「書式ルール」右側の「▼」をクリックし、②「カスタム書式」を選択します
【3】①筆者は日曜日に色を付けたいので、「=WEEKDAY(A1)=1」と入力しました。「A1」の部分は最初のセル番号で、基本的には変更不要です。最後の「1」は曜日の数字で、日曜日が1で月曜日が2、最後の土曜日が7となります。②「書式設定のスタイル」で色を選び、③「完了」をクリックすると反映されます
【4】①設定した書式の概要が表示され、②指定した書式どおりに曜日に応じて自動的に色が付きます
【5】なお筆者はさらに「=WEEKDAY(A1)=7」の書式も指定し、土曜日は青色、日曜日は赤色で表示するようにしました
スプレッドシートの「曜日」表示の応用的な使い方
スプレッドシートでデータを管理するとき、日付をひとつずつ入力するのは面倒です。そこで「DATE関数」と「EOMONTH関数」を活用すると、年と月を指定しただけで自動的に日付が表示されるシートを作成できます。
1か月に何日間あるかは、1月31日や4月30日のように月によって異なります。また2月は基本的には28日までしかありませんが、うるう年の場合は29日まであります。DATE関数とEOMONTH関数を下記のように組み合わせれば、その月の末日を正確に導いた上で、ずれのない曜日表示が可能です。
【1】A列に「年」、B列に「月」を数値形式で個別に入力します。今回は「2020年2月」を題材に入力しました
【2】①A2セルに「=DATE(A1,B1,1)」と入力します。②2日から28日分までのセルに同様の数式を設定します。たとえば2月28日の数式は「=DATE(A1,B1,28)」です
【3】29日目のセルに「=IF(A6=EOMONTH(A2,0),””,A6+1)」と入力します。(「A6」の部分には28日目のセルを、「A2」の部分には1日目のセルを指定します)
【4】 30日目のセルに「=IF(OR(A7=””,A7=EOMONTH(A2,0)),””,A7+1)」と入力します
【5】C列のセルに冒頭でご紹介した「TEXT関数」を入力します。2020年2月は「29日」までしか存在しないため、A列のセルには「2月30日」は表示されず、C列には正確な曜日が表示されます
【6】年数と月数をたとえば「2021年12月」に変更しても、正しい日数と曜日が表示されるので、カレンダーも簡単に作れます
まとめ
Googleスプレッドシートで「曜日」を自動的に表示できるようにすると、日付ごとに入力する手間が省けます。さらに、「DATE関数」と「EOMONTH関数」も併用すると、どのような月でも日付と曜日が正確かつ簡単に表示できるようになります。