スプレッドシートに入力した日付の曜日を自動表示する方法!TEXT関数について解説

2020年9月29日

Googleスプレッドシートで日付を入力した隣のセルに曜日も入力したいケースがあります。

そんな時にスプレッドシートのセルに入力した日付から曜日を自動的に取得・入力する方法について解説します。

スプレッドシートで勤怠・スケジュール管理

Googleスプレッドシートを使って、勤怠管理やスケジュール管理などを行っている人も多いと思います。

それほど大きくない組織やグループにおいて、複数人でのスケジュール管理を行うのが便利です。

Googleカレンダーなどのスケジュール管理ツールもありますが、シートをカスタマイズして色々なセルに情報を入れられるスプレッドシートのニーズはまだまだ根強いです。

曜日を日付から自動的に表示したい

スプレッドシートでのスケジュール管理を行っていると、曜日の情報を日付から自動的に取得したいケースがあります。

曜日についても月曜日から日曜日までの7つを入力し、オートフィル機能を駆使すれば、1ヶ月分の曜日データをセルで表示できます。

ただ、この方法だと、月の日数によって曜日にずれが生じたら、翌月の曜日も微調整が必要になります。

例えば、2020年9月1日は火曜日ですが、2020年10月1日は木曜日です。

Googleスプレッドシートで月ごとに曜日をコピペしようとしても、微調整が必要になる

10月のシートを9月のシートから作成しようとすると、スプレッドシート上で作成したカレンダー上の曜日の位置を修正する必要になってきます。

やはり、こうした手間を考えると、数式や関数などを使って曜日を自動的に取得できる仕組みが欲しくなります。

TEXT関数で日付から曜日を取得

実は、スプレッドシートには日付から曜日を取得する関数が用意されています。

その関数が「TEXT関数」です。

TEXT関数は、数字や日付、時間といった文字とはデータ形式が異なるものを文字に変換します。

=TEXT(DATE(2020,9,29),"yyyy年MM月")

上記の例では、第一引数のDATE(2020,9,30)という日付データをスプレッドシート上で、「2020年9月」という文字データに変換します。

第二引数には変換するフォーマットを指定するのですが、曜日を出したい際には、"ddd"というフォーマットを使います。

=TEXT(DATE(2020,9,29),"ddd")

この数式が入ったセルには、「火」という文字が表示され、日付を入力することで、曜日を自動的に算出することが可能です。

スプレッドシートの日付から曜日を自動表示する方法

では、スプレッドシートに入力された日付から曜日を自動的に取得・表示する方法を紹介します。

A2セルに日付として「2020/09/29」を入力している場合に、この日付から曜日を取得します。

前述で紹介したTEXT関数を以下のように記載します。

=TEXT(A2, “ddd")

すると、A2セルに入った日付情報から、その日の曜日をスプレッドシートが自動的に計算して表示してくれます。

Googleスプレッドシートに入力した日付の曜日を自動表示する方法!TEXT関数について解説

このように2020年9月29日は火曜と算出してくれました。

さらに連続した日付入った列の隣に曜日を入力したい場合についても紹介します。

連続する日付に対し、TEXT関数で曜日を自動取得する

このようにA列の日付は1つ前のセルに1足すことで、連続する日付が入力されるようになっています。

ここで、B2セルの「=TEXT(A2, “ddd")」を各行にコピーし、オートフィルで対応する第一引数が入るようにします。

Googleスプレッドシートのシートに入力された連続する日付すべてに曜日情報が入るようになる。

これで、1ヶ月といった期間でも、自動的に曜日が算出され表示されるようになります。

この方法ではA列の日付もA2セルに入った日付から、下の行の日付は自動計算され、それに応じた曜日がB列に表示されます。

それによって、1つのセルを修正するだけで、日付と曜日情報がすべて自動的に反映することができます。

曜日自動化で毎月のシート作成が簡単に

前述で紹介した日付と曜日が自動的に反映されるようになることで、毎月のシート作成の作業の手間が削減できます。

例えば、9月のカレンダー管理シートでは2020/09/01と入れているセルに、2020/10/01を入力すれば、10月用の管理シートができます。

コピー+1箇所の修正という2Stepで翌月のシートが準備できるので、大きな省力化・効率化に繋がります。

曜日の表示フォーマットは短縮版と通常版の2種類

なお、曜日のフォーマットは、TEXT関数では2種類用意されています。

  1. 通常版(例 月曜日)
  2. 短縮版(例 月)

短縮版の曜日(月、火、水、木、金、土、日)を1文字表示したい場合は、前述の手順で紹介したように第二引数を"ddd"とします。

通常版の○曜日と表示したい場合には、第二引数を"dddd"に変更すると3文字表示になります。

例えば、さきほど紹介した「2020/09/29」の場合、TEXT(DATE(2020,9,29),"dddd")と入力すると、「火曜日」と表示されます。

表示形式で曜日を表示する方法も

なお、TEXT関数を使用せずに、スプレッドシートの表示形式で日付のセルで曜日も表示する方法もあります。

1.日付が入力されたセルを選択した状態でメニューバー「表示形式」から「数字>表示形式の詳細設定>その他の日付や時刻の形式」を選択します。

スプレッドシートの表示形式で曜日も表示できるようにする方法

2.カスタムの日付と時刻の形式で、「1930年8月5日火曜日」の曜日が入った形式を選択します。

スプレッドシートの日付形式から曜日が入っているものを選択する

3.先程の年、月、日の形式に曜日が追加されるので、通常版でよい場合は「適用」ボタンをクリックします。

※曜日の箇所をクリックすると、曜日の短縮形も選択可能です。

スプレッドシートの日付の表示形式で曜日を短縮版にも変更可能

スプレッドシートの日付を変えることで、曜日も表示できるようになりました。

スプレッドシートの日付の表示形式を変更して、曜日も追加して表示できるように

スプレッドシートの表示形式から日付の表示形式を変更することで、日付と曜日を一括で扱うことができます。

まとめ・終わりに

今回、Googleスプレッドシートで日付から曜日を自動的に取得し、セルに反映させる方法を解説しました。

スプレッドシートのTEXT関数で日付を第一引数、"ddd"を第二引数に指定することで、曜日を表示することができます。

スケジュール管理などで曜日の情報もセルに表示したい場合に、TEXT関数を使えば、手入力が不要になります。

スプレッドシートの構成を工夫すれば、1つのセルに日付を入れるだけで、1ヶ月の日付と曜日を自動表示することが可能です。

TEXT関数や日付のオートフィルを活用し、スプレッドシートによるスケジュール管理を効率化しましょう。